pax_global_header00006660000000000000000000000064125474315030014516gustar00rootroot0000000000000052 comment=824f3e183f017bd677e268f5a4a5f940936250d5 webcit-9.01-dfsg/000077500000000000000000000000001254743150300136455ustar00rootroot00000000000000webcit-9.01-dfsg/.cvsignore000066400000000000000000000001741254743150300156470ustar00rootroot00000000000000*.o Makefile config.cache config.log config.status config.h.in configure webcit webserver content autom4te.cache setup keys webcit-9.01-dfsg/COPYING000066400000000000000000001040241254743150300147010ustar00rootroot00000000000000Webcit Core is Copyright by the Citadel Development Team 1998 - 2012 Webcit contains components under different Licenses, here their authors and list: Scriptaculous:Copyright (c) 2005-2007 Thomas Fuchs, Marty Haught, Ivan Krstic, Jon Tirsen, Sammi Williams (http://script.aculo.us, http://mir.aculo.us, http://blogs.law.harvard.edu/ivan, http://www.tirsen.com, http://www.oriontransfer.co.nz) MIT-style license. PrototypeJS: Copyright (c) 2005-2008 Sam Stephenson; http://www.prototypejs.org/; MIT License (http://dev.rubyonrails.org/browser/spinoffs/prototype/trunk/LICENSE?format=raw) strcmp: http://kevin.vanzonneveld.net; original by: Waldo Malqui Silva input by: Steve Hilder improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) http://kevin.vanzonneveld.net DatePicker: widget using Prototype and Scriptaculous. (c) 2007 Mathieu Jondet Eulerian Technologies DatePicker is freely distributable under the same terms as Prototype. -> NanoTree: Martin Mouritzen. (martin@nano.dk) LGPL V3 Bubble Tooltips: Alessandro Fulciniti (http://web-graphics.com) Public Domain, GPL V3 by Art Cancro StdExt: Copyright (c) 2005 Michael Schuerig http://www.schuerig.de/michael/javascript/stdext.js LGPL V2.1 or later CSS3PIE: both the Apache license and the GNU General Public License. TinyMCE: Moxiecode tinymce.org LGPL V2.1 or later fineuploader: fineuploader.com GPL V3 * In addition, as a special exception, we hereby declare that our favorite type of software is called "open source" -- NOT "free software" -- and that our favorite operating system is called "Linux" -- NOT "GNU/Linux." We officially reject and denounce Richard Stallman's linguistic fascism. * In addition, as a special exception, the copyright holders give * permission to link the code of portions of this program with the * OpenSSL library under certain conditions as described in each * individual source file, and distribute linked combinations * including the two. * You must obey the GNU General Public License in all respects * for all of the code used other than OpenSSL. If you modify * file(s) with this exception, you may extend this exception to your * version of the file(s), but you are not obligated to do so. If you * do not wish to do so, delete this exception statement from your * version. If you delete this exception statement from all source * files in the program, then also delete it here. GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Preamble The GNU General Public License is an open source "copyleft" license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS webcit-9.01-dfsg/Make_modules000066400000000000000000000002711254743150300161750ustar00rootroot00000000000000# # Make_modules # This file is to be included by Makefile to dynamically add modules to the build process # THIS FILE WAS AUTO GENERATED BY mk_modules_init.sh DO NOT EDIT THIS FILE # webcit-9.01-dfsg/Make_sources000066400000000000000000000002711254743150300162100ustar00rootroot00000000000000# # Make_sources # This file is to be included by Makefile to dynamically add modules to the build process # THIS FILE WAS AUTO GENERATED BY mk_modules_init.sh DO NOT EDIT THIS FILE # webcit-9.01-dfsg/Makefile.in000066400000000000000000000151561254743150300157220ustar00rootroot00000000000000prefix=@prefix@ srcdir=@srcdir@ VPATH=$(srcdir) AUTOCONF=@AUTOCONF@ CC=@CC@ CFLAGS=@CFLAGS@ DEFS=@DEFS@ INSTALL=@INSTALL@ LIBOBJS=@LIBOBJS@ LIBS=@LIBS@ LDFLAGS=@LDFLAGS@ SED=@SED@ SETUP_LIBS=@SETUP_LIBS@ PTHREAD_DEFS=@PTHREAD_DEFS@ LIB_SUBDIRS= PROG_SUBDIRS=@PROG_SUBDIRS@ SUBDIRS=$(LIB_SUBDIRS) $(PROG_SUBDIRS) LOCALEDIR=@LOCALEDIR@ WWWDIR=@WWWDIR@ ETCDIR=@ETCDIR@ HEADERS=calendar.h dav.h messages.h modules_init.h paramhandling.h preferences.h roomops.h subst.h sysdep.h tcp_sockets.h utils.h webcit.h webserver.h # End of configuration section all: buildinfo all-progs-recursive webcit setup buildinfo: echo echo Compiler: $(CC) $(CFLAGS) $(DEFS) $(PTHREAD_DEFS) -c -o $@ echo Linker: $(CC) $(LDFLAGS) $(LIBOBJS) $(LIBS) echo # for VPATH builds (invoked by configure) mkdir-init: mkdir locale .SILENT: .SUFFIXES: .cpp .c .o clean: rm -f *.o webcit webcit setup rm -fr locale/* distclean: clean rm -f Makefile config.cache config.log config.status \ po/webcit/Makefile \ $(srcdir)/TAGS setup: setup.o gettext.o $(CC) $(LDFLAGS) $(LIBOBJS) gettext.o setup.o -o setup \ $(LIBS) $(SETUP_LIBS) webcit: webserver.o context_loop.o ical_dezonify.o \ cookie_conversion.o locate_host.o summary.o \ webcit.o auth.o tcp_sockets.o mainmenu.o serv_func.o who.o marchlist.o \ roomops.o roomlist.o roomtokens.o roomviews.o blogview_renderer.o \ messages.o msg_renderers.o paging.o sysmsgs.o \ useredit.o vcard_edit.o preferences.o html2html.o listsub.o roomchat.o \ graphics.o netconf.o siteconfig.o subst.o bbsview_renderer.o \ calendar.o calendar_tools.o calendar_view.o tasks.o event.o smtpqueue.o \ availability.o iconbar.o icontheme.o crypto.o inetconf.o notes.o wiki.o \ dav_main.o dav_get.o dav_propfind.o dav_report.o fmt_date.o \ dav_options.o autocompletion.o gettext.o tabs.o sieve.o sitemap.o \ dav_delete.o dav_put.o http_datestring.o setup_wizard.o \ downloads.o addressbook_popup.o pushemail.o sysdep.o openid.o \ decode.o modules_init.o paramhandling.o utils.o \ ical_maps.o ical_subst.o static.o feed_generator.o \ $(LIBOBJS) echo LD: webcit $(CC) $(LDFLAGS) -o webcit $(LIBOBJS) \ webserver.o context_loop.o cookie_conversion.o marchlist.o \ webcit.o auth.o tcp_sockets.o mainmenu.o serv_func.o who.o listsub.o \ roomops.o roomlist.o roomtokens.o roomviews.o blogview_renderer.o \ messages.o msg_renderers.o paging.o sysmsgs.o \ useredit.o locate_host.o siteconfig.o subst.o vcard_edit.o roomchat.o \ graphics.o netconf.o preferences.o html2html.o openid.o bbsview_renderer.o \ summary.o calendar.o calendar_tools.o calendar_view.o tasks.o event.o wiki.o \ availability.o ical_dezonify.o iconbar.o icontheme.o crypto.o inetconf.o notes.o \ dav_main.o dav_get.o dav_propfind.o dav_report.o dav_delete.o \ dav_options.o autocompletion.o tabs.o smtpqueue.o sieve.o sitemap.o \ dav_put.o http_datestring.o setup_wizard.o fmt_date.o modules_init.o \ gettext.o downloads.o addressbook_popup.o pushemail.o sysdep.o decode.o \ paramhandling.o utils.o ical_maps.o ical_subst.o static.o feed_generator.o \ $(LIBS) %.o: %.c ${HEADERS} echo "CC $<" $(CC) $(CFLAGS) $(DEFS) $(PTHREAD_DEFS) -c -o $@ $< %.o: %.cpp ${HEADERS} echo "CC+ $<" $(CC) $(CFLAGS) $(DEFS) $(PTHREAD_DEFS) -c -o $@ $< Makefile: $(srcdir)/Makefile.in config.status CONFIG_FILES=Makefile CONFIG_HEADERS= $(SHELL) ./config.status config.status: $(srcdir)/configure $(SHELL) ./config.status --recheck $(srcdir)/configure: $(srcdir)/configure.ac $(srcdir)/aclocal.m4 cd $(srcdir) && $(AUTOCONF) $(srcdir)/aclocal.m4: $(srcdir)/acinclude.m4 cd $(srcdir) && $(ACLOCAL) install: install-bin install-setupbin install-wwwdata install-tinymce install-locale install-cfg install-epic install-bin: test -d $(DESTDIR)$(prefix) || mkdir -p $(DESTDIR)$(prefix) $(INSTALL) webcit $(DESTDIR)$(prefix)/webcit if test -f $(DESTDIR)$(prefix)/webserver; then \ rm -f $(DESTDIR)$(prefix)/webserver; \ ln -s $(DESTDIR)$(prefix)/webcit $(DESTDIR)$(prefix)/webserver; \ fi install-cfg: test -d $(DESTDIR)$(ETCDIR) || mkdir -p $(DESTDIR)$(ETCDIR) $(INSTALL) nogz-mimetypes.txt $(DESTDIR)/$(ETCDIR)/nogz-mimetypes.txt install-setupbin: install-bin $(INSTALL) setup $(DESTDIR)$(prefix)/setup install-wwwdata: test -d $(DESTDIR)$(WWWDIR)/static.local/t || mkdir -p $(DESTDIR)$(WWWDIR)/static.local/t test -d $(DESTDIR)$(WWWDIR)/static/t || mkdir -p $(DESTDIR)$(WWWDIR)/static/t for i in `find static -type d | grep -v .svn` \ ; do \ test -d $(DESTDIR)$(WWWDIR)/$$i || mkdir -p $(DESTDIR)$(WWWDIR)/$$i; \ done for i in `find static -type f | grep -v .svn`; do \ $(INSTALL) $$i $(DESTDIR)$(WWWDIR)/$$i; \ done install-tinymce: test -d $(DESTDIR)$(WWWDIR)/static || mkdir -p $(DESTDIR)$(WWWDIR)/static for i in `find tiny_mce -type d | grep -v .svn` \ ; do \ test -d $(DESTDIR)$(WWWDIR)/$$i || mkdir -p $(DESTDIR)$(WWWDIR)/$$i; \ done for i in \ `find tiny_mce -type f | grep -v .svn` \ ; do \ $(INSTALL) $$i $(DESTDIR)$(WWWDIR)/$$i; \ done install-epic: test -d $(DESTDIR)$(WWWDIR)/static || mkdir -p $(DESTDIR)$(WWWDIR)/static for i in `find epic -type d | grep -v .svn` \ ; do \ test -d $(DESTDIR)$(WWWDIR)/$$i || mkdir -p $(DESTDIR)$(WWWDIR)/$$i; \ done for i in \ `find epic -type f | grep -v .svn` \ ; do \ $(INSTALL) $$i $(DESTDIR)$(WWWDIR)/$$i; \ done install-locale: cd po/webcit/; $(MAKE) for i in `find locale -type d | grep -v .svn` \ ; do \ test -d $(DESTDIR)$(LOCALEDIR)/$$i || mkdir -p $(DESTDIR)$(LOCALEDIR)/$$i; \ done for i in `find locale -type f | grep -v .svn`; do \ $(INSTALL) $$i $(DESTDIR)$(LOCALEDIR)/$$i; \ done TAGS clean-recursive distclean-recursive depend-recursive check-recursive \ mostlyclean-recursive realclean-recursive: @for subdir in $(SUBDIRS); do \ if test -d $$subdir ; then \ target=`echo $@|$(SED) 's/-recursive//'`; \ echo making $$target in $$subdir; \ (cd $$subdir && $(MAKE) $$target) || exit 1; \ fi ; \ done all-progs-recursive install-progs-recursive install-strip-progs-recursive \ uninstall-progs-recursive: # @for subdir in $(PROG_SUBDIRS); do \ # if test -d $$subdir ; then \ # target=`echo $@|$(SED) 's/-progs-recursive//'`; \ # echo making $$target in $$subdir; \ # (cd $$subdir && $(MAKE) $$target) || exit 1; \ # fi ; \ # done all-libs-recursive install-libs-recursive install-strip-libs-recursive \ uninstall-libs-recursive install-shlibs-libs-recursive \ install-shlibs-strip-libs-recursive uninstall-shlibs-libs-recursive: # @for subdir in $(LIB_SUBDIRS); do \ # if test -d $$subdir ; then \ # target=`echo $@|$(SED) 's/-libs-recursive//'`; \ # echo making $$target in $$subdir; \ # (cd $$subdir && $(MAKE) $$target) || exit 1; \ # fi ; \ # done webcit-9.01-dfsg/README.txt000066400000000000000000000327231254743150300153520ustar00rootroot00000000000000 WEBCIT for the Citadel System Copyright (C) 1996-2012 by the authors. Portions written by: Art Cancro Wilfried Goesgens Dave West Thierry Pasquier Nathan Bryant Nick Grossman Andru Luvisi Alessandro Fulciniti Dave Lindquist Matt Pfleger Martin Mouritzen Stefan Garthe This program is open source software released under the terms of the GNU General Public License, version 3. Please read COPYING.txt for more licensing information. WebCit bundles the Prototype JavaScript Framework, writen by Sam Stephenson [http://prototype.conio.net]. These components are licensed to you under the terms of an MIT-style license. WebCit bundles the script.aculo.us JavaScript library, written by Thomas Fuchs [http://script.aculo.us, http://mir.aculo.us]. These components are licensed to you under the terms of an MIT-style license. WebCit bundles the TinyMCE text editor, written by Moxiecode Systems AB (http://tinymce.moxiecode.com/tinymce/docs/credits.html). This component is licensed to you under the terms of the GNU Lesser General Public License. Most of our Icons are taken from the "Essen" set by the people on http://pc.de/icons/. We like to thank them for their astonishing work! Their site explicitly states: "Free for commercial use as well." One or more icons are from Milosz Wlazlo [http://miloszwl.deviantart.com] whose license explicitly allows inclusion in open source projects on the condition of this attribution. WebCit bundles the CSS3PIE library [http://css3pie.com] which is offered under both the Apache license and the GNU General Public License. The Citadel logo was designed by Lisa Aurigemma. INTRODUCTION ------------ Citadel is a sophisticated groupware platform which allows multiple users to simultaneously access the system using a variety of user interfaces. This package (WebCit) is a web based front end and user interface to the Citadel system. What this means in practice is that after you've installed WebCit, users can access all functions of your system using any web browser. Since this may be the first Citadel experience for many new users, the screens have been designed to be attractive and easy to navigate. INSTALLATION ------------ Unlike some web-based packages, WebCit contains its own standalone HTTP engine. As a result, you can get it running quickly without all that tedious mucking about with Apache configuration files and directories. WebCit is not intended to be a general-purpose web server, however -- it *only* provides a front end to Citadel. If you do not have another web server running, you may run WebCit on port 80; however, if you have Apache or some other web server listening on port 80, you must run WebCit on another port. If you do not specify a port number, WebCit will bind to port 2000. To compile from source, enter the usual commands: ./configure --prefix=/usr/local/webcit [or whatever directory you prefer] make make install Package/Ports Maintainers: to make webcit fit smart into LHFS-ified systems read on at the end of this file, Advanced configure options. Then to initialize it: cd /usr/local/webcit ./setup After running setup, you just point your web browser to whatever port you specified, such as: http://your.host.name (or if you specified some other port, such as 2000 in this example...) http://your.host.name:2000 ...and log in. The included "setup" program is basically just an installation helper that asks a series of questions and then adds the appropriate init files to start WebCit. For most installations, this will do just fine. If you have special circumstances, or if you'd prefer to configure WebCit manually, you may skip the setup program. Instead, open /etc/inittab and add an entry something like this: wc:2345:respawn:/usr/local/webcit/webcit Several command-line options are also available. Here's the usage for the "webcit" program: webcit [-i ip_addr] [-p http_port] [-s] [-S cipher_suite] [-g guest_landing_page] [-c] [-f] [remotehost [remoteport]] *or* webcit [-i ip_addr] [-p http_port] [-s] [-S cipher_suite] [-g guest_landing_page] [-c] [-f] uds /your/citadel/directory Explained: -> ip_addr: the IP address on which you wish your WebCit server to run. You can leave this out, in which case WebCit will listen on all available network interfaces. Normally this will be the case, but if you are running multiple Citadel systems on one host, it can be useful. You can also use this option to run Apache and WebCit on different IP addresses instead of different ports, if you have them available. -> http_port: the TCP port on which you wish your WebCit server to run. If you are installing WebCit on a dedicated server, you can use the standard port 80. Otherwise, if port 80 is already occupied by some other web service (probably Apache), then you'll need to select a different port. If you do not specify a port number, WebCit will attempt to use port 80. -> The "guest landing page" is a location on your WebCit installation where unauthenticated guest users are taken when they first enter the root of your site. If guest mode is not enabled on your Citadel server, they will be taken to a login page instead. If guest mode is enabled but no landing page is defined, they will be taken to the Lobby. -> The "-c" option causes WebCit to output an extra cookie containing the identity of the WebCit server. The cookie will look like this: Set-cookie: wcserver=your.host.name This is useful if you have a cluster of WebCit servers sitting behind a load balancer, and the load balancer has the ability to use cookies to keep track of which server to send HTTP requests to. -> The "-s" option causes WebCit to present an HTTPS (SSL-encrypted) web service. If you want to do both HTTP and HTTPS, you can simply run two instances of WebCit on two different ports. -> The "-S" option also enables HTTPS, but must be followed by a list of cipher suites you wish to enable. Please see http://openssl.org/docs/apps/ciphers.html for a list of cipher strings. -> The "-f" option tells WebCit that it is allowed to follow the "X-Forwarded-For:" HTTP headers which may be added if your WebCit service is sitting behind a front end proxy. This will allow users in your "Who is online?" list to appear as connecting from their actual host address instead of the address of the proxy. In addition, the "X-Forwarded-Host:" header from the front end proxy will also be honored, which will help to make automatically generated absolute URL's (for things like GroupDAV and mailing list subscriptions) correct. -> remotehost: the name or IP address of the host on which your Citadel server is running. The default is "localhost". -> remoteport: the port number on which your Citadel server is running. The default is port 504, the IANA-designated standard port for Citadel. -> "uds" is a keyword which tells WebCit that you wish to connect to a Citadel server running on the same computer, rather than using a TCP/IP socket. /your/citadel/directory should be set to the actual name of the directory in which you have Citadel installed (such as /usr/local/citadel). If you run Citadel and WebCit on the same computer, this is recommended, as it will run much faster. GRAPHICS -------- WebCit contains graphics, templates, JavaScript code, etc. which are kept in its "static" subdirectory. All site-specific graphics, however, are fetched from the Citadel server. The "images" directory on a Citadel system contains these graphics. The ones which you may be interested in are: -> background.gif: a background texture displayed under all web pages -> hello.gif: your system's logo. It is displayed along with the logon banner, and on the top left corner of each page. If you would like to deploy a "favicon.ico" graphic, please put it in the static/ directory. WebCit will properly serve it from there. CUSTOMIZATION ------------- The default WebCit installation will create an empty directory called "static.local". In this directory you may place a file called "webcit.css" into the "styles" directory which, if present, is referenced *after* the default stylesheet. If you know CSS and wish to customize your WebCit installation, any styles you declare in static.local/styles/webcit.css will override the styles found in static/styles/webcit.css -- and your customizations will not be overwritten when you upgrade WebCit later. You may also place other files, such as images, in static.local for further customization. CALENDAR SERVICE ---------------- WebCit contains support for calendaring and scheduling. In order to use it you must have libical v0.26 (or newer) on your system. WebCit also provides iCalendar format free/busy data for calendar clients. Unlike with some other servers, there is no need for each user to "publish" free/busy data -- it is generated on-the-fly from the server-side calendar of the user being queried. HTTPS (encryption) SUPPORT -------------------------- WebCit now supports HTTPS for encrypted connections. When a secure server port is specified via the "-s" flag, an HTTPS service is enabled. The service will look in the "keys" directory for the following files: citadel.key (your server's private key) citadel.csr (a certificate signing request) citadel.cer (your server's public certificate) If any of these files are not found, WebCit will first attempt to link to the SSL files in the Citadel service's directory (if Citadel is running on the same host as WebCit), and if that does not succeed, it will automatically generate a key and certificate. It is up to you to decide whether to use an automatically generated, self-signed certificate, or purchase a certificate signed by a well known authority. INTEGRATING INTO APACHE ----------------------- It is best to run WebCit natively on its own HTTP port. If, however, you wish to have WebCit run as part of an Apache web server installation (for example, you only have one IP address and you need to stay on port 80 or 443 in order to maintain compatibility with corporate firewall policy), you can do this with the "mod_proxy" Apache module. The preferred way to do this is to configure a NameVirtualHost for your WebCit installation (for example, http://webcit.example.com) and then proxy that virtual host through to WebCit. The alternative way, which does work but is not quite as robust, is to "mount" the WebCit paths as directory aliases to your main document root. Here is how to configure the NameVirtualHost method (recommended) : #here some of your config stuff like logging, serveradmin... NameVirtualHost www.mydomain.com allow from all ProxyPass / http://127.0.0.1:2000/ ProxyPassReverse / http://127.0.0.1:2000/ # The following line is optional. It allows WebCit's static content # such as images to be served directly by Apache. alias /static /var/lib/citadel/www/static Here is how to configure the "subdirectory" method (not recommended) : #here some of your config stuff like logging, serveradmin... NameVirtualHost www.mydomain.com allow from all allow from all allow from all allow from all ProxyPass /webcit/ http://127.0.0.1:2000/webcit/ ProxyPassReverse /webcit/ http://127.0.0.1:2000/webcit/ ProxyPass /listsub/ http://127.0.0.1:2000/listsub/ ProxyPassReverse /listsub/ http://127.0.0.1:2000/listsub/ ProxyPass /groupdav/ http://127.0.0.1:2000/groupdav/ ProxyPassReverse /groupdav/ http://127.0.0.1:2000/groupdav/ ProxyPass /who_inner_html http://127.0.0.1:2000/who_inner_html ProxyPassReverse /who_inner_html http://127.0.0.1:2000/who_inner_html ADVANCED CONFIGURATION OPTIONS ------------------------------ If you are building packages and prefer not to have WebCit reside entirely in a single directory, there are several compile-time options available. --with-wwwdir defines where webcit should locate and search its templates and images. --with-localedir defines where to put webcits locale files. Also, there are possibilities to load the TinyMCE editor into a system-wide location. WebCit uses this standard component to compose its messages for messages and postings. Several WebCit installations that may differ in design but use the same TinyMCE (which is the default that WebCit ships with) (set --with-editordir for that, it defaults to the dir the templates go) Install targets have diversified to reflect these changes too: (make install-.....) locale: the webcit .mo files for gettext & locales. tinymce: the editor. if your system brings one, just ommit this. wwwdata: our templates. setupbin: if you want to use webcits setup facility... but isn't needed in case you provide own init & config scripts. bin: the binaries. CONCLUSION ---------- That's all you need to know to get started. If you have any questions or comments, visit the Citadel Support room on UNCENSORED! BBS, the home of Citadel: http://uncensored.citadel.org/dotgoto?room=Citadel%20Support webcit-9.01-dfsg/acinclude.m4000066400000000000000000000030121254743150300160320ustar00rootroot00000000000000# CIT_STRUCT_TM # ------------------ # Figure out how to get the current GMT offset. If `struct tm' has a # `tm_gmtoff' member, define `HAVE_STRUCT_TM_TM_GMTOFF'. Otherwise, if the # external variable `timezone' is found, define `HAVE_TIMEZONE'. AC_DEFUN([CIT_STRUCT_TM], [AC_REQUIRE([AC_STRUCT_TM])dnl AC_CHECK_MEMBERS([struct tm.tm_gmtoff],,,[#include #include <$ac_cv_struct_tm> ]) if test "$ac_cv_member_struct_tm_tm_gmtoff" != yes; then AC_CACHE_CHECK(for timezone, ac_cv_var_timezone, [AC_TRY_LINK( [#include ], [printf("%ld", (long)timezone);], ac_cv_var_timezone=yes, ac_cv_var_timezone=no)]) if test $ac_cv_var_timezone = yes; then AC_DEFINE(HAVE_TIMEZONE, 1, [Define if you don't have `tm_gmtoff' but do have the external variable `timezone'.]) fi fi ])# CIT_STRUCT_TM AC_DEFUN([AC_CHECK_DB],[ for lib in $1 do AS_VAR_PUSHDEF([ac_tr_db], [ac_cv_db_lib_${lib}])dnl bogo_saved_LIBS="$LIBS" LIBS="$LIBS -l$lib" AC_CACHE_CHECK([for db_create in -l${lib}], ac_tr_db, [AC_TRY_LINK([#include ], [int foo=db_create((void *)0, (void *) 0, 0 )], [AS_VAR_SET(ac_tr_db, yes)], [AS_VAR_SET(ac_tr_db, no)]) ]) AS_IF([test AS_VAR_GET(ac_tr_db) = yes], [$2 LIBS="$bogo_saved_LIBS" SERVER_LIBS="$SERVER_LIBS -l$lib" db=yes], [LIBS="$bogo_saved_LIBS" db=no]) AS_VAR_POPDEF([ac_tr_db])dnl test "$db" = "yes" && break done if test "$db" = "no"; then $3 fi ])# AC_CHECK_DB webcit-9.01-dfsg/aclocal.m4000066400000000000000000000102671254743150300155130ustar00rootroot00000000000000# generated automatically by aclocal 1.11.1 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 6 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) m4_include([acinclude.m4]) webcit-9.01-dfsg/addressbook_popup.c000066400000000000000000000036141254743150300175400ustar00rootroot00000000000000/* * AJAX-powered auto-completion * * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software: you can redistribute it and/or modify * it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" /* * Address book popup results */ HashList* GetAddressbookList() { HashList *List = NULL; const StrBuf *WhichAddrBook; StrBuf *saved_roomname; StrBuf *Name; StrBuf *Line; long BufLen; int IsLocalAddrBook; WhichAddrBook = SBSTR("which_addr_book"); IsLocalAddrBook = strcasecmp(ChrPtr(WhichAddrBook), "__LOCAL_USERS__") == 1; if (IsLocalAddrBook) { serv_puts("LIST"); } else { /* remember the default addressbook for this room */ set_room_pref("defaddrbook", NewStrBufDup(WhichAddrBook), 0); saved_roomname = NewStrBufDup(WC->CurRoom.name); gotoroom(WhichAddrBook); serv_puts("DVCA"); } Line = NewStrBuf(); StrBuf_ServGetln(Line); if (GetServerStatus(Line, NULL) == 1) { List = NewHash(1, NULL); while (BufLen = StrBuf_ServGetln(Line), ((BufLen >= 0) && ((BufLen != 3) || strcmp(ChrPtr(Line), "000")))) { if (IsLocalAddrBook && (BufLen > 5) && (strncmp(ChrPtr(Line), "SYS_", 4) == 0)) { continue; } Name = NewStrBufPlain(NULL, StrLength(Line)); StrBufExtract_token(Name, Line, 0, '|'); Put(List, SKEY(Name), Name, HFreeStrBuf); } SortByHashKey(List, 1); } if (!IsLocalAddrBook) { gotoroom(saved_roomname); FreeStrBuf(&saved_roomname); } return List; } void InitModule_ADDRBOOK_POPUP (void) { RegisterIterator("ITERATE:ABNAMES", 0, NULL, GetAddressbookList, NULL, NULL, CTX_STRBUF, CTX_NONE, IT_NOFLAG); } webcit-9.01-dfsg/auth.c000066400000000000000000000554241254743150300147640ustar00rootroot00000000000000/* * These functions handle authentication of users to a Citadel server. * * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software: you can redistribute it and/or modify * it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" #include extern uint32_t hashlittle( const void *key, size_t length, uint32_t initval); /* * Access level definitions. This is initialized from a function rather than a * static array so that the strings may be localized. */ char *axdefs[7]; void initialize_axdefs(void) { /* an erased user */ axdefs[0] = _("Deleted"); /* a new user */ axdefs[1] = _("New User"); /* a trouble maker */ axdefs[2] = _("Problem User"); /* user with normal privileges */ axdefs[3] = _("Local User"); /* a user that may access network resources */ axdefs[4] = _("Network User"); /* a moderator */ axdefs[5] = _("Preferred User"); /* chief */ axdefs[6] = _("Admin"); } /* * Display the login screen * mesg = the error message if last attempt failed. */ void display_login(void) { begin_burst(); output_headers(1, 0, 0, 0, 1, 0); do_template("login"); end_burst(); } /* Initialize the session * * This function needs to get called whenever the session changes from * not-logged-in to logged-in, either by an explicit login by the user or * by a timed-out session automatically re-establishing with a little help * from the browser cookie. Either way, we need to load access controls and * preferences from the server. * * user the username * pass his password * serv_response The parameters returned from a Citadel USER or NEWU command */ void become_logged_in(const StrBuf *user, const StrBuf *pass, StrBuf *serv_response) { wcsession *WCC = WC; StrBuf *Buf; StrBuf *FloorDiv; WCC->logged_in = 1; if (WCC->wc_fullname == NULL) WCC->wc_fullname = NewStrBufPlain(NULL, StrLength(serv_response)); StrBufExtract_token(WCC->wc_fullname, serv_response, 0, '|'); StrBufCutLeft(WCC->wc_fullname, 4 ); if (WCC->wc_username == NULL) WCC->wc_username = NewStrBufDup(user); else { FlushStrBuf(WCC->wc_username); StrBufAppendBuf(WCC->wc_username, user, 0); } if (WCC->wc_password == NULL) WCC->wc_password = NewStrBufDup(pass); else { FlushStrBuf(WCC->wc_password); StrBufAppendBuf(WCC->wc_password, pass, 0); } WCC->axlevel = StrBufExtract_int(serv_response, 1, '|'); if (WCC->axlevel >= 6) { WCC->is_aide = 1; } load_preferences(); Buf = NewStrBuf(); serv_puts("CHEK"); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 2) { const char *pch; pch = ChrPtr(Buf) + 4; /*WCC->new_mail =*/ StrBufExtractNext_long(Buf, &pch, '|'); WCC->need_regi = StrBufExtractNext_long(Buf, &pch, '|'); WCC->need_vali = StrBufExtractNext_long(Buf, &pch, '|'); if (WCC->cs_inet_email == NULL) WCC->cs_inet_email = NewStrBuf(); StrBufExtract_NextToken(WCC->cs_inet_email, Buf, &pch, '|'); } get_preference("floordiv_expanded", &FloorDiv); WCC->floordiv_expanded = FloorDiv; FreeStrBuf(&Buf); FlushRoomlist(); } /* * modal/ajax version of 'login' (username and password) */ void ajax_login_username_password(void) { StrBuf *Buf = NewStrBuf(); serv_printf("USER %s", bstr("name")); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 3) { serv_printf("PASS %s", bstr("pass")); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 2) { become_logged_in(sbstr("name"), sbstr("pass"), Buf); } } /* The client is expecting to read back a citadel protocol response */ wc_printf("%s", ChrPtr(Buf)); FreeStrBuf(&Buf); } /* * modal/ajax version of 'new user' (username and password) */ void ajax_login_newuser(void) { StrBuf *NBuf = NewStrBuf(); StrBuf *SBuf = NewStrBuf(); serv_printf("NEWU %s", bstr("name")); StrBuf_ServGetln(NBuf); if (GetServerStatus(NBuf, NULL) == 2) { become_logged_in(sbstr("name"), sbstr("pass"), NBuf); serv_printf("SETP %s", bstr("pass")); StrBuf_ServGetln(SBuf); } /* The client is expecting to read back a citadel protocol response */ wc_printf("%s", ChrPtr(NBuf)); FreeStrBuf(&NBuf); FreeStrBuf(&SBuf); } /* * Try to create an account manually after an OpenID was verified */ void openid_manual_create(void) { StrBuf *Buf; /* Did the user change his mind? Pack up and go home. */ if (havebstr("exit_action")) { begin_burst(); output_headers(1, 0, 0, 0, 1, 0); do_template("authpopup_finished"); end_burst(); return; } /* Ok, let's give this a try. Can we create the new user? */ Buf = NewStrBuf(); serv_printf("OIDC %s", bstr("name")); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 2) { StrBuf *gpass; gpass = NewStrBuf(); serv_puts("SETP GENERATE_RANDOM_PASSWORD"); StrBuf_ServGetln(gpass); StrBufCutLeft(gpass, 4); become_logged_in(sbstr("name"), gpass, Buf); FreeStrBuf(&gpass); } FreeStrBuf(&Buf); /* Did we manage to log in? If so, continue with the normal flow... */ if (WC->logged_in) { if (WC->logged_in) { begin_burst(); output_headers(1, 0, 0, 0, 1, 0); do_template("authpopup_finished"); end_burst(); } } else { /* Still no good! Go back to teh dialog to select a username */ const StrBuf *Buf; putbstr("__claimed_id", NewStrBufDup(sbstr("openid_url"))); Buf = sbstr("name"); if (StrLength(Buf) > 0) putbstr("__username", NewStrBufDup(Buf)); begin_burst(); output_headers(1, 0, 0, 0, 1, 0); wc_printf(""); do_template("openid_manual_create"); wc_printf(""); end_burst(); } } /* * Perform authentication using OpenID * assemble the checkid_setup request and then redirect to the user's identity provider */ void do_openid_login(void) { char buf[4096]; snprintf(buf, sizeof buf, "OIDS %s|%s/finalize_openid_login|%s", bstr("openid_url"), ChrPtr(site_prefix), ChrPtr(site_prefix) ); serv_puts(buf); serv_getln(buf, sizeof buf); if (buf[0] == '2') { syslog(LOG_DEBUG, "OpenID server contacted; redirecting to %s\n", &buf[4]); http_redirect(&buf[4]); return; } begin_burst(); output_headers(1, 0, 0, 0, 1, 0); wc_printf(""); escputs(&buf[4]); wc_printf(""); end_burst(); } /* * Complete the authentication using OpenID * This function handles the positive or negative assertion from the user's Identity Provider */ void finalize_openid_login(void) { StrBuf *Buf; wcsession *WCC = WC; int linecount = 0; StrBuf *result = NULL; StrBuf *username = NULL; StrBuf *password = NULL; StrBuf *logged_in_response = NULL; StrBuf *claimed_id = NULL; if (havebstr("openid.mode")) { if (!strcasecmp(bstr("openid.mode"), "id_res")) { Buf = NewStrBuf(); serv_puts("OIDF"); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 8) { urlcontent *u; void *U; long HKLen; const char *HKey; HashPos *Cursor; int len; Cursor = GetNewHashPos (WCC->Hdr->urlstrings, 0); while (GetNextHashPos(WCC->Hdr->urlstrings, Cursor, &HKLen, &HKey, &U)) { u = (urlcontent*) U; if (!strncasecmp(u->url_key, "openid.", 7)) { serv_printf("%s|%s", &u->url_key[7], ChrPtr(u->url_data)); } } serv_puts("000"); linecount = 0; while (len = StrBuf_ServGetln(Buf), ((len >= 0) && ((len != 3) || strcmp(ChrPtr(Buf), "000") ))) { if (linecount == 0) result = NewStrBufDup(Buf); if (!strcasecmp(ChrPtr(result), "authenticate")) { if (linecount == 1) { username = NewStrBufDup(Buf); } else if (linecount == 2) { password = NewStrBufDup(Buf); } else if (linecount == 3) { logged_in_response = NewStrBufDup(Buf); } } else if (!strcasecmp(ChrPtr(result), "verify_only")) { if (linecount == 1) { claimed_id = NewStrBufDup(Buf); } if (linecount == 2) { username = NewStrBufDup(Buf); } } ++linecount; } } FreeStrBuf(&Buf); } } /* * Is this an attempt to associate a new OpenID with an account that is already logged in? */ if ( (WCC->logged_in) && (havebstr("attach_existing")) ) { display_openids(); } /* If this operation logged us in, either by connecting with an existing account or by * auto-creating one using Simple Registration Extension, we're already on our way. */ else if (!strcasecmp(ChrPtr(result), "authenticate")) { become_logged_in(username, password, logged_in_response); /* Did we manage to log in? If so, continue with the normal flow... */ if (WC->logged_in) { begin_burst(); output_headers(1, 0, 0, 0, 1, 0); do_template("authpopup_finished"); end_burst(); } else { begin_burst(); output_headers(1, 0, 0, 0, 1, 0); wc_printf(""); wc_printf(_("An error has occurred.")); wc_printf(""); end_burst(); } } /* The specified OpenID was verified but the desired user name was either not specified via SRE * or conflicts with an existing user. Either way the user will need to specify a new name. */ else if (!strcasecmp(ChrPtr(result), "verify_only")) { putbstr("__claimed_id", claimed_id); claimed_id = NULL; if (StrLength(username) > 0) { putbstr("__username", username); username = NULL; } begin_burst(); output_headers(1, 0, 0, 0, 1, 0); wc_printf(""); do_template("openid_manual_create"); wc_printf(""); end_burst(); } /* Something went VERY wrong if we get to this point */ else { syslog(LOG_DEBUG, "finalize_openid_login() failed to do anything. This is a code problem.\n"); begin_burst(); output_headers(1, 0, 0, 0, 1, 0); wc_printf(""); wc_printf(_("An error has occurred.")); wc_printf(""); end_burst(); } FreeStrBuf(&result); FreeStrBuf(&username); FreeStrBuf(&password); FreeStrBuf(&claimed_id); FreeStrBuf(&logged_in_response); } /* * Display a welcome screen to the user. * * If this is the first time login, and the web based setup is enabled, * lead the user through the setup routines */ void do_welcome(void) { StrBuf *Buf; #ifdef XXX_NOT_FINISHED_YET_XXX FILE *fp; int i; /** * See if we have to run the first-time setup wizard */ if (WC->is_aide) { if (!setup_wizard) { int len; sprintf(wizard_filename, "setupwiz.%s.%s", abs(HashLittle(ctdlhost, strlen(ctdlhost))), abs(HashLittle(ctdlport, strlen(ctdlport))) ); fp = fopen(wizard_filename, "r"); if (fp != NULL) { fgets(buf, sizeof buf, fp); buf[strlen(buf)-1] = 0; fclose(fp); if (atoi(buf) == serv_info.serv_rev_level) { setup_wizard = 1; /* already run */ } } } if (!setup_wizard) { http_redirect("setup_wizard"); } } #endif /* * Go to the user's preferred start page */ if (!get_preference("startpage", &Buf)) { Buf = NewStrBuf (); StrBufPrintf(Buf, "dotskip?room=_BASEROOM_"); set_preference("startpage", Buf, 1); } if (ChrPtr(Buf)[0] == '/') { StrBufCutLeft(Buf, 1); } if (StrLength(Buf) == 0) { StrBufAppendBufPlain(Buf, "dotgoto?room=_BASEROOM_", -1, 0); } syslog(LOG_DEBUG, "Redirecting to user's start page: %s\n", ChrPtr(Buf)); http_redirect(ChrPtr(Buf)); } /* * Disconnect from the Citadel server, and end this WebCit session */ void end_webcit_session(void) { serv_puts("QUIT"); WC->killthis = 1; /* close() of citadel socket will be done by do_housekeeping() */ } /* * Log out the session with the Citadel server */ void do_logout(void) { wcsession *WCC = WC; char buf[SIZ]; FlushStrBuf(WCC->wc_username); FlushStrBuf(WCC->wc_password); FlushStrBuf(WCC->wc_fullname); FlushRoomlist(); serv_puts("LOUT"); serv_getln(buf, sizeof buf); WCC->logged_in = 0; FlushStrBuf(WCC->CurRoom.name); /* Calling output_headers() this way causes the cookies to be un-set */ output_headers(1, 1, 0, 1, 0, 0); do_template("logout"); if ((WCC->serv_info != NULL) && WCC->serv_info->serv_supports_guest) { display_default_landing_page(); return; } wDumpContent(2); end_webcit_session(); } /* * Special page for monitoring scripts etc */ void monitor(void) { output_headers(0, 0, 0, 0, 0, 0); hprintf("Content-type: text/plain\r\n" "Server: " PACKAGE_STRING "\r\n" "Connection: close\r\n" ); begin_burst(); wc_printf("Connection to Citadel server at %s:%s : %s\r\n", ctdlhost, ctdlport, (WC->connected ? "SUCCESS" : "FAIL") ); wDumpContent(0); } /* * validate new users */ void validate(void) { char cmd[SIZ]; char user[SIZ]; char buf[SIZ]; int a; output_headers(1, 1, 1, 0, 0, 0); do_template("box_begin_1"); StrBufAppendBufPlain(WC->WBuf, _("Validate new users"), -1, 0); do_template("box_begin_2"); /* If the user just submitted a validation, process it... */ safestrncpy(buf, bstr("user"), sizeof buf); if (!IsEmptyStr(buf)) { if (havebstr("axlevel")) { serv_printf("VALI %s|%s", buf, bstr("axlevel")); serv_getln(buf, sizeof buf); if (buf[0] != '2') { wc_printf("%s
\n", &buf[4]); } } } /* Now see if any more users require validation. */ serv_puts("GNUR"); serv_getln(buf, sizeof buf); if (buf[0] == '2') { wc_printf(""); wc_printf(_("No users require validation at this time.")); wc_printf("
\n"); wDumpContent(1); return; } if (buf[0] != '3') { wc_printf("%s
\n", &buf[4]); wDumpContent(1); return; } wc_printf("
\n"); wc_printf("
"); safestrncpy(user, &buf[4], sizeof user); serv_printf("GREG %s", user); serv_getln(cmd, sizeof cmd); if (cmd[0] == '1') { a = 0; do { serv_getln(buf, sizeof buf); ++a; if (a == 1) wc_printf("#%s

%s

", buf, &cmd[4]); if (a == 2) { char *pch; int haveChar = 0; int haveNum = 0; int haveOther = 0; int haveLong = 0; pch = buf; while (!IsEmptyStr(pch)) { if (isdigit(*pch)) haveNum = 1; else if (isalpha(*pch)) haveChar = 1; else haveOther = 1; pch ++; } if (pch - buf > 7) haveLong = 1; switch (haveLong + haveChar + haveNum + haveOther) { case 0: pch = _("very weak"); break; case 1: pch = _("weak"); break; case 2: pch = _("ok"); break; case 3: default: pch = _("strong"); } wc_printf("PW: %s
\n", pch); } if (a == 3) wc_printf("%s
\n", buf); if (a == 4) wc_printf("%s
\n", buf); if (a == 5) wc_printf("%s, ", buf); if (a == 6) wc_printf("%s ", buf); if (a == 7) wc_printf("%s
\n", buf); if (a == 8) wc_printf("%s
\n", buf); if (a == 9) wc_printf(_("Current access level: %d (%s)\n"), atoi(buf), axdefs[atoi(buf)]); } while (strcmp(buf, "000")); } else { wc_printf("

%s

%s
\n", user, &cmd[4]); } wc_printf("
"); wc_printf(_("Select access level for this user:")); wc_printf("
\n"); for (a = 0; a <= 6; ++a) { wc_printf("nonce); urlescputs(user); wc_printf("&axlevel=%d\">%s   \n", a, axdefs[a]); } wc_printf("
\n"); wc_printf("
\n"); wc_printf("
\n"); do_template("box_end"); wDumpContent(1); } /* * Display form for registration. * * (Set during_login to 1 if this registration is being performed during * new user login and will require chaining to the proper screen.) */ void display_reg(int during_login) { folder Room; StrBuf *Buf; message_summary *VCMsg = NULL; wc_mime_attachment *VCAtt = NULL; long vcard_msgnum; Buf = NewStrBuf(); memset(&Room, 0, sizeof(folder)); if (goto_config_room(Buf, &Room) != 0) { syslog(LOG_WARNING, "display_reg() exiting because goto_config_room() failed\n"); if (during_login) { pop_destination(); } else { display_main_menu(); } FreeStrBuf(&Buf); FlushFolder(&Room); return; } FlushFolder(&Room); FreeStrBuf(&Buf); vcard_msgnum = locate_user_vcard_in_this_room(&VCMsg, &VCAtt); if (vcard_msgnum < 0L) { syslog(LOG_WARNING, "display_reg() exiting because locate_user_vcard_in_this_room() failed\n"); if (during_login) { pop_destination(); } else { display_main_menu(); } return; } if (during_login) { do_edit_vcard(vcard_msgnum, "1", VCMsg, VCAtt, "pop", USERCONFIGROOM); } else { StrBuf *ReturnTo; ReturnTo = NewStrBufPlain(HKEY("display_main_menu?go=")); StrBufAppendBuf(ReturnTo, WC->CurRoom.name, 0); do_edit_vcard(vcard_msgnum, "1", VCMsg, VCAtt, ChrPtr(ReturnTo), USERCONFIGROOM); FreeStrBuf(&ReturnTo); } } /* * change password * if passwords match, propagate it to citserver. */ void changepw(void) { StrBuf *Line; char newpass1[32], newpass2[32]; if (!havebstr("change_action")) { AppendImportantMessage(_("Cancelled. Password was not changed."), -1); display_main_menu(); return; } safestrncpy(newpass1, bstr("newpass1"), sizeof newpass1); safestrncpy(newpass2, bstr("newpass2"), sizeof newpass2); if (strcasecmp(newpass1, newpass2)) { AppendImportantMessage(_("They don't match. Password was not changed."), -1); do_template("menu_change_pw"); return; } if (IsEmptyStr(newpass1)) { AppendImportantMessage(_("Blank passwords are not allowed."), -1); do_template("menu_change_pw"); return; } Line = NewStrBuf(); serv_printf("SETP %s", newpass1); StrBuf_ServGetln(Line); if (GetServerStatusMsg(Line, NULL, 1, 0) == 2) { if (WC->wc_password == NULL) WC->wc_password = NewStrBufPlain( ChrPtr(Line) + 4, StrLength(Line) - 4); else { FlushStrBuf(WC->wc_password); StrBufAppendBufPlain(WC->wc_password, ChrPtr(Line) + 4, StrLength(Line) - 4, 0); } display_main_menu(); } else { do_template("menu_change_pw"); } FreeStrBuf(&Line); } int ConditionalHaveAccessCreateRoom(StrBuf *Target, WCTemplputParams *TP) { StrBuf *Buf; Buf = NewStrBuf(); serv_puts("CRE8 0"); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 2) { StrBufCutLeft(Buf, 4); AppendImportantMessage(SKEY(Buf)); FreeStrBuf(&Buf); return 0; } FreeStrBuf(&Buf); return 1; } int ConditionalAide(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; return (WCC != NULL) ? ((WCC->logged_in == 0)||(WC->is_aide == 0)) : 0; } int ConditionalIsLoggedIn(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; return (WCC != NULL) ? (WCC->logged_in == 0) : 0; } /* * toggle the session over to a different language */ void switch_language(void) { set_selected_language(bstr("lang")); pop_destination(); } void _display_reg(void) { display_reg(0); } void Header_HandleAuth(StrBuf *Line, ParsedHttpHdrs *hdr) { if (hdr->HR.got_auth == NO_AUTH) /* don't override cookie auth... */ { if (strncasecmp(ChrPtr(Line), "Basic", 5) == 0) { StrBufCutLeft(Line, 6); StrBufDecodeBase64(Line); hdr->HR.plainauth = Line; hdr->HR.got_auth = AUTH_BASIC; } else syslog(LOG_WARNING, "Authentication scheme not supported! [%s]\n", ChrPtr(Line)); } } void CheckAuthBasic(ParsedHttpHdrs *hdr) { /* todo: enable this if we can have other sessions than authenticated ones. if (hdr->DontNeedAuth) return; */ StrBufAppendBufPlain(hdr->HR.plainauth, HKEY(":"), 0); StrBufAppendBuf(hdr->HR.plainauth, hdr->HR.user_agent, 0); } void GetAuthBasic(ParsedHttpHdrs *hdr) { const char *Pos = NULL; if (hdr->c_username == NULL) hdr->c_username = NewStrBufPlain(HKEY(DEFAULT_HTTPAUTH_USER)); if (hdr->c_password == NULL) hdr->c_password = NewStrBufPlain(HKEY(DEFAULT_HTTPAUTH_PASS)); StrBufExtract_NextToken(hdr->c_username, hdr->HR.plainauth, &Pos, ':'); StrBufExtract_NextToken(hdr->c_password, hdr->HR.plainauth, &Pos, ':'); } void Header_HandleCookie(StrBuf *Line, ParsedHttpHdrs *hdr) { const char *pch; /* todo: enable this if we can have other sessions than authenticated ones. if (hdr->DontNeedAuth) return; */ pch = strstr(ChrPtr(Line), "webcit="); if (pch == NULL) { return; } hdr->HR.RawCookie = Line; StrBufCutLeft(hdr->HR.RawCookie, (pch - ChrPtr(hdr->HR.RawCookie)) + 7); StrBufDecodeHex(hdr->HR.RawCookie); cookie_to_stuff(Line, &hdr->HR.desired_session, hdr->c_username, hdr->c_password, hdr->c_roomname, hdr->c_language ); hdr->HR.got_auth = AUTH_COOKIE; } void HttpNewModule_AUTH (ParsedHttpHdrs *httpreq) { httpreq->c_username = NewStrBufPlain(HKEY(DEFAULT_HTTPAUTH_USER)); httpreq->c_password = NewStrBufPlain(HKEY(DEFAULT_HTTPAUTH_PASS)); httpreq->c_roomname = NewStrBuf(); httpreq->c_language = NewStrBuf(); } void HttpDetachModule_AUTH (ParsedHttpHdrs *httpreq) { FLUSHStrBuf(httpreq->c_username); FLUSHStrBuf(httpreq->c_password); FLUSHStrBuf(httpreq->c_roomname); FLUSHStrBuf(httpreq->c_language); } void HttpDestroyModule_AUTH (ParsedHttpHdrs *httpreq) { FreeStrBuf(&httpreq->c_username); FreeStrBuf(&httpreq->c_password); FreeStrBuf(&httpreq->c_roomname); FreeStrBuf(&httpreq->c_language); } void InitModule_AUTH (void) { initialize_axdefs(); RegisterHeaderHandler(HKEY("COOKIE"), Header_HandleCookie); RegisterHeaderHandler(HKEY("AUTHORIZATION"), Header_HandleAuth); /* no url pattern at all? Show login. */ WebcitAddUrlHandler(HKEY(""), "", 0, do_welcome, ANONYMOUS|COOKIEUNNEEDED); WebcitAddUrlHandler(HKEY("do_welcome"), "", 0, do_welcome, ANONYMOUS|COOKIEUNNEEDED); WebcitAddUrlHandler(HKEY("openid_login"), "", 0, do_openid_login, ANONYMOUS); WebcitAddUrlHandler(HKEY("finalize_openid_login"), "", 0, finalize_openid_login, ANONYMOUS); WebcitAddUrlHandler(HKEY("openid_manual_create"), "", 0, openid_manual_create, ANONYMOUS); WebcitAddUrlHandler(HKEY("validate"), "", 0, validate, 0); WebcitAddUrlHandler(HKEY("do_welcome"), "", 0, do_welcome, 0); WebcitAddUrlHandler(HKEY("display_reg"), "", 0, _display_reg, 0); WebcitAddUrlHandler(HKEY("changepw"), "", 0, changepw, 0); WebcitAddUrlHandler(HKEY("termquit"), "", 0, do_logout, 0); WebcitAddUrlHandler(HKEY("do_logout"), "", 0, do_logout, ANONYMOUS|COOKIEUNNEEDED|FORCE_SESSIONCLOSE); WebcitAddUrlHandler(HKEY("monitor"), "", 0, monitor, ANONYMOUS|COOKIEUNNEEDED|FORCE_SESSIONCLOSE); WebcitAddUrlHandler(HKEY("ajax_login_username_password"), "", 0, ajax_login_username_password, AJAX|ANONYMOUS); WebcitAddUrlHandler(HKEY("ajax_login_newuser"), "", 0, ajax_login_newuser, AJAX|ANONYMOUS); WebcitAddUrlHandler(HKEY("switch_language"), "", 0, switch_language, ANONYMOUS); RegisterConditional("COND:AIDE", 2, ConditionalAide, CTX_NONE); RegisterConditional("COND:LOGGEDIN", 2, ConditionalIsLoggedIn, CTX_NONE); RegisterConditional("COND:MAY_CREATE_ROOM", 2, ConditionalHaveAccessCreateRoom, CTX_NONE); return; } void SessionDestroyModule_AUTH (wcsession *sess) { FreeStrBuf(&sess->wc_username); FreeStrBuf(&sess->wc_fullname); FreeStrBuf(&sess->wc_password); FreeStrBuf(&sess->httpauth_pass); FreeStrBuf(&sess->cs_inet_email); } webcit-9.01-dfsg/autocompletion.c000066400000000000000000000032411254743150300170530ustar00rootroot00000000000000/* * ajax-powered autocompletion... * * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software: you can redistribute it and/or modify * it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" /* * Recipient autocompletion results */ void recp_autocomplete(char *partial) { char buf[1024]; char name[128]; output_headers(0, 0, 0, 0, 0, 0); hprintf("Content-type: text/html\r\n" "Server: %s\r\n" "Connection: close\r\n" "Pragma: no-cache\r\n" "Cache-Control: no-store\r\n" "Expires: -1\r\n" , PACKAGE_STRING); begin_burst(); wc_printf("
    "); serv_printf("AUTO %s", partial); serv_getln(buf, sizeof buf); if (buf[0] == '1') { while(serv_getln(buf, sizeof buf), strcmp(buf, "000")) { extract_token(name, buf, 0, '|', sizeof name); wc_printf("
  • "); escputs(name); wc_printf("
  • "); } } wc_printf("
"); wc_printf("\r\n\r\n"); wDumpContent(0); } void _recp_autocomplete(void) {recp_autocomplete(bstr("recp"));} void _cc_autocomplete(void) {recp_autocomplete(bstr("cc"));} void _bcc_autocomplete(void) {recp_autocomplete(bstr("bcc"));} void InitModule_AUTO_COMPLETE (void) { WebcitAddUrlHandler(HKEY("recp_autocomplete"), "", 0, _recp_autocomplete, 0); WebcitAddUrlHandler(HKEY("cc_autocomplete"), "", 0, _cc_autocomplete, 0); WebcitAddUrlHandler(HKEY("bcc_autocomplete"), "", 0, _bcc_autocomplete, 0); } webcit-9.01-dfsg/availability.c000066400000000000000000000166201254743150300164700ustar00rootroot00000000000000/* * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" #include "calendar.h" /* * Utility function to fetch a VFREEBUSY type of thing for any specified user. */ icalcomponent *get_freebusy_for_user(char *who) { long nLines; char buf[SIZ]; StrBuf *serialized_fb = NewStrBuf(); icalcomponent *fb = NULL; serv_printf("ICAL freebusy|%s", who); serv_getln(buf, sizeof buf); if (buf[0] == '1') { read_server_text(serialized_fb, &nLines); } if (serialized_fb == NULL) { return NULL; } fb = icalcomponent_new_from_string(ChrPtr(serialized_fb)); FreeStrBuf(&serialized_fb); if (fb == NULL) { return NULL; } return(fb); } /* * Check to see if two events overlap. * (This function is used in both Citadel and WebCit. If you change it in * one place, change it in the other. We should seriously consider moving * this function upstream into libical.) * * Returns nonzero if they do overlap. */ int ical_ctdl_is_overlap( struct icaltimetype t1start, struct icaltimetype t1end, struct icaltimetype t2start, struct icaltimetype t2end ) { if (icaltime_is_null_time(t1start)) return(0); if (icaltime_is_null_time(t2start)) return(0); /* if either event lacks end time, assume end = start */ if (icaltime_is_null_time(t1end)) memcpy(&t1end, &t1start, sizeof(struct icaltimetype)); else { if (t1end.is_date && icaltime_compare(t1start, t1end)) { /* * the end date is non-inclusive so adjust it by one * day because our test is inclusive, note that a day is * not too much because we are talking about all day * events * if start = end we assume that nevertheless the whole * day is meant */ icaltime_adjust(&t1end, -1, 0, 0, 0); } } if (icaltime_is_null_time(t2end)) memcpy(&t2end, &t2start, sizeof(struct icaltimetype)); else { if (t2end.is_date && icaltime_compare(t2start, t2end)) { icaltime_adjust(&t2end, -1, 0, 0, 0); } } /* First, check for all-day events */ if (t1start.is_date || t2start.is_date) { /* If event 1 ends before event 2 starts, we're in the clear. */ if (icaltime_compare_date_only(t1end, t2start) < 0) return(0); /* If event 2 ends before event 1 starts, we're also ok. */ if (icaltime_compare_date_only(t2end, t1start) < 0) return(0); return(1); } /* syslog(LOG_DEBUG, "Comparing t1start %d:%d t1end %d:%d t2start %d:%d t2end %d:%d \n", t1start.hour, t1start.minute, t1end.hour, t1end.minute, t2start.hour, t2start.minute, t2end.hour, t2end.minute); */ /* Now check for overlaps using date *and* time. */ /* If event 1 ends before event 2 starts, we're in the clear. */ if (icaltime_compare(t1end, t2start) <= 0) return(0); /* syslog(LOG_DEBUG, "first passed\n"); */ /* If event 2 ends before event 1 starts, we're also ok. */ if (icaltime_compare(t2end, t1start) <= 0) return(0); /* syslog(LOG_DEBUG, "second passed\n"); */ /* Otherwise, they overlap. */ return(1); } /* * Back end function for check_attendee_availability() * This one checks an individual attendee against a supplied * event start and end time. All these fields have already been * broken out. * * attendee_string name of the attendee * event_start start time of the event to check * event_end end time of the event to check * * The result is placed in 'annotation'. */ void check_individual_attendee(char *attendee_string, struct icaltimetype event_start, struct icaltimetype event_end, char *annotation) { icalcomponent *fbc = NULL; icalcomponent *fb = NULL; icalproperty *thisfb = NULL; struct icalperiodtype period; /* * Set to 'unknown' right from the beginning. Unless we learn * something else, that's what we'll go with. */ strcpy(annotation, _("availability unknown")); fbc = get_freebusy_for_user(attendee_string); if (fbc == NULL) { return; } /* * Make sure we're looking at a VFREEBUSY by itself. What we're probably * looking at initially is a VFREEBUSY encapsulated in a VCALENDAR. */ if (icalcomponent_isa(fbc) == ICAL_VCALENDAR_COMPONENT) { fb = icalcomponent_get_first_component(fbc, ICAL_VFREEBUSY_COMPONENT); } else if (icalcomponent_isa(fbc) == ICAL_VFREEBUSY_COMPONENT) { fb = fbc; } /* Iterate through all FREEBUSY's looking for conflicts. */ if (fb != NULL) { strcpy(annotation, _("free")); for (thisfb = icalcomponent_get_first_property(fb, ICAL_FREEBUSY_PROPERTY); thisfb != NULL; thisfb = icalcomponent_get_next_property(fb, ICAL_FREEBUSY_PROPERTY) ) { /** Do the check */ period = icalproperty_get_freebusy(thisfb); if (ical_ctdl_is_overlap(period.start, period.end, event_start, event_end)) { strcpy(annotation, _("BUSY")); } } } icalcomponent_free(fbc); } /* * Check the availability of all attendees for an event (when possible) * and annotate accordingly. * * vevent the event which should be compared with attendees calendar */ void check_attendee_availability(icalcomponent *vevent) { icalproperty *attendee = NULL; icalproperty *dtstart_p = NULL; icalproperty *dtend_p = NULL; struct icaltimetype dtstart_t; struct icaltimetype dtend_t; char attendee_string[SIZ]; char annotated_attendee_string[SIZ]; char annotation[SIZ]; const char *ch; if (vevent == NULL) { return; } /* * If we're looking at a fully encapsulated VCALENDAR * rather than a VEVENT component, attempt to use the first * relevant VEVENT subcomponent. If there is none, the * NULL returned by icalcomponent_get_first_component() will * tell the next iteration of this function to create a * new one. */ if (icalcomponent_isa(vevent) == ICAL_VCALENDAR_COMPONENT) { check_attendee_availability( icalcomponent_get_first_component( vevent, ICAL_VEVENT_COMPONENT ) ); return; } ical_dezonify(vevent); /**< Convert everything to UTC */ /* * Learn the start and end times. */ dtstart_p = icalcomponent_get_first_property(vevent, ICAL_DTSTART_PROPERTY); if (dtstart_p != NULL) dtstart_t = icalproperty_get_dtstart(dtstart_p); dtend_p = icalcomponent_get_first_property(vevent, ICAL_DTEND_PROPERTY); if (dtend_p != NULL) dtend_t = icalproperty_get_dtend(dtend_p); /* * Iterate through attendees. */ for (attendee = icalcomponent_get_first_property(vevent, ICAL_ATTENDEE_PROPERTY); attendee != NULL; attendee = icalcomponent_get_next_property(vevent, ICAL_ATTENDEE_PROPERTY)) { ch = icalproperty_get_attendee(attendee); if ((ch != NULL) && !strncasecmp(ch, "MAILTO:", 7)) { /** screen name or email address */ safestrncpy(attendee_string, ch + 7, sizeof(attendee_string)); striplt(attendee_string); check_individual_attendee(attendee_string, dtstart_t, dtend_t, annotation); /** Replace the attendee name with an annotated one. */ snprintf(annotated_attendee_string, sizeof annotated_attendee_string, "MAILTO:%s (%s)", attendee_string, annotation); icalproperty_set_attendee(attendee, annotated_attendee_string); } } } webcit-9.01-dfsg/bbsview_renderer.c000066400000000000000000000242311254743150300173420ustar00rootroot00000000000000/* * BBS View renderer module for WebCit * * Note: we briefly had a dynamic UI for this. I thought it was cool, but * it was not received well by the user community. If you want to play * with it, go get commit dcf99fe61379b78436c387ea3f89ebfd4ffaf635 of * bbsview_renderer.c and have fun. * * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #define RANGE 5 #include "webcit.h" #include "webserver.h" #include "dav.h" /* * Data which gets passed around between the various functions in this module * */ struct bbsview { long *msgs; /* Array of msgnums for messages we are displaying */ int num_msgs; /* Number of msgnums stored in 'msgs' */ long lastseen; /* The number of the last seen message in this room */ int alloc_msgs; /* Currently allocated size of array */ int requested_page; /* Which page number did the user request? */ int num_pages; /* Total number of pages in this room */ long start_reading_at; /* Start reading at the page containing this message */ }; /* * Attempt to determine the closest thing to the "last seen message number" using the * results of the GTSN command */ long bbsview_get_last_seen(void) { char buf[SIZ] = "0"; serv_puts("GTSN"); serv_getln(buf, sizeof buf); if (buf[0] == '2') { char *colon_pos; char *comma_pos; comma_pos = strchr(buf, ','); /* kill first comma and everything to its right */ if (comma_pos) { *comma_pos = 0; } colon_pos = strchr(buf, ':'); /* kill first colon and everything to its left */ if (colon_pos) { strcpy(buf, ++colon_pos); } } return(atol(buf)); } /* * Entry point for message read operations. */ int bbsview_GetParamsGetServerCall(SharedMessageStatus *Stat, void **ViewSpecific, long oper, char *cmd, long len, char *filter, long flen) { struct bbsview *BBS = malloc(sizeof(struct bbsview)); memset(BBS, 0, sizeof(struct bbsview)); *ViewSpecific = BBS; Stat->startmsg = (-1); /* not used here */ Stat->sortit = 1; /* not used here */ Stat->num_displayed = DEFAULT_MAXMSGS; /* not used here */ BBS->requested_page = 0; BBS->lastseen = bbsview_get_last_seen(); BBS->start_reading_at = 0; /* By default, the requested page is the first one. */ if (havebstr("start_reading_at")) { BBS->start_reading_at = lbstr("start_reading_at"); BBS->requested_page = (-4); } /* However, if we are asked to start with a specific message number, make sure * we start on the page containing that message */ /* Or, if a specific page was requested, make sure we go there */ else if (havebstr("page")) { BBS->requested_page = ibstr("page"); } /* Otherwise, if this is a "read new" operation, make sure we start on the page * containing the first new message */ else if (oper == 3) { BBS->requested_page = (-3); } if (havebstr("maxmsgs")) { Stat->maxmsgs = ibstr("maxmsgs"); } if (Stat->maxmsgs == 0) Stat->maxmsgs = DEFAULT_MAXMSGS; /* perform a "read all" call to fetch the message list -- we'll cut it down later */ rlid[2].cmd(cmd, len); return 200; } /* * This function is called for every message in the list. */ int bbsview_LoadMsgFromServer(SharedMessageStatus *Stat, void **ViewSpecific, message_summary* Msg, int is_new, int i) { struct bbsview *BBS = (struct bbsview *) *ViewSpecific; if (BBS->alloc_msgs == 0) { BBS->alloc_msgs = 1000; BBS->msgs = malloc(BBS->alloc_msgs * sizeof(long)); memset(BBS->msgs, 0, (BBS->alloc_msgs * sizeof(long)) ); } /* Check our buffer size */ if (BBS->num_msgs >= BBS->alloc_msgs) { BBS->alloc_msgs *= 2; BBS->msgs = realloc(BBS->msgs, (BBS->alloc_msgs * sizeof(long))); memset(&BBS->msgs[BBS->num_msgs], 0, ((BBS->alloc_msgs - BBS->num_msgs) * sizeof(long)) ); } BBS->msgs[BBS->num_msgs++] = Msg->msgnum; return 200; } int bbsview_sortfunc(const void *s1, const void *s2) { long l1; long l2; l1 = *(long *)(s1); l2 = *(long *)(s2); if (l1 > l2) return(+1); if (l1 < l2) return(-1); return(0); } int bbsview_RenderView_or_Tail(SharedMessageStatus *Stat, void **ViewSpecific, long oper) { struct bbsview *BBS = (struct bbsview *) *ViewSpecific; int i; int seq; const StrBuf *Mime; int start_index = 0; int end_index = 0; int go_to_the_very_end = 0; if (Stat->nummsgs > 0) { syslog(LOG_DEBUG, "sorting %d messages\n", BBS->num_msgs); qsort(BBS->msgs, (size_t)(BBS->num_msgs), sizeof(long), bbsview_sortfunc); } if ((BBS->num_msgs % Stat->maxmsgs) == 0) { BBS->num_pages = BBS->num_msgs / Stat->maxmsgs; } else { BBS->num_pages = (BBS->num_msgs / Stat->maxmsgs) + 1; } /* If the requested page number is -4, * it means "whichever page on which msg#xxxxx starts" * Change to the page number which contains that message. */ if (BBS->requested_page == (-4)) { if (BBS->num_msgs == 0) { BBS->requested_page = 0; } else { for (i=0; inum_msgs; ++i) { if ( (BBS->msgs[i] >= BBS->start_reading_at) && (BBS->requested_page == (-4)) ) { BBS->requested_page = (i / Stat->maxmsgs) ; } } } } /* If the requested page number is -3, * it means "whichever page on which new messages start" * Change that to an actual page number now. */ if (BBS->requested_page == (-3)) { if (BBS->num_msgs == 0) { /* * The room is empty; just start at the top and leave it there. */ BBS->requested_page = 0; } else if ( (BBS->num_msgs > 0) && (BBS->lastseen <= BBS->msgs[0]) ) { /* * All messages are new; this is probably the user's first visit to the room, * so start at the last page instead of showing ancient history. */ BBS->requested_page = BBS->num_pages - 1; go_to_the_very_end = 1; } else { /* * Some messages are old and some are new. Go to the start of new messages. */ for (i=0; inum_msgs; ++i) { if ( (BBS->msgs[i] > BBS->lastseen) && ( (i == 0) || (BBS->msgs[i-1] <= BBS->lastseen) ) ) { BBS->requested_page = (i / Stat->maxmsgs) ; } } } } /* Still set to -3 ? If so, that probably means that there are no new messages, * so we'll go to the *end* of the final page. */ if (BBS->requested_page == (-3)) { if (BBS->num_msgs == 0) { BBS->requested_page = 0; } else { BBS->requested_page = BBS->num_pages - 1; } } /* keep the requested page within bounds */ if (BBS->requested_page < 0) BBS->requested_page = 0; if (BBS->requested_page >= BBS->num_pages) BBS->requested_page = BBS->num_pages - 1; start_index = BBS->requested_page * Stat->maxmsgs; if (start_index < 0) start_index = 0; end_index = start_index + Stat->maxmsgs - 1; for (seq = 0; seq < 3; ++seq) { /* cheap & sleazy way of rendering the page numbers twice */ if ( (seq == 1) && (Stat->nummsgs > 0)) { /* display the selected range of messages */ for (i=start_index; (i<=end_index && inum_msgs); ++i) { if ( (BBS->msgs[i] > BBS->lastseen) && ( (i == 0) || (BBS->msgs[i-1] <= BBS->lastseen) ) ) { /* new messages start here */ do_template("start_of_new_msgs"); if (!go_to_the_very_end) { StrBufAppendPrintf(WC->trailing_javascript, "location.href=\"#newmsgs\";\n"); } } if (BBS->msgs[i] > 0L) { read_message(WC->WBuf, HKEY("view_message"), BBS->msgs[i], NULL, &Mime); } if ( (i == (BBS->num_msgs - 1)) && (BBS->msgs[i] <= BBS->lastseen) ) { /* no new messages */ do_template("no_new_msgs"); if (!go_to_the_very_end) { StrBufAppendPrintf(WC->trailing_javascript, "location.href=\"#nonewmsgs\";\n"); } } } } else if ( (seq == 0) || (seq == 2) ) { int first; int last; /* Display the selecto-bar with the page numbers */ wc_printf("
"); if (seq == 2) { wc_printf(""); } wc_printf(_("Go to page: ")); if (seq == 2) { wc_printf(""); } first = 0; last = BBS->num_pages - 1; for (i=0; i<=last; ++i) { if ( (i == first) || (i == last) || (i == BBS->requested_page) || ( ((BBS->requested_page - i) < RANGE) && ((BBS->requested_page - i) > (0 - RANGE)) ) ) { if ( (i == last) && (last - BBS->requested_page > RANGE) ) { wc_printf("... "); } if (i == BBS->requested_page) { wc_printf("["); } else { wc_printf("CurRoom.name)); wc_printf("?start_reading_at=%ld\">", BBS->msgs[i*Stat->maxmsgs] ); /* wc_printf("?page=%d\">", i); */ wc_printf(""); } if ( (i == first) && (BBS->requested_page > (RANGE + 1)) ) { wc_printf(_("First")); } else if ( (i == last) && (last - BBS->requested_page > RANGE) ) { wc_printf(_("Last")); } else { wc_printf("%d", i + 1); /* change to one-based for display */ } if (i == BBS->requested_page) { wc_printf("]"); } else { wc_printf(""); wc_printf(""); } if ( (i == first) && (BBS->requested_page > (RANGE + 1)) ) { wc_printf(" ..."); } if (i != last) { wc_printf(" "); } } } wc_printf("
\n"); } } if (go_to_the_very_end) { StrBufAppendPrintf(WC->trailing_javascript, "location.href=\"#end_of_msgs\";\n"); } return(0); } int bbsview_Cleanup(void **ViewSpecific) { struct bbsview *BBS = (struct bbsview *) *ViewSpecific; if (BBS->alloc_msgs != 0) { free(BBS->msgs); } free(BBS); wDumpContent(1); return 0; } void InitModule_BBSVIEWRENDERERS (void) { RegisterReadLoopHandlerset( VIEW_BBS, bbsview_GetParamsGetServerCall, NULL, NULL, NULL, bbsview_LoadMsgFromServer, bbsview_RenderView_or_Tail, bbsview_Cleanup ); } webcit-9.01-dfsg/blogview_renderer.c000066400000000000000000000235061254743150300175230ustar00rootroot00000000000000/* * Blog view renderer module for WebCit * * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" #include "dav.h" typedef struct __BLOG { HashList *BLOG; long p; int gotonext; StrBuf *Charset; StrBuf *Buf; } BLOG; /* * Generate a permalink for a post * (Call with NULL arguments to make this function wcprintf() the permalink * instead of writing it to the template) */ void tmplput_blog_permalink(StrBuf *Target, WCTemplputParams *TP) { char perma[SIZ]; strcpy(perma, "/readfwd?go="); urlesc(&perma[strlen(perma)], sizeof(perma)-strlen(perma), (char *)ChrPtr(WC->CurRoom.name)); snprintf(&perma[strlen(perma)], sizeof(perma)-strlen(perma), "?p=%d", WC->bptlid); if (!Target) { wc_printf("%s", perma); } else { StrBufAppendPrintf(Target, "%s", perma); } } /* * Render a single blog post and (optionally) its comments */ void blogpost_render(struct blogpost *bp, int with_comments) { const StrBuf *Mime; int i; WC->bptlid = bp->top_level_id; /* This is used in templates; do not remove it */ /* Always show the top level post, unless we somehow ended up with an empty list */ if (bp->num_msgs > 0) { read_message(WC->WBuf, HKEY("view_blog_post"), bp->msgs[0], NULL, &Mime); } if (with_comments) { /* Show any existing comments, then offer the comment box */ wc_printf("\n"); wc_printf(_("%d comments"), bp->num_msgs - 1); wc_printf(" | %s", _("permalink")); wc_printf("\n"); for (i=1; inum_msgs; ++i) { read_message(WC->WBuf, HKEY("view_blog_comment"), bp->msgs[i], NULL, &Mime); } do_template("view_blog_comment_box"); } else { /* Show only the number of comments */ wc_printf("top_level_id); urlescputs(ChrPtr(WC->CurRoom.name)); wc_printf("#comments\">"); wc_printf(_("%d comments"), bp->num_msgs - 1); wc_printf(" %d %s", bp->unread_oments, _("new")); wc_printf(" | %s", _("permalink")); wc_printf("
\n\n"); } } /* * Destructor for "struct blogpost" */ void blogpost_destroy(struct blogpost *bp) { if (bp->alloc_msgs > 0) { free(bp->msgs); } free(bp); } /* * Entry point for message read operations. */ int blogview_GetParamsGetServerCall(SharedMessageStatus *Stat, void **ViewSpecific, long oper, char *cmd, long len, char *filter, long flen) { BLOG *BL = (BLOG*) malloc(sizeof(BLOG)); BL->BLOG = NewHash(1, lFlathash); /* are we looking for a specific post? */ BL->p = lbstr("p"); BL->gotonext = havebstr("gotonext"); BL->Charset = NewStrBuf(); BL->Buf = NewStrBuf(); *ViewSpecific = BL; Stat->startmsg = (-1); /* not used here */ Stat->sortit = 1; /* not used here */ Stat->num_displayed = DEFAULT_MAXMSGS; /* not used here */ if (Stat->maxmsgs == 0) Stat->maxmsgs = DEFAULT_MAXMSGS; /* perform a "read all" call to fetch the message list -- we'll cut it down later */ rlid[2].cmd(cmd, len); if (BL->gotonext) Stat->load_seen = 1; return 200; } /* * This function is called for every message in the list. */ int blogview_LoadMsgFromServer(SharedMessageStatus *Stat, void **ViewSpecific, message_summary* Msg, int is_new, int i) { BLOG *BL = (BLOG*) *ViewSpecific; struct blogpost *bp = NULL; ReadOneMessageSummary(Msg, BL->Charset, BL->Buf); /* Stop processing if the viewer is only interested in a single post and * that message ID is neither the id nor the refs. */ if ((BL->p != 0) && (BL->p != Msg->reply_inreplyto_hash) && (BL->p != Msg->reply_references_hash)) { return 200; } /* * Add our little bundle of blogworthy wonderfulness to the hash table */ if (Msg->reply_references_hash == 0) { bp = malloc(sizeof(struct blogpost)); if (!bp) return(200); memset(bp, 0, sizeof (struct blogpost)); bp->top_level_id = Msg->reply_inreplyto_hash; Put(BL->BLOG, (const char *)&Msg->reply_inreplyto_hash, sizeof(Msg->reply_inreplyto_hash), bp, (DeleteHashDataFunc)blogpost_destroy); } else { GetHash(BL->BLOG, (const char *)&Msg->reply_references_hash, sizeof(Msg->reply_references_hash), (void *)&bp); } /* * Now we have a 'struct blogpost' to which we can add a message. It's either the * blog post itself or a comment attached to it; either way, the code is the same from * this point onward. */ if (bp != NULL) { if (bp->alloc_msgs == 0) { bp->alloc_msgs = 1000; bp->msgs = malloc(bp->alloc_msgs * sizeof(long)); memset(bp->msgs, 0, (bp->alloc_msgs * sizeof(long)) ); } if (bp->num_msgs >= bp->alloc_msgs) { bp->alloc_msgs *= 2; bp->msgs = realloc(bp->msgs, (bp->alloc_msgs * sizeof(long))); memset(&bp->msgs[bp->num_msgs], 0, ((bp->alloc_msgs - bp->num_msgs) * sizeof(long)) ); } bp->msgs[bp->num_msgs++] = Msg->msgnum; if ((Msg->Flags & MSGFLAG_READ) != 0) { bp->unread_oments++; } } else { syslog(LOG_DEBUG, "** comment %ld is unparented", Msg->msgnum); } return 200; } /* * Sort a list of 'struct blogpost' pointers by newest-to-oldest msgnum. * With big thanks to whoever wrote http://www.c.happycodings.com/Sorting_Searching/code14.html */ static int blogview_sortfunc(const void *a, const void *b) { struct blogpost * const *one = a; struct blogpost * const *two = b; if ( (*one)->msgs[0] > (*two)->msgs[0] ) return(-1); if ( (*one)->msgs[0] < (*two)->msgs[0] ) return(+1); return(0); } /* * All blogpost entries are now in the hash list. * Sort them, select the desired range, and render what we want to see. */ int blogview_render(SharedMessageStatus *Stat, void **ViewSpecific, long oper) { BLOG *BL = (BLOG*) *ViewSpecific; HashPos *it; const char *Key; void *Data; long len; int i; struct blogpost **blogposts = NULL; int num_blogposts = 0; int num_blogposts_alloc = 0; int with_comments = 0; int firstp = 0; int maxp = 0; /* Comments are shown if we are only viewing a single blog post */ with_comments = (BL->p != 0); firstp = ibstr("firstp"); /* start reading at... */ maxp = ibstr("maxp"); /* max posts to show... */ if (maxp < 1) maxp = 5; /* default; move somewhere else? */ it = GetNewHashPos(BL->BLOG, 0); if ((BL->gotonext) && (BL->p == 0)) { /* did we come here via gotonext? lets find out whether * this blog has just one blogpost with new comments just display * this one. */ struct blogpost *unread_bp = NULL; int unread_count = 0; while (GetNextHashPos(BL->BLOG, it, &len, &Key, &Data)) { struct blogpost *one_bp = (struct blogpost *) Data; if (one_bp->unread_oments > 0) { unread_bp = one_bp; unread_count++; } } if (unread_count == 1) { blogpost_render(unread_bp, 1); DeleteHashPos(&it); return 0; } RewindHashPos(BL->BLOG, it, 0); } /* Iterate through the hash list and copy the data pointers into an array */ while (GetNextHashPos(BL->BLOG, it, &len, &Key, &Data)) { if (num_blogposts >= num_blogposts_alloc) { if (num_blogposts_alloc == 0) { num_blogposts_alloc = 100; } else { num_blogposts_alloc *= 2; } blogposts = realloc(blogposts, (num_blogposts_alloc * sizeof (struct blogpost *))); } blogposts[num_blogposts++] = (struct blogpost *) Data; } DeleteHashPos(&it); /* Now we have our array. It is ONLY an array of pointers. The objects to * which they point are still owned by the hash list. */ if (num_blogposts > 0) { int start_here = 0; /* Sort newest-to-oldest */ qsort(blogposts, num_blogposts, sizeof(void *), blogview_sortfunc); /* allow the user to select a starting point in the list */ for (i=0; itop_level_id == firstp) { start_here = i; } } /* FIXME -- allow the user (or a default setting) to select a maximum number of posts to display */ /* Now go through the list and render what we've got */ for (i=start_here; i 0) && (i == start_here)) { int j = i - maxp; if (j < 0) j = 0; wc_printf("\n", _("Newer posts")); } if (i < (start_here + maxp)) { blogpost_render(blogposts[i], with_comments); } else if (i == (start_here + maxp)) { wc_printf("\n", _("Older posts")); } } /* Done. We are only freeing the array of pointers; the data itself * will be freed along with the hash list. */ free(blogposts); } return(0); } int blogview_Cleanup(void **ViewSpecific) { BLOG *BL = (BLOG*) *ViewSpecific; FreeStrBuf(&BL->Buf); FreeStrBuf(&BL->Charset); DeleteHash(&BL->BLOG); free(BL); wDumpContent(1); return 0; } void InitModule_BLOGVIEWRENDERERS (void) { RegisterReadLoopHandlerset( VIEW_BLOG, blogview_GetParamsGetServerCall, NULL, NULL, NULL, blogview_LoadMsgFromServer, blogview_render, blogview_Cleanup ); RegisterNamespace("BLOG:PERMALINK", 0, 0, tmplput_blog_permalink, NULL, CTX_NONE); } webcit-9.01-dfsg/bootstrap000077500000000000000000000016021254743150300156070ustar00rootroot00000000000000#!/bin/sh # # run me after checking WebCit out of svn. # # Remove any vestiges of pre-6.05 build environments rm -f .libs modules *.so *.lo *.la 2>/dev/null if ./scripts/get_ical_data.sh; then echo ... running aclocal ... aclocal echo ... running autoconf ... autoconf # If your autoconf version changes, the autom4te.cache stuff will mess you up. # Get rid of it. echo ... removing autoheader cache files ... rm -rf autom4te*.cache echo ... running autoheader ... autoheader echo ... mk_module_init.sh ... ./scripts/mk_module_init.sh echo echo This script has been tested with autoconf 2.53 and echo automake 1.5. Other versions may work, but I recommend the latest echo compatible versions of these. echo echo Also note that autoconf and automake should be configured echo with the same prefix. echo fi webcit-9.01-dfsg/buildpackages000077500000000000000000000043121254743150300163710ustar00rootroot00000000000000#!/bin/bash if test -x Makefile; then make clean fi ./bootstrap export `grep PACKAGE_VERSION= configure |sed -e "s;';;g" -e "s;PACKAGE;WEBCIT;"` PACKAGE_VERSION=`cat packageversion` DATE=`date '+%a, %d %b %Y %H:%I:00 %z'` ACTUAL_DIR=`pwd` rm -rf debian/citadel-webcit debian/tmp/ if echo "$ACTUAL_DIR" |grep -q "$WEBCIT_VERSION"; then echo "directory ($ACTUAL_DIR) naming scheme seems right. nothing done." else done=false if test -L "$ACTUAL_DIR"; then SYMLINK_=`pwd` SYMLINK=`ls -l $SYMLINK_|sed "s;.*-> ;;"` if ls -l $SYMLINK_|grep -q "$WEBCIT_VERSION"; then done=true fi else SYMLINK=`pwd|sed "s;.*/;;"` fi if test "$done" = "false"; then cd .. ln -sf webcit "webcit-$WEBCIT_VERSION" cd "webcit-$WEBCIT_VERSION" else cd "../webcit-$WEBCIT_VERSION" fi fi case $1 in debian) if grep -q "($WEBCIT_VERSION" debian/changelog; then echo rebuilding package. else echo "Upstream Version higher than local." fi if test "$2" == "src"; then cd .. rm -rf tmp mkdir tmp cp -rL webcit-$WEBCIT_VERSION tmp cd tmp/webcit-$WEBCIT_VERSION rm -rf `find -name .svn ` svn*tmp* build-stamp configure-stamp *~ config.guess config.log config.status autom4te.cache Makefile find -type f -exec chmod a-x {} \; chmod a+x configure debian/rules po/create-pot.sh mk_module_init.sh cd .. tar -chzf webcit_${WEBCIT_VERSION}.orig.tar.gz webcit-${WEBCIT_VERSION}/ --exclude "debian/*" pwd cd webcit-${WEBCIT_VERSION}; debuild -S -sa -kw.goesgens@outgesourced.org else fakeroot dpkg-buildpackage fi ;; sourcedist) if test "$2" == "dfsg"; then NONDFSG=-"-exclude static/webcit_icons/openid-small.gif" fi cd ..; tar \ --exclude ".gitignore" \ --exclude "*.lo" \ --exclude "*.o" \ --exclude "*.d" \ --exclude "autom4te.cache/*" \ --exclude "debian/*" \ --exclude "sysdep.h" \ \ $NONDFSG \ \ -cvhzf webcit-${WEBCIT_VERSION}.tar.gz webcit-${WEBCIT_VERSION}/ ;; i18n) ./webcit -G `pwd`/i18n_templatelist.c cd po/webcit; ./create-pot.sh ;; *) echo "Not yet implemented. we have: debian, sourcedist, i18n (needs ready compiled & installed webcit in your system)" ;; esac webcit-9.01-dfsg/calendar.c000066400000000000000000000651211254743150300155670ustar00rootroot00000000000000/* * Functions which handle calendar objects and their processing/display. * * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" #include "calendar.h" /* * Process a calendar object. At this point it's already been deserialized by cal_process_attachment() * * cal: the calendar object * recursion_level: Number of times we've recursed into this function * msgnum: Message number on the Citadel server * cal_partnum: MIME part number within that message containing the calendar object */ void cal_process_object(StrBuf *Target, icalcomponent *cal, int recursion_level, long msgnum, const char *cal_partnum) { icalcomponent *c; icalproperty *method = NULL; icalproperty_method the_method = ICAL_METHOD_NONE; icalproperty *p; struct icaltimetype t; time_t tt; char buf[256]; char conflict_name[256]; char conflict_message[256]; int is_update = 0; char divname[32]; static int divcount = 0; const char *ch; sprintf(divname, "rsvp%04x", ++divcount); /* Convert timezones to something easy to display. * It's safe to do this in memory because we're only changing it on the * display side -- when we tell the server to do something with the object, * the server will be working with its original copy in the database. */ if ((cal) && (recursion_level == 0)) { ical_dezonify(cal); } /* Leading HTML for the display of this object */ if (recursion_level == 0) { StrBufAppendPrintf(Target, "
\n"); } /* Look for a method */ method = icalcomponent_get_first_property(cal, ICAL_METHOD_PROPERTY); /* See what we need to do with this */ if (method != NULL) { char *title; the_method = icalproperty_get_method(method); StrBufAppendPrintf(Target, "
", divname); StrBufAppendPrintf(Target, ""); StrBufAppendPrintf(Target, ""); switch(the_method) { case ICAL_METHOD_REQUEST: title = _("Meeting invitation"); break; case ICAL_METHOD_REPLY: title = _("Attendee's reply to your invitation"); break; case ICAL_METHOD_PUBLISH: title = _("Published event"); break; default: title = _("This is an unknown type of calendar item."); break; } StrBufAppendPrintf(Target, ""); StrBufAppendPrintf(Target, "  %s",title); StrBufAppendPrintf(Target, "
"); } StrBufAppendPrintf(Target, "
"); p = icalcomponent_get_first_property(cal, ICAL_SUMMARY_PROPERTY); if (p != NULL) { StrBufAppendPrintf(Target, "
"); StrBufAppendPrintf(Target, _("Summary:")); StrBufAppendPrintf(Target, "
"); StrEscAppend(Target, NULL, (char *)icalproperty_get_comment(p), 0, 0); StrBufAppendPrintf(Target, "
\n"); } p = icalcomponent_get_first_property(cal, ICAL_LOCATION_PROPERTY); if (p != NULL) { StrBufAppendPrintf(Target, "
"); StrBufAppendPrintf(Target, _("Location:")); StrBufAppendPrintf(Target, "
"); StrEscAppend(Target, NULL, (char *)icalproperty_get_comment(p), 0, 0); StrBufAppendPrintf(Target, "
\n"); } /* * Only show start/end times if we're actually looking at the VEVENT * component. Otherwise it shows bogus dates for things like timezone. */ if (icalcomponent_isa(cal) == ICAL_VEVENT_COMPONENT) { p = icalcomponent_get_first_property(cal, ICAL_DTSTART_PROPERTY); if (p != NULL) { t = icalproperty_get_dtstart(p); if (t.is_date) { struct tm d_tm; char d_str[32]; memset(&d_tm, 0, sizeof d_tm); d_tm.tm_year = t.year - 1900; d_tm.tm_mon = t.month - 1; d_tm.tm_mday = t.day; wc_strftime(d_str, sizeof d_str, "%x", &d_tm); StrBufAppendPrintf(Target, "
"); StrBufAppendPrintf(Target, _("Date:")); StrBufAppendPrintf(Target, "
%s
", d_str); } else { tt = icaltime_as_timet(t); webcit_fmt_date(buf, 256, tt, DATEFMT_FULL); StrBufAppendPrintf(Target, "
"); StrBufAppendPrintf(Target, _("Starting date/time:")); StrBufAppendPrintf(Target, "
%s
", buf); } } p = icalcomponent_get_first_property(cal, ICAL_DTEND_PROPERTY); if (p != NULL) { t = icalproperty_get_dtend(p); tt = icaltime_as_timet(t); webcit_fmt_date(buf, 256, tt, DATEFMT_FULL); StrBufAppendPrintf(Target, "
"); StrBufAppendPrintf(Target, _("Ending date/time:")); StrBufAppendPrintf(Target, "
%s
", buf); } } p = icalcomponent_get_first_property(cal, ICAL_DESCRIPTION_PROPERTY); if (p != NULL) { StrBufAppendPrintf(Target, "
"); StrBufAppendPrintf(Target, _("Description:")); StrBufAppendPrintf(Target, "
"); StrEscAppend(Target, NULL, (char *)icalproperty_get_comment(p), 0, 0); StrBufAppendPrintf(Target, "
\n"); } if (icalcomponent_get_first_property(cal, ICAL_RRULE_PROPERTY)) { /* Unusual string syntax used here in order to re-use existing translations */ StrBufAppendPrintf(Target, "
%s:
%s.
\n", _("Recurrence"), _("This is a recurring event") ); } /* If the component has attendees, iterate through them. */ for (p = icalcomponent_get_first_property(cal, ICAL_ATTENDEE_PROPERTY); (p != NULL); p = icalcomponent_get_next_property(cal, ICAL_ATTENDEE_PROPERTY)) { StrBufAppendPrintf(Target, "
"); StrBufAppendPrintf(Target, _("Attendee:")); StrBufAppendPrintf(Target, "
"); ch = icalproperty_get_attendee(p); if ((ch != NULL) && !strncasecmp(ch, "MAILTO:", 7)) { /** screen name or email address */ safestrncpy(buf, ch + 7, sizeof(buf)); striplt(buf); StrEscAppend(Target, NULL, buf, 0, 0); StrBufAppendPrintf(Target, " "); /** participant status */ partstat_as_string(buf, p); StrEscAppend(Target, NULL, buf, 0, 0); } StrBufAppendPrintf(Target, "
\n"); } /* If the component has subcomponents, recurse through them. */ for (c = icalcomponent_get_first_component(cal, ICAL_ANY_COMPONENT); (c != 0); c = icalcomponent_get_next_component(cal, ICAL_ANY_COMPONENT)) { /* Recursively process subcomponent */ cal_process_object(Target, c, recursion_level+1, msgnum, cal_partnum); } /* If this is a REQUEST, display conflicts and buttons */ if (the_method == ICAL_METHOD_REQUEST) { /* Check for conflicts */ syslog(LOG_DEBUG, "Checking server calendar for conflicts...\n"); serv_printf("ICAL conflicts|%ld|%s|", msgnum, cal_partnum); serv_getln(buf, sizeof buf); if (buf[0] == '1') { while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) { extract_token(conflict_name, buf, 3, '|', sizeof conflict_name); is_update = extract_int(buf, 4); if (is_update) { snprintf(conflict_message, sizeof conflict_message, _("This is an update of '%s' which is already in your calendar."), conflict_name); } else { snprintf(conflict_message, sizeof conflict_message, _("This event would conflict with '%s' which is already in your calendar."), conflict_name); } StrBufAppendPrintf(Target, "
%s", (is_update ? _("Update:") : _("CONFLICT:") ) ); StrBufAppendPrintf(Target, "
"); StrEscAppend(Target, NULL, conflict_message, 0, 0); StrBufAppendPrintf(Target, "
\n"); } } syslog(LOG_DEBUG, "...done.\n"); StrBufAppendPrintf(Target, "
"); /* Display the Accept/Decline buttons */ StrBufAppendPrintf(Target, "

" "%s " "    " "%s" "   " "%s" "   " "%s" "

\n", divname, _("How would you like to respond to this invitation?"), divname, divname, msgnum, cal_partnum, _("Accept"), divname, divname, msgnum, cal_partnum, _("Tentative"), divname, divname, msgnum, cal_partnum, _("Decline") ); } /* If this is a REPLY, display update button */ if (the_method == ICAL_METHOD_REPLY) { /* Display the update buttons */ StrBufAppendPrintf(Target, "

" "%s " "    " "%s" "   " "%s" "

\n", divname, _("Click Update to accept this reply and update your calendar."), divname, divname, msgnum, cal_partnum, _("Update"), divname, divname, msgnum, cal_partnum, _("Ignore") ); } /* Trailing HTML for the display of this object */ if (recursion_level == 0) { StrBufAppendPrintf(Target, "

 

\n"); } } /* * Deserialize a calendar object in a message so it can be displayed. */ void cal_process_attachment(wc_mime_attachment *Mime) { icalcomponent *cal; cal = icalcomponent_new_from_string(ChrPtr(Mime->Data)); FlushStrBuf(Mime->Data); if (cal == NULL) { StrBufAppendPrintf(Mime->Data, _("There was an error parsing this calendar item.")); StrBufAppendPrintf(Mime->Data, "
\n"); return; } cal_process_object(Mime->Data, cal, 0, Mime->msgnum, ChrPtr(Mime->PartNum)); /* Free the memory we obtained from libical's constructor */ icalcomponent_free(cal); } /* * Respond to a meeting request - accept/decline meeting */ void respond_to_request(void) { char buf[1024]; begin_ajax_response(); serv_printf("ICAL respond|%s|%s|%s|", bstr("msgnum"), bstr("cal_partnum"), bstr("sc") ); serv_getln(buf, sizeof buf); if (buf[0] == '2') { wc_printf(""); if (!strcasecmp(bstr("sc"), "accept")) { wc_printf(_("You have accepted this meeting invitation. " "It has been entered into your calendar.") ); } else if (!strcasecmp(bstr("sc"), "tentative")) { wc_printf(_("You have tentatively accepted this meeting invitation. " "It has been 'pencilled in' to your calendar.") ); } else if (!strcasecmp(bstr("sc"), "decline")) { wc_printf(_("You have declined this meeting invitation. " "It has not been entered into your calendar.") ); } wc_printf(" "); wc_printf(_("A reply has been sent to the meeting organizer.")); wc_printf(""); } else { wc_printf(""); wc_printf("%s\n", &buf[4]); wc_printf(""); } end_ajax_response(); } /* * Handle an incoming RSVP */ void handle_rsvp(void) { char buf[1024]; begin_ajax_response(); serv_printf("ICAL handle_rsvp|%s|%s|%s|", bstr("msgnum"), bstr("cal_partnum"), bstr("sc") ); serv_getln(buf, sizeof buf); if (buf[0] == '2') { wc_printf(""); if (!strcasecmp(bstr("sc"), "update")) { /// Translators: RSVP aka Répondez s'il-vous-plaît Is the term /// that the recipient of an ical-invitation should please /// answer this request. wc_printf(_("Your calendar has been updated to reflect this RSVP.")); } else if (!strcasecmp(bstr("sc"), "ignore")) { wc_printf(_("You have chosen to ignore this RSVP. " "Your calendar has not been updated.") ); } wc_printf(""); } else { wc_printf(" %s\n", &buf[4]); wc_printf(""); } end_ajax_response(); } /* * free memory allocated using libical */ void delete_cal(void *vCal) { disp_cal *Cal = (disp_cal*) vCal; icalcomponent_free(Cal->cal); free(Cal->from); free(Cal); } /* * This is the meat-and-bones of the first part of our two-phase calendar display. * As we encounter calendar items in messages being read from the server, we break out * any iCalendar objects and store them in a hash table. Later on, the second phase will * use this hash table to render the calendar for display. */ void display_individual_cal(icalcomponent *event, long msgnum, char *from, int unread, calview *calv) { icalproperty *ps = NULL; struct icaltimetype dtstart, dtend; struct icaldurationtype dur; wcsession *WCC = WC; disp_cal *Cal; size_t len; time_t final_recurrence = 0; icalcomponent *cptr = NULL; /* recur variables */ icalproperty *rrule = NULL; struct icalrecurrencetype recur; icalrecur_iterator *ritr = NULL; struct icaltimetype next; int num_recur = 0; int stop_rr = 0; /* first and foremost, check for bogosity. bail if we see no DTSTART property */ if (icalcomponent_get_first_property(icalcomponent_get_first_component( event, ICAL_VEVENT_COMPONENT), ICAL_DTSTART_PROPERTY) == NULL) { return; } /* ok, chances are we've got a live one here. let's try to figure out where it goes. */ dtstart = icaltime_null_time(); dtend = icaltime_null_time(); if (WCC->disp_cal_items == NULL) { WCC->disp_cal_items = NewHash(0, Flathash); } /* Note: anything we do here, we also have to do below for the recurrences. */ Cal = (disp_cal*) malloc(sizeof(disp_cal)); memset(Cal, 0, sizeof(disp_cal)); Cal->cal = icalcomponent_new_clone(event); /* Dezonify and decapsulate at the very last moment */ ical_dezonify(Cal->cal); if (icalcomponent_isa(Cal->cal) != ICAL_VEVENT_COMPONENT) { cptr = icalcomponent_get_first_component(Cal->cal, ICAL_VEVENT_COMPONENT); if (cptr) { cptr = icalcomponent_new_clone(cptr); icalcomponent_free(Cal->cal); Cal->cal = cptr; } } Cal->unread = unread; len = strlen(from); Cal->from = (char*)malloc(len+ 1); memcpy(Cal->from, from, len + 1); Cal->cal_msgnum = msgnum; /* Precalculate the starting date and time of this event, and store it in our top-level * structure. Later, when we are rendering the calendar, we can just peek at these values * without having to break apart every calendar item. */ ps = icalcomponent_get_first_property(Cal->cal, ICAL_DTSTART_PROPERTY); if (ps != NULL) { dtstart = icalproperty_get_dtstart(ps); Cal->event_start = icaltime_as_timet(dtstart); } /* Do the same for the ending date and time. It makes the day view much easier to render. */ ps = icalcomponent_get_first_property(Cal->cal, ICAL_DTEND_PROPERTY); if (ps != NULL) { dtend = icalproperty_get_dtend(ps); Cal->event_end = icaltime_as_timet(dtend); } /* Store it in the hash list. */ /* syslog(LOG_DEBUG, "INITIAL: %s", ctime(&Cal->event_start)); */ Put(WCC->disp_cal_items, (char*) &Cal->event_start, sizeof(Cal->event_start), Cal, delete_cal); /****************************** handle recurring events ******************************/ if (icaltime_is_null_time(dtstart)) return; /* Can't recur without a start time */ if (!icaltime_is_null_time(dtend)) { /* Need duration for recurrences */ dur = icaltime_subtract(dtend, dtstart); } else { dur = icaltime_subtract(dtstart, dtstart); } /* * Just let libical iterate the recurrence, and keep looping back to the top of this function, * adding new hash entries that all point back to the same msgnum, until either the iteration * stops or some outer bound is reached. The display code will automatically do the Right Thing. */ cptr = event; if (icalcomponent_isa(cptr) != ICAL_VEVENT_COMPONENT) { cptr = icalcomponent_get_first_component(cptr, ICAL_VEVENT_COMPONENT); } if (!cptr) return; ps = icalcomponent_get_first_property(cptr, ICAL_DTSTART_PROPERTY); if (ps == NULL) return; dtstart = icalproperty_get_dtstart(ps); rrule = icalcomponent_get_first_property(cptr, ICAL_RRULE_PROPERTY); if (!rrule) return; recur = icalproperty_get_rrule(rrule); ritr = icalrecur_iterator_new(recur, dtstart); if (!ritr) return; while (next = icalrecur_iterator_next(ritr), ((!icaltime_is_null_time(next))&&(!stop_rr)) ) { ++num_recur; if (num_recur > 1) { /* Skip the first one. We already did it at the root. */ icalcomponent *cptr; /* Note: anything we do here, we also have to do above for the root event. */ Cal = (disp_cal*) malloc(sizeof(disp_cal)); memset(Cal, 0, sizeof(disp_cal)); Cal->cal = icalcomponent_new_clone(event); Cal->unread = unread; len = strlen(from); Cal->from = (char*)malloc(len+ 1); memcpy(Cal->from, from, len + 1); Cal->cal_msgnum = msgnum; if (icalcomponent_isa(Cal->cal) == ICAL_VEVENT_COMPONENT) { cptr = Cal->cal; } else { cptr = icalcomponent_get_first_component(Cal->cal, ICAL_VEVENT_COMPONENT); } if (cptr) { /* Remove any existing DTSTART properties */ while ( ps = icalcomponent_get_first_property(cptr, ICAL_DTSTART_PROPERTY), ps != NULL ) { icalcomponent_remove_property(cptr, ps); } /* Add our shiny new DTSTART property from the iteration */ ps = icalproperty_new_dtstart(next); icalcomponent_add_property(cptr, ps); Cal->event_start = icaltime_as_timet(next); final_recurrence = Cal->event_start; /* Remove any existing DTEND properties */ while ( ps = icalcomponent_get_first_property(cptr, ICAL_DTEND_PROPERTY), (ps != NULL) ) { icalcomponent_remove_property(cptr, ps); } /* Add our shiny new DTEND property from the iteration */ ps = icalproperty_new_dtend(icaltime_add(next, dur)); icalcomponent_add_property(cptr, ps); } /* Dezonify and decapsulate at the very last moment */ ical_dezonify(Cal->cal); if (icalcomponent_isa(Cal->cal) != ICAL_VEVENT_COMPONENT) { cptr = icalcomponent_get_first_component(Cal->cal, ICAL_VEVENT_COMPONENT); if (cptr) { cptr = icalcomponent_new_clone(cptr); icalcomponent_free(Cal->cal); Cal->cal = cptr; } } if ( (Cal->event_start > calv->lower_bound) && (Cal->event_start < calv->upper_bound) ) { /* syslog(LOG_DEBUG, "REPEATS: %s", ctime(&Cal->event_start)); */ Put(WCC->disp_cal_items, (char*) &Cal->event_start, sizeof(Cal->event_start), Cal, delete_cal ); } else { delete_cal(Cal); } /* If an upper bound is set, stop when we go out of scope */ if (final_recurrence > calv->upper_bound) stop_rr = 1; } } icalrecur_iterator_free(ritr); /* syslog(LOG_DEBUG, "Performed %d recurrences; final one is %s", num_recur, ctime(&final_recurrence)); */ } void process_ical_object(long msgnum, int unread, char *from, char *FlatIcal, icalcomponent_kind which_kind, IcalCallbackFunc CallBack, calview *calv ) { icalcomponent *cal, *c; cal = icalcomponent_new_from_string(FlatIcal); if (cal != NULL) { /* A which_kind of (-1) means just load the whole thing */ if (which_kind == (-1)) { CallBack(cal, msgnum, from, unread, calv); } /* Otherwise recurse and hunt */ else { /* Simple components of desired type */ if (icalcomponent_isa(cal) == which_kind) { CallBack(cal, msgnum, from, unread, calv); } /* Subcomponents of desired type */ for (c = icalcomponent_get_first_component(cal, which_kind); (c != 0); c = icalcomponent_get_next_component(cal, which_kind)) { CallBack(c, msgnum, from, unread, calv); } } icalcomponent_free(cal); } } /* * Code common to all icalendar display handlers. Given a message number and a MIME * type, we load the message and hunt for that MIME type. If found, we load * the relevant part, deserialize it into a libical component, filter it for * the requested object type, and feed it to the specified handler. */ void load_ical_object(long msgnum, int unread, icalcomponent_kind which_kind, IcalCallbackFunc CallBack, calview *calv, int RenderAsync ) { StrBuf *Buf; StrBuf *Data = NULL; const char *bptr; int Done = 0; char from[128] = ""; char mime_partnum[256]; char mime_filename[256]; char mime_content_type[256]; char mime_disposition[256]; char relevant_partnum[256]; char *relevant_source = NULL; int phase = 0; /* 0 = citadel headers, 1 = mime headers, 2 = body */ char msg4_content_type[256] = ""; char msg4_content_encoding[256] = ""; int msg4_content_length = 0; relevant_partnum[0] = '\0'; serv_printf("MSG4 %ld", msgnum); /* we need the mime headers */ Buf = NewStrBuf(); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) != 1) { FreeStrBuf (&Buf); return; } while (!Done && (StrBuf_ServGetln(Buf)>=0)) { if ( (StrLength(Buf)==3) && !strcmp(ChrPtr(Buf), "000")) { Done = 1; break; } bptr = ChrPtr(Buf); switch (phase) { case 0: if (!strncasecmp(bptr, "part=", 5)) { extract_token(mime_filename, &bptr[5], 1, '|', sizeof mime_filename); extract_token(mime_partnum, &bptr[5], 2, '|', sizeof mime_partnum); extract_token(mime_disposition, &bptr[5], 3, '|', sizeof mime_disposition); extract_token(mime_content_type, &bptr[5], 4, '|', sizeof mime_content_type); /* do we care? mime_length = */extract_int(&bptr[5], 5); if ( (!strcasecmp(mime_content_type, "text/calendar")) || (!strcasecmp(mime_content_type, "application/ics")) || (!strcasecmp(mime_content_type, "text/vtodo")) || (!strcasecmp(mime_content_type, "text/todo")) ) { strcpy(relevant_partnum, mime_partnum); } } else if (!strncasecmp(bptr, "from=", 4)) { extract_token(from, bptr, 1, '=', sizeof(from)); } else if ((phase == 0) && (!strncasecmp(bptr, "text", 4))) { phase = 1; } break; case 1: if (!IsEmptyStr(bptr)) { if (!strncasecmp(bptr, "Content-type: ", 14)) { safestrncpy(msg4_content_type, &bptr[14], sizeof msg4_content_type); striplt(msg4_content_type); } else if (!strncasecmp(bptr, "Content-transfer-encoding: ", 27)) { safestrncpy(msg4_content_encoding, &bptr[27], sizeof msg4_content_encoding); striplt(msg4_content_type); } else if ((!strncasecmp(bptr, "Content-length: ", 16))) { msg4_content_length = atoi(&bptr[16]); } break; } else { phase++; if ((msg4_content_length > 0) && ( !strcasecmp(msg4_content_encoding, "7bit")) && ((!strcasecmp(mime_content_type, "text/calendar")) || (!strcasecmp(mime_content_type, "application/ics")) || (!strcasecmp(mime_content_type, "text/vtodo")) || (!strcasecmp(mime_content_type, "text/todo")) ) ) { } } case 2: if (Data == NULL) Data = NewStrBufPlain(NULL, msg4_content_length * 2); if (msg4_content_length > 0) { StrBuf_ServGetBLOBBuffered(Data, msg4_content_length); phase ++; } else { StrBufAppendBuf(Data, Buf, 0); StrBufAppendBufPlain(Data, "\r\n", 1, 0); } case 3: StrBufAppendBuf(Data, Buf, 0); } } FreeStrBuf(&Buf); /* If MSG4 didn't give us the part we wanted, but we know that we can find it * as one of the other MIME parts, attempt to load it now. */ if ((Data == NULL) && (!IsEmptyStr(relevant_partnum))) { Data = load_mimepart(msgnum, relevant_partnum); } if (Data != NULL) { relevant_source = (char*) ChrPtr(Data); process_ical_object(msgnum, unread, from, relevant_source, which_kind, CallBack, calv); } FreeStrBuf (&Data); icalmemory_free_ring(); } /* * Display a calendar item */ int calendar_LoadMsgFromServer(SharedMessageStatus *Stat, void **ViewSpecific, message_summary* Msg, int is_new, int i) { calview *c = (calview*) *ViewSpecific; load_ical_object(Msg->msgnum, is_new, (-1), display_individual_cal, c, 1); return 0; } /* * display the editor component for an event */ void display_edit_event(void) { long msgnum = 0L; msgnum = lbstr("msgnum"); if (msgnum > 0L) { /* existing event */ load_ical_object(msgnum, 0, ICAL_VEVENT_COMPONENT, display_edit_individual_event, NULL, 0); } else { /* new event */ display_edit_individual_event(NULL, 0L, "", 0, NULL); } } /* * save an edited event */ void save_event(void) { long msgnum = 0L; msgnum = lbstr("msgnum"); if (msgnum > 0L) { load_ical_object(msgnum, 0, (-1), save_individual_event, NULL, 0); } else { save_individual_event(NULL, 0L, "", 0, NULL); } } /* * Anonymous request of freebusy data for a user */ void do_freebusy(void) { const char *req = ChrPtr(WC->Hdr->HR.ReqLine); char who[SIZ]; char buf[SIZ]; int len; long lines; extract_token(who, req, 0, ' ', sizeof who); if (!strncasecmp(who, "/freebusy/", 10)) { strcpy(who, &who[10]); } unescape_input(who); len = strlen(who); if ( (!strcasecmp(&who[len-4], ".vcf")) || (!strcasecmp(&who[len-4], ".ifb")) || (!strcasecmp(&who[len-4], ".vfb")) ) { who[len-4] = 0; } syslog(LOG_INFO, "freebusy requested for <%s>\n", who); serv_printf("ICAL freebusy|%s", who); serv_getln(buf, sizeof buf); if (buf[0] != '1') { hprintf("HTTP/1.1 404 %s\n", &buf[4]); output_headers(0, 0, 0, 0, 0, 0); hprintf("Content-Type: text/plain\r\n"); wc_printf("%s\n", &buf[4]); end_burst(); return; } read_server_text(WC->WBuf, &lines); http_transmit_thing("text/calendar", 0); } int calendar_Cleanup(void **ViewSpecific) { calview *c; c = (calview *) *ViewSpecific; wDumpContent(1); free (c); *ViewSpecific = NULL; return 0; } int __calendar_Cleanup(void **ViewSpecific) { calview *c; c = (calview *) *ViewSpecific; free (c); *ViewSpecific = NULL; return 0; } void InitModule_CALENDAR (void) { RegisterReadLoopHandlerset( VIEW_CALENDAR, calendar_GetParamsGetServerCall, NULL, NULL, NULL, calendar_LoadMsgFromServer, calendar_RenderView_or_Tail, calendar_Cleanup); RegisterReadLoopHandlerset( VIEW_CALBRIEF, calendar_GetParamsGetServerCall, NULL, NULL, NULL, calendar_LoadMsgFromServer, calendar_RenderView_or_Tail, calendar_Cleanup); RegisterPreference("daystart", _("Calendar day view begins at:"), PRF_INT, NULL); RegisterPreference("dayend", _("Calendar day view ends at:"), PRF_INT, NULL); RegisterPreference("weekstart", _("Week starts on:"), PRF_INT, NULL); WebcitAddUrlHandler(HKEY("freebusy"), "", 0, do_freebusy, COOKIEUNNEEDED|ANONYMOUS|FORCE_SESSIONCLOSE); WebcitAddUrlHandler(HKEY("display_edit_task"), "", 0, display_edit_task, 0); WebcitAddUrlHandler(HKEY("display_edit_event"), "", 0, display_edit_event, 0); WebcitAddUrlHandler(HKEY("save_event"), "", 0, save_event, 0); WebcitAddUrlHandler(HKEY("respond_to_request"), "", 0, respond_to_request, 0); WebcitAddUrlHandler(HKEY("handle_rsvp"), "", 0, handle_rsvp, 0); } webcit-9.01-dfsg/calendar.h000066400000000000000000000056501254743150300155750ustar00rootroot00000000000000/* * Copyright (c) 1996-2013 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #ifndef __CALENDAR_H__ #define __CALENDAR_H__ /* * calview contains data passed back and forth between the message fetching loop * and the calendar view renderer. */ enum { calview_month, calview_day, calview_week, calview_brief, calview_summary }; typedef struct _calview { int view; int year; int month; int day; time_t lower_bound; time_t upper_bound; }calview; typedef void (*IcalCallbackFunc)(icalcomponent *, long, char*, int, calview *); void display_individual_cal(icalcomponent *cal, long msgnum, char *from, int unread, calview *calv); void load_ical_object(long msgnum, int unread, icalcomponent_kind which_kind, IcalCallbackFunc CallBack, calview *calv, int RenderAsync ); int calendar_LoadMsgFromServer(SharedMessageStatus *Stat, void **ViewSpecific, message_summary* Msg, int is_new, int i); int calendar_RenderView_or_Tail(SharedMessageStatus *Stat, void **ViewSpecific, long oper); int calendar_GetParamsGetServerCall(SharedMessageStatus *Stat, void **ViewSpecific, long oper, char *cmd, long len, char *filter, long flen); int calendar_Cleanup(void **ViewSpecific); int __calendar_Cleanup(void **ViewSpecific); void render_calendar_view(calview *c); void display_edit_individual_event(icalcomponent *supplied_vtodo, long msgnum, char *from, int unread, calview *calv); void save_individual_event(icalcomponent *supplied_vtodo, long msgnum, char *from, int unread, calview *calv); void ical_dezonify(icalcomponent *cal); int tasks_LoadMsgFromServer(SharedMessageStatus *Stat, void **ViewSpecific, message_summary* Msg, int is_new, int i); void display_edit_task(void); void display_edit_event(void); icaltimezone *get_default_icaltimezone(void); void display_icaltimetype_as_webform(struct icaltimetype *, char *, int); void icaltime_from_webform(struct icaltimetype *result, char *prefix); void icaltime_from_webform_dateonly(struct icaltimetype *result, char *prefix); void partstat_as_string(char *buf, icalproperty *attendee); icalcomponent *ical_encapsulate_subcomponent(icalcomponent *subcomp); void check_attendee_availability(icalcomponent *supplied_vevent); int ical_ctdl_is_overlap( struct icaltimetype t1start, struct icaltimetype t1end, struct icaltimetype t2start, struct icaltimetype t2end ); #endif webcit-9.01-dfsg/calendar_tools.c000066400000000000000000000231461254743150300170100ustar00rootroot00000000000000/* * Miscellaneous functions which handle calendar components. * * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" #include "time.h" #include "calendar.h" /* Hour strings */ char *hourname[] = { "12am", "1am", "2am", "3am", "4am", "5am", "6am", "7am", "8am", "9am", "10am", "11am", "12pm", "1pm", "2pm", "3pm", "4pm", "5pm", "6pm", "7pm", "8pm", "9pm", "10pm", "11pm" }; /* * The display_icaltimetype_as_webform() and icaltime_from_webform() functions * handle the display and editing of date/time properties in web pages. The * first one converts an icaltimetype into valid HTML markup -- a series of form * fields for editing the date and time. When the user submits the form, the * results can be fed back into the second function, which turns it back into * an icaltimetype. The "prefix" string required by both functions is prepended * to all field names. This allows a form to contain more than one date/time * property (for example, a start and end time) by ensuring the field names are * unique within the form. * * NOTE: These functions assume that the icaltimetype being edited is in UTC, and * will convert to/from local time for editing. "local" in this case is assumed * to be the time zone in which the WebCit server is running. A future improvement * might be to allow the user to specify his/her timezone. */ void display_icaltimetype_as_webform(struct icaltimetype *t, char *prefix, int date_only) { wcsession *WCC = WC; int i; time_t now; struct tm tm_now; time_t tt; struct tm tm; int all_day_event = 0; int time_format; char timebuf[32]; time_format = get_time_format_cached (); now = time(NULL); localtime_r(&now, &tm_now); if (t == NULL) return; if (t->is_date) all_day_event = 1; tt = icaltime_as_timet(*t); if (all_day_event) { gmtime_r(&tt, &tm); } else { localtime_r(&tt, &tm); } wc_printf("WBuf, prefix, -1, 0); wc_printf("\" id=\""); StrBufAppendBufPlain(WCC->WBuf, prefix, -1, 0); wc_printf("\" size=\"10\" maxlength=\"10\" value=\""); wc_strftime(timebuf, 32, "%Y-%m-%d", &tm); StrBufAppendBufPlain(WCC->WBuf, timebuf, -1, 0); wc_printf("\">"); StrBufAppendPrintf(WC->trailing_javascript, "attachDatePicker('"); StrBufAppendPrintf(WC->trailing_javascript, prefix); StrBufAppendPrintf(WC->trailing_javascript, "', '%s');\n", get_selected_language()); /* If we're editing a date only, we still generate the time boxes, but we hide them. * This keeps the data model consistent. */ if (date_only) { wc_printf("
"); } wc_printf("WBuf, prefix, -1, 0); wc_printf("_time\">"); wc_printf(_("Hour: ")); wc_printf("\n"); wc_printf(_("Minute: ")); wc_printf("\n"); if (date_only) { wc_printf("
"); } } /* * Get date/time from a web form and convert it into an icaltimetype struct. */ void icaltime_from_webform(struct icaltimetype *t, char *prefix) { char vname[32]; if (!t) return; /* Stuff with zero values */ memset(t, 0, sizeof(struct icaltimetype)); /* Get the year/month/date all in one shot -- it will be in ISO YYYY-MM-DD format */ sscanf((char*)BSTR(prefix), "%04d-%02d-%02d", &t->year, &t->month, &t->day); /* hour */ sprintf(vname, "%s_hour", prefix); t->hour = IBSTR(vname); /* minute */ sprintf(vname, "%s_minute", prefix); t->minute = IBSTR(vname); /* time zone is set to the default zone for this server */ t->is_utc = 0; t->is_date = 0; t->zone = get_default_icaltimezone(); } /* * Get date (no time) from a web form and convert it into an icaltimetype struct. */ void icaltime_from_webform_dateonly(struct icaltimetype *t, char *prefix) { if (!t) return; /* Stuff with zero values */ memset(t, 0, sizeof(struct icaltimetype)); /* Get the year/month/date all in one shot -- it will be in ISO YYYY-MM-DD format */ sscanf((char*)BSTR(prefix), "%04d-%02d-%02d", &t->year, &t->month, &t->day); /* time zone is set to the default zone for this server */ t->is_utc = 1; t->is_date = 1; } /* * Render a PARTSTAT parameter as a string (and put it in parentheses) */ void partstat_as_string(char *buf, icalproperty *attendee) { icalparameter *partstat_param; icalparameter_partstat partstat; strcpy(buf, _("(status unknown)")); partstat_param = icalproperty_get_first_parameter( attendee, ICAL_PARTSTAT_PARAMETER ); if (partstat_param == NULL) { return; } partstat = icalparameter_get_partstat(partstat_param); switch(partstat) { case ICAL_PARTSTAT_X: strcpy(buf, "(x)"); break; case ICAL_PARTSTAT_NEEDSACTION: strcpy(buf, _("(needs action)")); break; case ICAL_PARTSTAT_ACCEPTED: strcpy(buf, _("(accepted)")); break; case ICAL_PARTSTAT_DECLINED: strcpy(buf, _("(declined)")); break; case ICAL_PARTSTAT_TENTATIVE: strcpy(buf, _("(tenative)")); break; case ICAL_PARTSTAT_DELEGATED: strcpy(buf, _("(delegated)")); break; case ICAL_PARTSTAT_COMPLETED: strcpy(buf, _("(completed)")); break; case ICAL_PARTSTAT_INPROCESS: strcpy(buf, _("(in process)")); break; case ICAL_PARTSTAT_NONE: strcpy(buf, _("(none)")); break; } } /* * Utility function to encapsulate a subcomponent into a full VCALENDAR. * * We also scan for any date/time properties that reference timezones, and attach * those timezones along with the supplied subcomponent. (Increase the size of the array if you need to.) * * Note: if you change anything here, change it in Citadel server's ical_send_out_invitations() too. */ icalcomponent *ical_encapsulate_subcomponent(icalcomponent *subcomp) { icalcomponent *encaps; icalproperty *p; struct icaltimetype t; const icaltimezone *attached_zones[5] = { NULL, NULL, NULL, NULL, NULL }; int i; const icaltimezone *z; int num_zones_attached = 0; int zone_already_attached; if (subcomp == NULL) { syslog(LOG_WARNING, "ERROR: ical_encapsulate_subcomponent() called with NULL argument\n"); return NULL; } /* * If we're already looking at a full VCALENDAR component, this is probably an error. */ if (icalcomponent_isa(subcomp) == ICAL_VCALENDAR_COMPONENT) { syslog(LOG_WARNING, "ERROR: component sent to ical_encapsulate_subcomponent() already top level\n"); return subcomp; } /* search for... */ for (p = icalcomponent_get_first_property(subcomp, ICAL_ANY_PROPERTY); p != NULL; p = icalcomponent_get_next_property(subcomp, ICAL_ANY_PROPERTY)) { if ( (icalproperty_isa(p) == ICAL_COMPLETED_PROPERTY) || (icalproperty_isa(p) == ICAL_CREATED_PROPERTY) || (icalproperty_isa(p) == ICAL_DATEMAX_PROPERTY) || (icalproperty_isa(p) == ICAL_DATEMIN_PROPERTY) || (icalproperty_isa(p) == ICAL_DTEND_PROPERTY) || (icalproperty_isa(p) == ICAL_DTSTAMP_PROPERTY) || (icalproperty_isa(p) == ICAL_DTSTART_PROPERTY) || (icalproperty_isa(p) == ICAL_DUE_PROPERTY) || (icalproperty_isa(p) == ICAL_EXDATE_PROPERTY) || (icalproperty_isa(p) == ICAL_LASTMODIFIED_PROPERTY) || (icalproperty_isa(p) == ICAL_MAXDATE_PROPERTY) || (icalproperty_isa(p) == ICAL_MINDATE_PROPERTY) || (icalproperty_isa(p) == ICAL_RECURRENCEID_PROPERTY) ) { t = icalproperty_get_dtstart(p); /*/ it's safe to use dtstart for all of them */ if ((icaltime_is_valid_time(t)) && (z=icaltime_get_timezone(t), z)) { zone_already_attached = 0; for (i=0; i<5; ++i) { if (z == attached_zones[i]) { ++zone_already_attached; syslog(LOG_DEBUG, "zone already attached!!\n"); } } if ((!zone_already_attached) && (num_zones_attached < 5)) { syslog(LOG_DEBUG, "attaching zone %d!\n", num_zones_attached); attached_zones[num_zones_attached++] = z; } icalproperty_set_parameter(p, icalparameter_new_tzid(icaltimezone_get_tzid((icaltimezone *)z)) ); } } } /* Encapsulate the VEVENT component into a complete VCALENDAR */ encaps = icalcomponent_new(ICAL_VCALENDAR_COMPONENT); if (encaps == NULL) { syslog(LOG_WARNING, "ERROR: ical_encapsulate_subcomponent() could not allocate component\n"); return NULL; } /* Set the Product ID */ icalcomponent_add_property(encaps, icalproperty_new_prodid(PRODID)); /* Set the Version Number */ icalcomponent_add_property(encaps, icalproperty_new_version("2.0")); /* Attach any timezones we need */ if (num_zones_attached > 0) for (i=0; i 6) weekstart = 0; /* * Now back up to the 1st of the month... */ memset(&starting_tm, 0, sizeof(struct tm)); starting_tm.tm_year = year - 1900; starting_tm.tm_mon = month - 1; starting_tm.tm_mday = 1; thetime = mktime(&starting_tm); memcpy(&tm, &starting_tm, sizeof(struct tm)); while (tm.tm_mday != 1) { thetime = thetime - (time_t)86400; /* go back 24 hours */ localtime_r(&thetime, &tm); } /* Determine previous and next months ... for links */ previous_month = thetime - (time_t)864000L; /* back 10 days */ next_month = thetime + (time_t)(31L * 86400L); /* ahead 31 days */ /* Now back up until we're on the user's preferred start day */ localtime_r(&thetime, &tm); while (tm.tm_wday != weekstart) { thetime = thetime - (time_t)86400; /* go back 24 hours */ localtime_r(&thetime, &tm); } wc_printf("
\n", div_id); /* Previous month link */ localtime_r(&previous_month, &tm); wc_printf("«", (int)(tm.tm_year)+1900, tm.tm_mon + 1); wc_strftime(colheader_label, sizeof colheader_label, "%B", &starting_tm); wc_printf("  " "" "%s %d" "" "  ", colheader_label, year); /* Next month link */ localtime_r(&next_month, &tm); wc_printf("»", (int)(tm.tm_year)+1900, tm.tm_mon + 1); wc_printf("" ""); colheader_time = thetime; for (i=0; i<7; ++i) { colheader_time = thetime + (i * 86400) ; localtime_r(&colheader_time, &colheader_tm); wc_strftime(colheader_label, sizeof colheader_label, "%A", &colheader_tm); wc_printf("", colheader_label[0]); } wc_printf("\n"); /* Now do 35 or 42 days */ for (i = 0; i < 42; ++i) { localtime_r(&thetime, &tm); if (i < 35) { /* Before displaying Sunday, start a new row */ if ((i % 7) == 0) { wc_printf(""); } if (tm.tm_mon == month-1) { snprintf(url, sizeof url, "readfwd?calview=day?year=%d?month=%d?day=%d", tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday); wc_printf("", url, tm.tm_mday); } else { wc_printf(""); } /* After displaying one week, end the row */ if ((i % 7) == 6) { wc_printf("\n"); } } thetime += (time_t)86400; /* ahead 24 hours */ } wc_printf("
%c
%d
" /* end of inner table */ "
\n"); StrBufAppendPrintf(WC->trailing_javascript, " function minical_change_month(year, month) { \n" " p = 'year=' + year + '&month=' + month \n" " + '&r=' + CtdlRandomString(); \n" " new Ajax.Updater('%s', 'mini_calendar', \n" " { method: 'get', parameters: p, evalScripts: true } ); \n" " } \n" "", div_id ); } /* * ajax embedder for the above mini calendar */ void ajax_mini_calendar(void) { embeddable_mini_calendar( ibstr("year"), ibstr("month")); } /* * Display one day of a whole month view of a calendar */ void calendar_month_view_display_events(int year, int month, int day) { long hklen; const char *HashKey; void *vCal; HashPos *Pos; disp_cal *Cal; icalproperty *p = NULL; icalproperty *q = NULL; struct icaltimetype t; struct icaltimetype end_t; struct icaltimetype today_start_t; struct icaltimetype today_end_t; struct icaltimetype today_t; struct tm starting_tm; struct tm ending_tm; int all_day_event = 0; int show_event = 0; char buf[256]; wcsession *WCC = WC; time_t tt; if (GetCount(WCC->disp_cal_items) == 0) { wc_printf("
\n"); return; } /* * Create an imaginary event which spans the 24 hours of today. Any events which * overlap with this one take place at least partially in this day. We have to * convert it from a struct tm in order to make it UTC. */ memset(&starting_tm, 0, sizeof(struct tm)); starting_tm.tm_year = year - 1900; starting_tm.tm_mon = month - 1; starting_tm.tm_mday = day; starting_tm.tm_hour = 0; starting_tm.tm_min = 0; today_start_t = icaltime_from_timet_with_zone(mktime(&starting_tm), 0, icaltimezone_get_utc_timezone()); today_start_t.is_utc = 1; memset(&ending_tm, 0, sizeof(struct tm)); ending_tm.tm_year = year - 1900; ending_tm.tm_mon = month - 1; ending_tm.tm_mday = day; ending_tm.tm_hour = 23; ending_tm.tm_min = 59; today_end_t = icaltime_from_timet_with_zone(mktime(&ending_tm), 0, icaltimezone_get_utc_timezone()); today_end_t.is_utc = 1; /* * Create another one without caring about the timezone for all day events. */ today_t = icaltime_null_date(); today_t.year = year; today_t.month = month; today_t.day = day; /* * Now loop through our list of events to see which ones occur today. */ Pos = GetNewHashPos(WCC->disp_cal_items, 0); while (GetNextHashPos(WCC->disp_cal_items, Pos, &hklen, &HashKey, &vCal)) { Cal = (disp_cal*)vCal; all_day_event = 0; q = icalcomponent_get_first_property(Cal->cal, ICAL_DTSTART_PROPERTY); if (q != NULL) { t = icalproperty_get_dtstart(q); } else { memset(&t, 0, sizeof t); } q = icalcomponent_get_first_property(Cal->cal, ICAL_DTEND_PROPERTY); if (q != NULL) { end_t = icalproperty_get_dtend(q); } else { memset(&end_t, 0, sizeof end_t); } if (t.is_date) all_day_event = 1; if (all_day_event) { show_event = ical_ctdl_is_overlap(t, end_t, today_t, icaltime_null_time()); } else { show_event = ical_ctdl_is_overlap(t, end_t, today_start_t, today_end_t); } /* * If we determined that this event occurs today, then display it. */ if (show_event) { /* time_t logtt = icaltime_as_timet(t); syslog(LOG_DEBUG, "Match on %04d-%02d-%02d for event %x%s on %s", year, month, day, (int)Cal, ((all_day_event) ? " (all day)" : ""), ctime(&logtt) ); */ p = icalcomponent_get_first_property(Cal->cal, ICAL_SUMMARY_PROPERTY); if (p == NULL) { p = icalproperty_new_summary(_("Untitled Event")); icalcomponent_add_property(Cal->cal, p); } if (p != NULL) { if (all_day_event) { wc_printf("" "
" ); } wc_printf("" "" , (Cal->unread)?"_unread":"_read", Cal->cal_msgnum, year, month, day ); escputs((char *) icalproperty_get_comment(p)); wc_printf(""); wc_printf("%s: %s
", _("From"), Cal->from); wc_printf("%s ", _("Summary:")); escputs((char *)icalproperty_get_comment(p)); wc_printf("
"); q = icalcomponent_get_first_property( Cal->cal, ICAL_LOCATION_PROPERTY); if (q) { wc_printf("%s ", _("Location:")); escputs((char *)icalproperty_get_comment(q)); wc_printf("
"); } /* * Only show start/end times if we're actually looking at the VEVENT * component. Otherwise it shows bogus dates for e.g. timezones */ if (icalcomponent_isa(Cal->cal) == ICAL_VEVENT_COMPONENT) { q = icalcomponent_get_first_property(Cal->cal, ICAL_DTSTART_PROPERTY); if (q != NULL) { int no_end = 0; t = icalproperty_get_dtstart(q); q = icalcomponent_get_first_property(Cal->cal, ICAL_DTEND_PROPERTY); if (q != NULL) { end_t = icalproperty_get_dtend(q); } else { /* * events with starting date/time equal * ending date/time might get only * DTSTART but no DTEND */ no_end = 1; } if (t.is_date) { /* all day event */ struct tm d_tm; if (!no_end) { /* end given, have to adjust it */ icaltime_adjust(&end_t, -1, 0, 0, 0); } memset(&d_tm, 0, sizeof d_tm); d_tm.tm_year = t.year - 1900; d_tm.tm_mon = t.month - 1; d_tm.tm_mday = t.day; wc_strftime(buf, sizeof buf, "%x", &d_tm); if (no_end || !icaltime_compare(t, end_t)) { wc_printf("%s %s
", _("Date:"), buf); } else { wc_printf("%s %s
", _("Starting date:"), buf); d_tm.tm_year = end_t.year - 1900; d_tm.tm_mon = end_t.month - 1; d_tm.tm_mday = end_t.day; wc_strftime(buf, sizeof buf, "%x", &d_tm); wc_printf("%s %s
", _("Ending date:"), buf); } } else { tt = icaltime_as_timet(t); webcit_fmt_date(buf, 256, tt, DATEFMT_BRIEF); if (no_end || !icaltime_compare(t, end_t)) { wc_printf("%s %s
", _("Date/time:"), buf); } else { wc_printf("%s %s
", _("Starting date/time:"), buf); tt = icaltime_as_timet(end_t); webcit_fmt_date(buf, 256, tt, DATEFMT_BRIEF); wc_printf("%s %s
", _("Ending date/time:"), buf); } } } } q = icalcomponent_get_first_property(Cal->cal, ICAL_DESCRIPTION_PROPERTY); if (q) { wc_printf("%s ", _("Notes:")); escputs((char *)icalproperty_get_comment(q)); wc_printf("
"); } wc_printf("
"); wc_printf("

\n"); if (all_day_event) { wc_printf("
"); } } } } DeleteHashPos(&Pos); } /* * Display one day of a whole month view of a calendar */ void calendar_month_view_brief_events(time_t thetime, const char *daycolor) { long hklen; const char *HashKey; void *vCal; HashPos *Pos; time_t event_tt; time_t event_tts; time_t event_tte; wcsession *WCC = WC; struct tm event_tms; struct tm event_tme; struct tm today_tm; icalproperty *p; icalproperty *e; struct icaltimetype t; disp_cal *Cal; int all_day_event = 0; char *timeformat; int time_format; time_format = get_time_format_cached (); if (time_format == WC_TIMEFORMAT_24) timeformat="%k:%M"; else timeformat="%I:%M %p"; localtime_r(&thetime, &today_tm); Pos = GetNewHashPos(WCC->disp_cal_items, 0); while (GetNextHashPos(WCC->disp_cal_items, Pos, &hklen, &HashKey, &vCal)) { Cal = (disp_cal*)vCal; p = icalcomponent_get_first_property(Cal->cal, ICAL_DTSTART_PROPERTY); if (p != NULL) { t = icalproperty_get_dtstart(p); event_tt = icaltime_as_timet(t); event_tts=event_tt; if (t.is_date) all_day_event = 1; else all_day_event = 0; if (all_day_event) { gmtime_r(&event_tts, &event_tms); } else { localtime_r(&event_tts, &event_tms); } /* \todo epoch &! daymask */ if ((event_tms.tm_year == today_tm.tm_year) && (event_tms.tm_mon == today_tm.tm_mon) && (event_tms.tm_mday == today_tm.tm_mday)) { char sbuf[255]; char ebuf[255]; p = icalcomponent_get_first_property( Cal->cal, ICAL_SUMMARY_PROPERTY); if (p == NULL) { p = icalproperty_new_summary(_("Untitled Event")); icalcomponent_add_property(Cal->cal, p); } e = icalcomponent_get_first_property( Cal->cal, ICAL_DTEND_PROPERTY); if ((p != NULL) && (e != NULL)) { time_t difftime; int hours, minutes; t = icalproperty_get_dtend(e); event_tte = icaltime_as_timet(t); localtime_r(&event_tte, &event_tme); difftime=(event_tte-event_tts)/60; hours=(int)(difftime / 60); minutes=difftime % 60; wc_printf("%i:%2i" "" "", daycolor, hours, minutes, (Cal->unread)?"_unread":"_read", daycolor, Cal->cal_msgnum, bstr("year"), bstr("month"), bstr("day") ); escputs((char *) icalproperty_get_comment(p)); /* \todo: allso ammitime format */ wc_strftime(&sbuf[0], sizeof(sbuf), timeformat, &event_tms); wc_strftime(&ebuf[0], sizeof(sbuf), timeformat, &event_tme); wc_printf("" "%s%s", daycolor, sbuf, daycolor, ebuf); } } } } DeleteHashPos(&Pos); } /* * view one month. pretty view */ void calendar_month_view(int year, int month, int day) { struct tm starting_tm; struct tm tm; struct tm today_tm; time_t thetime; int i; time_t previous_month; time_t next_month; time_t colheader_time; time_t today_timet; struct tm colheader_tm; char colheader_label[32]; long weekstart = 0; /* * Make sure we know which day is today. */ today_timet = time(NULL); localtime_r(&today_timet, &today_tm); /* * Determine what day to start. If an impossible value is found, start on Sunday. */ get_pref_long("weekstart", &weekstart, 17); if (weekstart > 6) weekstart = 0; /* * Now back up to the 1st of the month... */ memset(&starting_tm, 0, sizeof(struct tm)); starting_tm.tm_year = year - 1900; starting_tm.tm_mon = month - 1; starting_tm.tm_mday = day; thetime = mktime(&starting_tm); memcpy(&tm, &starting_tm, sizeof(struct tm)); while (tm.tm_mday != 1) { thetime = thetime - (time_t)86400; /* go back 24 hours */ localtime_r(&thetime, &tm); } /* Determine previous and next months ... for links */ previous_month = thetime - (time_t)864000L; /* back 10 days */ next_month = thetime + (time_t)(31L * 86400L); /* ahead 31 days */ /* Now back up until we're on the user's preferred start day */ localtime_r(&thetime, &tm); while (tm.tm_wday != weekstart) { thetime = thetime - (time_t)86400; /* go back 24 hours */ localtime_r(&thetime, &tm); } /* Outer table (to get the background color) */ wc_printf(" \n
"); wc_printf("\n"); wc_printf("
"); localtime_r(&previous_month, &tm); wc_printf("", (int)(tm.tm_year)+1900, tm.tm_mon + 1); wc_printf("\"%s\"\n", _("previous")); wc_strftime(colheader_label, sizeof colheader_label, "%B", &starting_tm); wc_printf("  " "" "%s %d" "" "  ", colheader_label, year); localtime_r(&next_month, &tm); wc_printf("", (int)(tm.tm_year)+1900, tm.tm_mon + 1); wc_printf("\"%s\"\n", _("next")); wc_printf("
\n"); /* Inner table (the real one) */ wc_printf(""); wc_printf(""); colheader_time = thetime; for (i=0; i<7; ++i) { colheader_time = thetime + (i * 86400) ; localtime_r(&colheader_time, &colheader_tm); wc_strftime(colheader_label, sizeof colheader_label, "%A", &colheader_tm); wc_printf("", colheader_label); } wc_printf("\n"); /* Now do 35 or 42 days */ localtime_r(&thetime, &tm); for (i = 0; i<42; ++i) { /* Before displaying the first day of the week, start a new row */ if ((i % 7) == 0) { wc_printf(""); /* After displaying the last day of the week, end the row */ if ((i % 7) == 6) { wc_printf("\n"); } thetime += (time_t)86400; /* ahead 24 hours */ localtime_r(&thetime, &tm); if ( ((i % 7) == 6) && (tm.tm_mon != month-1) && (tm.tm_mday < 15) ) { i = 100; /* break out of the loop */ } } wc_printf("
" "%s
"); wc_strftime(colheader_label, sizeof colheader_label, "%V", &tm); wc_printf("%s ", colheader_label); } wc_printf("
", ((tm.tm_mon != month-1) ? "out" : (((tm.tm_year == today_tm.tm_year) && (tm.tm_mon == today_tm.tm_mon) && (tm.tm_mday == today_tm.tm_mday)) ? "today" : ((tm.tm_wday==0 || tm.tm_wday==6) ? "weekend" : "day"))) ); if ((i==0) || (tm.tm_mday == 1)) { wc_strftime(colheader_label, sizeof colheader_label, "%B", &tm); wc_printf("%s ", colheader_label); } wc_printf("" "%d
", tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_mday); /* put the data here, stupid */ calendar_month_view_display_events( tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday ); wc_printf("
" /* end of inner table */ "
\n" /* end of outer table */ ); } /* * view one month. brief view */ void calendar_brief_month_view(int year, int month, int day) { struct tm starting_tm; struct tm tm; time_t thetime; int i; time_t previous_month; time_t next_month; char month_label[32]; /* Determine what day to start. * First, back up to the 1st of the month... */ memset(&starting_tm, 0, sizeof(struct tm)); starting_tm.tm_year = year - 1900; starting_tm.tm_mon = month - 1; starting_tm.tm_mday = day; thetime = mktime(&starting_tm); memcpy(&tm, &starting_tm, sizeof(struct tm)); while (tm.tm_mday != 1) { thetime = thetime - (time_t)86400; /* go back 24 hours */ localtime_r(&thetime, &tm); } /* Determine previous and next months ... for links */ previous_month = thetime - (time_t)864000L; /* back 10 days */ next_month = thetime + (time_t)(31L * 86400L); /* ahead 31 days */ /* Now back up until we're on a Sunday */ localtime_r(&thetime, &tm); while (tm.tm_wday != 0) { thetime = thetime - (time_t)86400; /* go back 24 hours */ localtime_r(&thetime, &tm); } /* Outer table (to get the background color) */ wc_printf("
\n"); wc_printf("\n"); wc_printf("
"); localtime_r(&previous_month, &tm); wc_printf("", (int)(tm.tm_year)+1900, tm.tm_mon + 1); wc_printf("\"%s\"\n", _("previous")); wc_strftime(month_label, sizeof month_label, "%B", &tm); wc_printf("  " "" "%s %d" "" "  ", month_label, year); localtime_r(&next_month, &tm); wc_printf("", (int)(tm.tm_year)+1900, tm.tm_mon + 1); wc_printf("\"%s\"\n", _("next")); wc_printf("
\n"); /* Inner table (the real one) */ wc_printf(""); wc_printf("\n"); wc_printf("
\n"); /* Now do 35 days */ for (i = 0; i < 35; ++i) { char weeknumber[255]; char weekday_name[32]; char *daycolor; localtime_r(&thetime, &tm); /* Before displaying Sunday, start a new CELL */ if ((i % 7) == 0) { wc_strftime(&weeknumber[0], sizeof(weeknumber), "%U", &tm); wc_printf("" " \n", _("Week"), weeknumber, _("Hours"), _("Subject"), _("Start"), _("End") ); } daycolor=((tm.tm_mon != month-1) ? "DDDDDD" : ((tm.tm_wday==0 || tm.tm_wday==6) ? "EEEECC" : "FFFFFF")); /* Day Header */ wc_strftime(weekday_name, sizeof weekday_name, "%A", &tm); wc_printf("\n", daycolor, weekday_name,tm.tm_mday, daycolor); /* put the data of one day here, stupid */ calendar_month_view_brief_events(thetime, daycolor); /* After displaying Saturday, end the row */ if ((i % 7) == 6) { wc_printf("
%s %s
%s%s%s%s
%s,%i." "
\n"); } thetime += (time_t)86400; /* ahead 24 hours */ } wc_printf("
" /* end of inner table */ "
\n" /* end of outer table */ ); } /* * Calendar week view -- not implemented yet, this is a stub function */ void calendar_week_view(int year, int month, int day) { wc_printf("
week view FIXME

\n"); } /* * display one day * Display events for a particular hour of a particular day. * (Specify hour < 0 to show "all day" events) * * dstart and dend indicate which hours our "daytime" begins and end */ void calendar_day_view_display_events(time_t thetime, int year, int month, int day, int notime_events, int dstart, int dend) { long hklen; const char *HashKey; void *vCal; HashPos *Pos; icalproperty *p = NULL; icalproperty *q = NULL; time_t event_tt; time_t event_tte; struct tm event_te; struct tm event_tm; int show_event = 0; int all_day_event = 0; int ongoing_event = 0; wcsession *WCC = WC; disp_cal *Cal; struct icaltimetype t; struct icaltimetype end_t; struct icaltimetype today_start_t; struct icaltimetype today_end_t; struct icaltimetype today_t; struct tm starting_tm; struct tm ending_tm; int top = 0; int bottom = 0; int gap = 1; int startmin = 0; int diffmin = 0; int endmin = 0; char buf[256]; if (GetCount(WCC->disp_cal_items) == 0) { /* nothing to display */ return; } /* Create an imaginary event which spans the current day. Any events which * overlap with this one take place at least partially in this day. */ memset(&starting_tm, 0, sizeof(struct tm)); starting_tm.tm_year = year - 1900; starting_tm.tm_mon = month - 1; starting_tm.tm_mday = day; starting_tm.tm_hour = 0; starting_tm.tm_min = 0; today_start_t = icaltime_from_timet_with_zone(mktime(&starting_tm), 0, icaltimezone_get_utc_timezone()); today_start_t.is_utc = 1; memset(&ending_tm, 0, sizeof(struct tm)); ending_tm.tm_year = year - 1900; ending_tm.tm_mon = month - 1; ending_tm.tm_mday = day; ending_tm.tm_hour = 23; ending_tm.tm_min = 59; today_end_t = icaltime_from_timet_with_zone(mktime(&ending_tm), 0, icaltimezone_get_utc_timezone()); today_end_t.is_utc = 1; /* * Create another one without caring about the timezone for all day events. */ today_t = icaltime_null_date(); today_t.year = year; today_t.month = month; today_t.day = day; /* Now loop through our list of events to see which ones occur today. */ Pos = GetNewHashPos(WCC->disp_cal_items, 0); while (GetNextHashPos(WCC->disp_cal_items, Pos, &hklen, &HashKey, &vCal)) { Cal = (disp_cal*)vCal; all_day_event = 0; ongoing_event=0; q = icalcomponent_get_first_property(Cal->cal, ICAL_DTSTART_PROPERTY); if (q != NULL) { t = icalproperty_get_dtstart(q); event_tt = icaltime_as_timet(t); localtime_r(&event_tt, &event_te); } else { memset(&t, 0, sizeof t); } if (t.is_date) all_day_event = 1; q = icalcomponent_get_first_property(Cal->cal, ICAL_DTEND_PROPERTY); if (q != NULL) { end_t = icalproperty_get_dtend(q); } else { /* no end given means end = start */ memcpy(&end_t, &t, sizeof(struct icaltimetype)); } if (all_day_event) { show_event = ical_ctdl_is_overlap(t, end_t, today_t, icaltime_null_time()); if (icaltime_compare(t, end_t)) { /* * the end date is non-inclusive so adjust it by one * day because our test is inclusive, note that a day is * not to much because we are talking about all day * events */ icaltime_adjust(&end_t, -1, 0, 0, 0); } } else { show_event = ical_ctdl_is_overlap(t, end_t, today_start_t, today_end_t); } event_tte = icaltime_as_timet(end_t); localtime_r(&event_tte, &event_tm); /* If we determined that this event occurs today, then display it. */ p = icalcomponent_get_first_property(Cal->cal,ICAL_SUMMARY_PROPERTY); if (p == NULL) { p = icalproperty_new_summary(_("Untitled Event")); icalcomponent_add_property(Cal->cal, p); } if ((show_event) && (p != NULL)) { if ((event_te.tm_mday != day) || (event_tm.tm_mday != day)) ongoing_event = 1; if (all_day_event && notime_events) { wc_printf("
  • " "" , (Cal->unread)?"_unread":"_read", Cal->cal_msgnum, year, month, day ); escputs((char *) icalproperty_get_comment(p)); wc_printf(""); wc_printf("%s
    ", _("All day event")); wc_printf("%s: %s
    ", _("From"), Cal->from); wc_printf("%s ", _("Summary:")); escputs((char *) icalproperty_get_comment(p)); wc_printf("
    "); q = icalcomponent_get_first_property(Cal->cal,ICAL_LOCATION_PROPERTY); if (q) { wc_printf("%s ", _("Location:")); escputs((char *)icalproperty_get_comment(q)); wc_printf("
    "); } if (!icaltime_compare(t, end_t)) { /* one day only */ webcit_fmt_date(buf, 256, event_tt, DATEFMT_LOCALEDATE); wc_printf("%s %s
    ", _("Date:"), buf); } else { webcit_fmt_date(buf, 256, event_tt, DATEFMT_LOCALEDATE); wc_printf("%s %s
    ", _("Starting date:"), buf); webcit_fmt_date(buf, 256, event_tte, DATEFMT_LOCALEDATE); wc_printf("%s %s
    ", _("Ending date:"), buf); } q = icalcomponent_get_first_property(Cal->cal,ICAL_DESCRIPTION_PROPERTY); if (q) { wc_printf("%s ", _("Notes:")); escputs((char *)icalproperty_get_comment(q)); wc_printf("
    "); } wc_printf("
    "); wc_printf("
    ("); wc_printf(_("All day event")); wc_printf(")
  • \n"); } else if (ongoing_event && notime_events) { wc_printf("
  • " "" , (Cal->unread)?"_unread":"_read", Cal->cal_msgnum, year, month, day ); escputs((char *) icalproperty_get_comment(p)); wc_printf(""); wc_printf("%s
    ", _("Ongoing event")); wc_printf("%s: %s
    ", _("From"), Cal->from); wc_printf("%s ", _("Summary:")); escputs((char *) icalproperty_get_comment(p)); wc_printf("
    "); q = icalcomponent_get_first_property(Cal->cal,ICAL_LOCATION_PROPERTY); if (q) { wc_printf("%s ", _("Location:")); escputs((char *)icalproperty_get_comment(q)); wc_printf("
    "); } webcit_fmt_date(buf, 256, event_tt, DATEFMT_BRIEF); wc_printf("%s %s
    ", _("Starting date/time:"), buf); webcit_fmt_date(buf, 256, event_tte, DATEFMT_BRIEF); wc_printf("%s %s
    ", _("Ending date/time:"), buf); q = icalcomponent_get_first_property(Cal->cal,ICAL_DESCRIPTION_PROPERTY); if (q) { wc_printf("%s ", _("Notes:")); escputs((char *)icalproperty_get_comment(q)); wc_printf("
    "); } wc_printf("
    "); wc_printf("
    ("); wc_printf(_("Ongoing event")); wc_printf(")
  • \n"); } else if (!all_day_event && !notime_events) { gap++; if (event_te.tm_mday != day) event_te.tm_hour = 0; if (event_tm.tm_mday != day) event_tm.tm_hour = 24; /* Calculate the location of the top of the box */ if (event_te.tm_hour < dstart) { startmin = diffmin = event_te.tm_min / 6; top = (event_te.tm_hour * EXTRATIMELINE) + startmin; } else if ((event_te.tm_hour >= dstart) && (event_te.tm_hour <= dend)) { startmin = diffmin = (event_te.tm_min / 2); top = (dstart * EXTRATIMELINE) + ((event_te.tm_hour - dstart) * TIMELINE) + startmin; } else if (event_te.tm_hour >dend) { startmin = diffmin = event_te.tm_min / 6; top = (dstart * EXTRATIMELINE) + ((dend - dstart - 1) * TIMELINE) + ((event_tm.tm_hour - dend + 1) * EXTRATIMELINE) + startmin ; } else { /* should never get here */ } /* Calculate the location of the bottom of the box */ if (event_tm.tm_hour < dstart) { endmin = diffmin = event_tm.tm_min / 6; bottom = (event_tm.tm_hour * EXTRATIMELINE) + endmin; } else if ((event_tm.tm_hour >= dstart) && (event_tm.tm_hour <= dend)) { endmin = diffmin = (event_tm.tm_min / 2); bottom = (dstart * EXTRATIMELINE) + ((event_tm.tm_hour - dstart) * TIMELINE) + endmin ; } else if (event_tm.tm_hour >dend) { endmin = diffmin = event_tm.tm_min / 6; bottom = (dstart * EXTRATIMELINE) + ((dend - dstart + 1) * TIMELINE) + ((event_tm.tm_hour - dend - 1) * EXTRATIMELINE) + endmin; } else { /* should never get here */ } wc_printf("
    ", (Cal->unread)?"_unread":"_read", top, (gap * 40), (bottom-top) ); wc_printf("" , Cal->cal_msgnum, year, month, day, t.hour ); escputs((char *) icalproperty_get_comment(p)); wc_printf(""); wc_printf("%s: %s
    ", _("From"), Cal->from); wc_printf("%s ", _("Summary:")); escputs((char *) icalproperty_get_comment(p)); wc_printf("
    "); q = icalcomponent_get_first_property(Cal->cal,ICAL_LOCATION_PROPERTY); if (q) { wc_printf("%s ", _("Location:")); escputs((char *)icalproperty_get_comment(q)); wc_printf("
    "); } if (!icaltime_compare(t, end_t)) { /* one day only */ webcit_fmt_date(buf, 256, event_tt, DATEFMT_BRIEF); wc_printf("%s %s
    ", _("Date/time:"), buf); } else { webcit_fmt_date(buf, 256, event_tt, DATEFMT_BRIEF); wc_printf("%s %s
    ", _("Starting date/time:"), buf); webcit_fmt_date(buf, 256, event_tte, DATEFMT_BRIEF); wc_printf("%s %s
    ", _("Ending date/time:"), buf); } q = icalcomponent_get_first_property(Cal->cal,ICAL_DESCRIPTION_PROPERTY); if (q) { wc_printf("%s ", _("Notes:")); escputs((char *)icalproperty_get_comment(q)); wc_printf("
    "); } wc_printf("
    "); wc_printf("
    \n"); } } } DeleteHashPos(&Pos); } /* * view one day */ void calendar_day_view(int year, int month, int day) { int hour; struct icaltimetype today, yesterday, tomorrow; long daystart; long dayend; struct tm d_tm; char d_str[160]; int time_format; time_t today_t; int timeline = TIMELINE; int extratimeline = EXTRATIMELINE; int gap = 0; int hourlabel; int extrahourlabel; time_format = get_time_format_cached (); get_pref_long("daystart", &daystart, 8); get_pref_long("dayend", &dayend, 17); /* when loading daystart/dayend, replace missing, corrupt, or impossible values with defaults */ if ((daystart < 0) || (dayend < 2) || (daystart >= 23) || (dayend > 23) || (dayend <= daystart)) { daystart = 9; dayend = 17; } /* Today's date */ memset(&d_tm, 0, sizeof d_tm); d_tm.tm_year = year - 1900; d_tm.tm_mon = month - 1; d_tm.tm_mday = day; today_t = mktime(&d_tm); /* Figure out the dates for "yesterday" and "tomorrow" links */ memset(&today, 0, sizeof(struct icaltimetype)); today.year = year; today.month = month; today.day = day; today.is_date = 1; memcpy(&yesterday, &today, sizeof(struct icaltimetype)); --yesterday.day; yesterday = icaltime_normalize(yesterday); memcpy(&tomorrow, &today, sizeof(struct icaltimetype)); ++tomorrow.day; tomorrow = icaltime_normalize(tomorrow); /* Inner table (the real one) */ wc_printf(" \n"); /* Innermost cell (contains hours etc.) */ wc_printf(""); /* end of innermost table */ /* Display extra events (start/end times not present or not today) in the middle column */ wc_printf(""); /* end extra on the middle */ wc_printf(""); /* end stuff-on-the-right */ wc_printf("
    "); wc_printf("
    "); /* Now the middle of the day... */ extrahourlabel = extratimeline - 2; hourlabel = extrahourlabel * 150 / 100; if (hourlabel > (timeline - 2)) hourlabel = timeline - 2; for (hour = 0; hour < daystart; ++hour) { /* could do HEIGHT=xx */ wc_printf("
    " "", /* TODO: what have these been used for? (hour * extratimeline ), extratimeline, extrahourlabel, */ year, month, day, hour ); if (time_format == WC_TIMEFORMAT_24) { wc_printf("%2d:00 ", hour); } else { wc_printf("%d:00%s ", ((hour == 0) ? 12 : (hour <= 12 ? hour : hour-12)), (hour < 12 ? "am" : "pm") ); } wc_printf("
    "); } gap = daystart * extratimeline; for (hour = daystart; hour <= dayend; ++hour) { /* could do HEIGHT=xx */ wc_printf("
    " "", /*TODO: what have these been used for? gap + ((hour - daystart) * timeline ), timeline, hourlabel, */ year, month, day, hour ); if (time_format == WC_TIMEFORMAT_24) { wc_printf("%2d:00 ", hour); } else { wc_printf("%d:00%s ", (hour <= 12 ? hour : hour-12), (hour < 12 ? "am" : "pm") ); } wc_printf("
    "); } gap = gap + ((dayend - daystart + 1) * timeline); for (hour = (dayend + 1); hour < 24; ++hour) { /* could do HEIGHT=xx */ wc_printf("
    " "", /*TODO: what have these been used for? gap + ((hour - dayend - 1) * extratimeline ), extratimeline, extrahourlabel, */ year, month, day, hour ); if (time_format == WC_TIMEFORMAT_24) { wc_printf("%2d:00 ", hour); } else { wc_printf("%d:00%s ", (hour <= 12 ? hour : hour-12), (hour < 12 ? "am" : "pm") ); } wc_printf("
    "); } /* Display events with start and end times on this day */ calendar_day_view_display_events(today_t, year, month, day, 0, daystart, dayend); wc_printf("
    "); wc_printf("
    "); wc_printf("
      "); /* Display all-day events */ calendar_day_view_display_events(today_t, year, month, day, 1, daystart, dayend); wc_printf("
    "); wc_printf("
    "); /* begin stuff-on-the-right */ /* Begin todays-date-with-left-and-right-arrows */ wc_printf("\n"); wc_printf(""); /* Left arrow */ wc_printf(""); wc_strftime(d_str, sizeof d_str, "", &d_tm ); wc_printf("%s", d_str); /* Right arrow */ wc_printf(""); wc_printf("
    "); wc_printf("", yesterday.year, yesterday.month, yesterday.day); wc_printf("\"previous\""); wc_printf("" "%A
    " "%B
    " "%d
    " "%Y
    " "
    "); wc_printf("", tomorrow.year, tomorrow.month, tomorrow.day); wc_printf("\"%s\"\n", _("next")); wc_printf("
    \n"); /* End todays-date-with-left-and-right-arrows */ /* Embed a mini month calendar in this space */ wc_printf("
    \n"); embeddable_mini_calendar(year, month); wc_printf("
    \n"); /* end of inner table */ } /* * Display today's events. Returns the number of items displayed. */ int calendar_summary_view(void) { long hklen; const char *HashKey; void *vCal; HashPos *Pos; disp_cal *Cal; icalproperty *p; struct icaltimetype t; time_t event_tt; struct tm event_tm; struct tm today_tm; time_t now; int all_day_event = 0; char timestring[SIZ]; wcsession *WCC = WC; int num_displayed = 0; if (GetCount(WC->disp_cal_items) == 0) { return(0); } now = time(NULL); localtime_r(&now, &today_tm); Pos = GetNewHashPos(WCC->disp_cal_items, 0); while (GetNextHashPos(WCC->disp_cal_items, Pos, &hklen, &HashKey, &vCal)) { Cal = (disp_cal*)vCal; p = icalcomponent_get_first_property(Cal->cal, ICAL_DTSTART_PROPERTY); if (p != NULL) { t = icalproperty_get_dtstart(p); event_tt = icaltime_as_timet(t); if (t.is_date) { all_day_event = 1; } else { all_day_event = 0; } fmt_time(timestring, SIZ, event_tt); if (all_day_event) { gmtime_r(&event_tt, &event_tm); } else { localtime_r(&event_tt, &event_tm); } if ( (event_tm.tm_year == today_tm.tm_year) && (event_tm.tm_mon == today_tm.tm_mon) && (event_tm.tm_mday == today_tm.tm_mday) ) { p = icalcomponent_get_first_property(Cal->cal, ICAL_SUMMARY_PROPERTY); if (p == NULL) { p = icalproperty_new_summary(_("Untitled Task")); icalcomponent_add_property(Cal->cal, p); } if (p != NULL) { if (WCC->CurRoom.view == VIEW_TASKS) { wc_printf(""); } else { wc_printf(""); } escputs((char *) icalproperty_get_comment(p)); if (!all_day_event) { wc_printf(" (%s)", timestring); } wc_printf("
    \n"); ++num_displayed; } } } } DeleteHashPos(&Pos); DeleteHash(&WC->disp_cal_items); return(num_displayed); } /* * Parse the URL variables in order to determine the scope and display of a calendar view */ int calendar_GetParamsGetServerCall(SharedMessageStatus *Stat, void **ViewSpecific, long oper, char *cmd, long len, char *filter, long flen) { wcsession *WCC = WC; calview *c; time_t now; struct tm tm; char cv[32]; int span = 3888000; c = (calview*) malloc(sizeof(calview)); memset(c, 0, sizeof(calview)); *ViewSpecific = (void*)c; Stat->load_seen = 1; strcpy(cmd, "MSGS ALL"); Stat->maxmsgs = 32767; /* In case no date was specified, go with today */ now = time(NULL); localtime_r(&now, &tm); c->year = tm.tm_year + 1900; c->month = tm.tm_mon + 1; c->day = tm.tm_mday; /* Now see if a date was specified */ if (havebstr("year")) c->year = ibstr("year"); if (havebstr("month")) c->month = ibstr("month"); if (havebstr("day")) c->day = ibstr("day"); /* How would you like that cooked? */ if (havebstr("calview")) { strcpy(cv, bstr("calview")); } else { strcpy(cv, "month"); } /* Display the selected view */ if (!strcasecmp(cv, "day")) { c->view = calview_day; } else if (!strcasecmp(cv, "week")) { c->view = calview_week; } else if (!strcasecmp(cv, "summary")) { /* shouldn't ever happen, but just in case */ c->view = calview_day; } else { if (WCC->CurRoom.view == VIEW_CALBRIEF) { c->view = calview_brief; } else { c->view = calview_month; } } /* Now try and set the lower and upper bounds so that we don't * burn too many cpu cycles parsing data way in the past or future */ tm.tm_year = c->year - 1900; tm.tm_mon = c->month - 1; tm.tm_mday = c->day; now = mktime(&tm); if (c->view == calview_month) span = 3888000; if (c->view == calview_brief) span = 3888000; if (c->view == calview_week) span = 604800; if (c->view == calview_day) span = 86400; if (c->view == calview_summary) span = 86400; c->lower_bound = now - span; c->upper_bound = now + span; return 200; } /* * Render a calendar view from data previously loaded into memory */ int calendar_RenderView_or_Tail(SharedMessageStatus *Stat, void **ViewSpecific, long oper) { wcsession *WCC = WC; calview *c = (calview*) *ViewSpecific; if (c->view == calview_day) { calendar_day_view(c->year, c->month, c->day); } else if (c->view == calview_week) { calendar_week_view(c->year, c->month, c->day); } else { if (WCC->CurRoom.view == VIEW_CALBRIEF) { calendar_brief_month_view(c->year, c->month, c->day); } else { calendar_month_view(c->year, c->month, c->day); } } /* Free the in-memory list of calendar items */ DeleteHash(&WC->disp_cal_items); return 0; } void InitModule_CALENDAR_VIEW (void) { WebcitAddUrlHandler(HKEY("mini_calendar"), "", 0, ajax_mini_calendar, AJAX); } webcit-9.01-dfsg/config.guess000077500000000000000000001235501254743150300161730ustar00rootroot00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright 1992-2014 Free Software Foundation, Inc. timestamp='2014-03-23' # This file 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 3 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, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # # Originally written by Per Bothner. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD # # Please send patches with a ChangeLog entry to config-patches@gnu.org. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright 1992-2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown case "${UNAME_SYSTEM}" in Linux|GNU|GNU/*) # If the system lacks a compiler, then just pick glibc. # We could probably try harder. LIBC=gnu eval $set_cc_for_build cat <<-EOF > $dummy.c #include #if defined(__UCLIBC__) LIBC=uclibc #elif defined(__dietlibc__) LIBC=dietlibc #else LIBC=gnu #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` ;; esac # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH="x86_64" fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` case ${UNAME_PROCESSOR} in amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW64*:*) echo ${UNAME_MACHINE}-pc-mingw64 exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; *:MSYS*:*) echo ${UNAME_MACHINE}-pc-msys exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 8664:Windows_NT:*) echo x86_64-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; aarch64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="gnulibc1" ; fi echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arc:Linux:*:* | arceb:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-${LIBC} else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi else echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf fi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; cris:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; crisv32:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; frv:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; hexagon:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:Linux:*:*) echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; openrisc*:Linux:*:*) echo or1k-unknown-linux-${LIBC} exit ;; or32:Linux:*:* | or1k*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; padre:Linux:*:*) echo sparc-unknown-linux-${LIBC} exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; *) echo hppa-unknown-linux-${LIBC} ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-${LIBC} exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-${LIBC} exit ;; ppc64le:Linux:*:*) echo powerpc64le-unknown-linux-${LIBC} exit ;; ppcle:Linux:*:*) echo powerpcle-unknown-linux-${LIBC} exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux-${LIBC} exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; tile*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-${LIBC} exit ;; x86_64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; x86_64:Haiku:*:*) echo x86_64-unknown-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown eval $set_cc_for_build if test "$UNAME_PROCESSOR" = unknown ; then UNAME_PROCESSOR=powerpc fi if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then case $UNAME_PROCESSOR in i386) UNAME_PROCESSOR=x86_64 ;; powerpc) UNAME_PROCESSOR=powerpc64 ;; esac fi fi elif test "$UNAME_PROCESSOR" = i386 ; then # Avoid executing cc on OS X 10.9, as it ships with a stub # that puts up a graphical alert prompting to install # developer tools. Any system running Mac OS X 10.7 or # later (Darwin 11 and later) is required to have a 64-bit # processor. This is not true of the ARM version of Darwin # that Apple uses in portable devices. UNAME_PROCESSOR=x86_64 fi echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NEO-?:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; x86_64:VMkernel:*:*) echo ${UNAME_MACHINE}-unknown-esx exit ;; esac cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: webcit-9.01-dfsg/config.rpath000077500000000000000000000347501254743150300161660ustar00rootroot00000000000000#! /bin/sh # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # # Copyright 1996-2003 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 3. # the Free Software Foundation; either version 2 of the License, or # # # 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. # # # # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld # should be set by the caller. # # The set of defined variables is at the end of this script. # Known limitations: # - On IRIX 6.5 with CC="cc", the run time search patch must not be longer # than 256 bytes, otherwise the compiler driver will dump core. The only # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. # All known linkers require a `.a' archive for static linking (except M$VC, # which needs '.lib'). libext=a shrext=.so host="$1" host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` # Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in aix*) wl='-Wl,' ;; mingw* | pw32* | os2*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6* | nonstopux*) wl='-Wl,' ;; newsos6) ;; linux*) case $CC in icc|ecc) wl='-Wl,' ;; ccc) wl='-Wl,' ;; esac ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; sco3.2v5*) ;; solaris*) wl='-Wl,' ;; sunos4*) wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) wl='-Wl,' ;; sysv4*MP*) ;; uts4*) ;; esac fi # Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no case "$host_os" in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then case "$host_os" in aix3* | aix4* | aix5*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we can use # them. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then : else ld_shlibs=no fi ;; netbsd*) ;; solaris* | sysv5*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; sunos4*) hardcode_direct=yes ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = yes; then # Unlike libtool, we use -rpath here, not --rpath, since the documented # option of GNU ld is called -rpath, not --rpath. hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' fi else case "$host_os" in aix3*) # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix4* | aix5*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done esac fi hardcode_direct=yes hardcode_libdir_separator=':' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 hardcode_direct=yes else # We have old collect2 hardcode_direct=unsupported hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi esac fi # Begin _LT_AC_SYS_LIBPATH_AIX. echo 'int main () { return 0; }' > conftest.c ${CC} ${LDFLAGS} conftest.c -o conftest aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` fi if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib" fi rm -f conftest.c conftest # End _LT_AC_SYS_LIBPATH_AIX. if test "$aix_use_runtimelinking" = yes; then hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' else hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" fi fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi4*) ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' libext=lib ;; darwin* | rhapsody*) if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then hardcode_direct=no fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; freebsd1*) ld_shlibs=no ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; freebsd2*) hardcode_direct=yes hardcode_minus_L=yes ;; freebsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; hpux9*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; hpux10* | hpux11*) if test "$with_gnu_ld" = no; then case "$host_cpu" in hppa*64*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=no ;; ia64*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=no # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; *) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; netbsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; newsos6) hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; openbsd*) hardcode_direct=yes if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then hardcode_libdir_flag_spec='${wl}-rpath,$libdir' else case "$host_os" in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) hardcode_libdir_flag_spec='-R$libdir' ;; *) hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; osf3*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) if test "$GCC" = yes; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else # Both cc and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; sco3.2v5*) ;; solaris*) hardcode_libdir_flag_spec='-R$libdir' ;; sunos4*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes ;; sysv4) case $host_vendor in sni) hardcode_direct=yes # is this really true??? ;; siemens) hardcode_direct=no ;; motorola) hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac ;; sysv4.3*) ;; sysv4*MP*) if test -d /usr/nec; then ld_shlibs=yes fi ;; sysv4.2uw2*) hardcode_direct=yes hardcode_minus_L=no ;; sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) ;; sysv5*) hardcode_libdir_flag_spec= ;; uts4*) hardcode_libdir_flag_spec='-L$libdir' ;; *) ld_shlibs=no ;; esac fi # Check dynamic linker characteristics # Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. libname_spec='lib$name' case "$host_os" in aix3*) ;; aix4* | aix5*) ;; amigaos*) ;; beos*) ;; bsdi4*) ;; cygwin* | mingw* | pw32*) shrext=.dll ;; darwin* | rhapsody*) shrext=.dylib ;; dgux*) ;; freebsd1*) ;; freebsd*) ;; gnu*) ;; hpux9* | hpux10* | hpux11*) case "$host_cpu" in ia64*) shrext=.so ;; hppa*64*) shrext=.sl ;; *) shrext=.sl ;; esac ;; irix5* | irix6* | nonstopux*) case "$host_os" in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; *) libsuff= shlibsuff= ;; esac ;; esac ;; linux*oldld* | linux*aout* | linux*coff*) ;; linux*) ;; netbsd*) ;; newsos6) ;; nto-qnx) ;; openbsd*) ;; os2*) libname_spec='$name' shrext=.dll ;; osf3* | osf4* | osf5*) ;; sco3.2v5*) ;; solaris*) ;; sunos4*) ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) ;; sysv4*MP*) ;; uts4*) ;; esac sed_quote_subst='s/\(["`$\\]\)/\\\1/g' escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` shlibext=`echo "$shrext" | sed -e 's,^\.,,'` escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # Please send patches with a ChangeLog entry to config-patches@gnu.org. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright 1992-2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; android-linux) os=-linux-android basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray | -microblaze*) os= basic_machine=$1 ;; -bluegene*) os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*178) os=-lynxos178 ;; -lynx*5) os=-lynxos5 ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arceb \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | avr | avr32 \ | be32 | be64 \ | bfin \ | c4x | c8051 | clipper \ | d10v | d30v | dlx | dsp16xx \ | epiphany \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | k1om \ | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa32r6 | mipsisa32r6el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64r6 | mipsisa64r6el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipsr5900 | mipsr5900el \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nds32 | nds32le | nds32be \ | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ | open8 | or1k | or1knd | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ | riscv32 | riscv64 \ | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu \ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; c54x) basic_machine=tic54x-unknown ;; c55x) basic_machine=tic55x-unknown ;; c6x) basic_machine=tic6x-unknown ;; m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; strongarm | thumb | xscale) basic_machine=arm-unknown ;; xgate) basic_machine=$basic_machine-unknown os=-none ;; xscaleeb) basic_machine=armeb-unknown ;; xscaleel) basic_machine=armel-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | c8051-* | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | k1om-* \ | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ | microblaze-* | microblazeel-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa32r6-* | mipsisa32r6el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64r6-* | mipsisa64r6el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsr5900-* | mipsr5900el-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nds32-* | nds32le-* | nds32be-* \ | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ | or1k*-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile*-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) basic_machine=powerpc-ibm os=-cnk ;; c54x-*) basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c55x-*) basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c6x-*) basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16 | cr16-*) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; microblaze*) basic_machine=microblaze-xilinx ;; mingw64) basic_machine=x86_64-pc os=-mingw64 ;; mingw32) basic_machine=i686-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; moxiebox) basic_machine=moxie-unknown os=-moxiebox ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; msys) basic_machine=i686-pc os=-msys ;; mvs) basic_machine=i370-ibm os=-mvs ;; nacl) basic_machine=le32-unknown os=-nacl ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; neo-tandem) basic_machine=neo-tandem ;; nse-tandem) basic_machine=nse-tandem ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc | ppcbe) basic_machine=powerpc-unknown ;; ppc-* | ppcbe-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos | rdos64) basic_machine=x86_64-pc os=-rdos ;; rdos32) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; strongarm-* | thumb-*) basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tile*) basic_machine=$basic_machine-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; xscale-* | xscalee[bl]-*) basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; z80-*-coff) basic_machine=z80-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -bitrig* | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -nacl*) ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; c8051-*) os=-elf ;; hexagon-*) os=-elf ;; tic54x-*) os=-coff ;; tic55x-*) os=-coff ;; tic6x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -cnk*|-aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: webcit-9.01-dfsg/configure000077500000000000000000006325331254743150300155700ustar00rootroot00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.67 for WebCit 9.01. # # Report bugs to . # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org and $0: http://www.citadel.org/ about your system, including $0: any error possibly output before this message. Then $0: install a modern shell, or manually run the script $0: under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='WebCit' PACKAGE_TARNAME='webcit' PACKAGE_VERSION='9.01' PACKAGE_STRING='WebCit 9.01' PACKAGE_BUGREPORT='http://www.citadel.org/' PACKAGE_URL='' # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_default_prefix=/usr/local/webcit ac_subst_vars='LTLIBOBJS ETCDIR MAKE_RUN_DIR WWWDIR LOCALEDIR SETUP_LIBS ok_msgfmt ok_msgmerge ok_xgettext MAKE_SSL_DIR LIBOBJS PTHREAD_DEFS SED EGREP GREP CPP OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC ACLOCAL AUTOCONF INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM host_os host_vendor host_cpu host build_os build_vendor build_cpu build PROG_SUBDIRS target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking with_ssl enable_iconv with_ssldir with_gprof with_backtrace with_localedir with_wwwdir with_rundir with_datadir with_editordir with_markdowneditordir with_etcdir ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures WebCit 9.01 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/webcit] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of WebCit 9.01:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-iconv do not use iconv charset conversion Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-ssl=PATH Specify path to OpenSSL installation --with-ssldir directory to store the ssl certificates under --with-gprof enable profiling --with-backtrace enable backtrace dumps in the syslog --with-localedir directory to put the locale files to --with-wwwdir directory to put our templates --with-rundir directory to place runtime files (UDS) to? --with-datadir directory to store the databases under --with-editordir directory to put our editor --with-markdowneditordir directory to put our markdown editor --with-etcdir directory to read our configs Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF WebCit configure 9.01 generated by GNU Autoconf 2.67 Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval "test \"\${$3+set}\"" = set; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ( $as_echo "## -------------------------------------- ## ## Report this to http://www.citadel.org/ ## ## -------------------------------------- ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_c_check_header_mongrel # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_c_check_header_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_c_check_func # ac_fn_c_check_type LINENO TYPE VAR INCLUDES # ------------------------------------------- # Tests whether TYPE exists after having included INCLUDES, setting cache # variable VAR accordingly. ac_fn_c_check_type () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else eval "$3=no" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof ($2)) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof (($2))) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else eval "$3=yes" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_c_check_type # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES # -------------------------------------------- # Tries to find the compile-time value of EXPR in a program that includes # INCLUDES, setting VAR accordingly. Returns whether the value could be # computed ac_fn_c_compute_int () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_lo=0 ac_mid=0 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=$ac_mid; break else as_fn_arith $ac_mid + 1 && ac_lo=$as_val if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=-1 ac_mid=-1 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_lo=$ac_mid; break else as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=$ac_mid else as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in #(( ?*) eval "$3=\$ac_lo"; ac_retval=0 ;; '') ac_retval=1 ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 static long int longval () { return $2; } static unsigned long int ulongval () { return $2; } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if (($2) < 0) { long int i = longval (); if (i != ($2)) return 1; fprintf (f, "%ld", i); } else { unsigned long int i = ulongval (); if (i != ($2)) return 1; fprintf (f, "%lu", i); } /* Do not output a trailing newline, as this causes \r\n confusion on some platforms. */ return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : echo >>conftest.val; read $3 config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by WebCit $as_me 9.01, which was generated by GNU Autoconf 2.67. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5 ; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu $as_echo "#define PROG_SUBDIRS /**/" >>confdefs.h ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if test "${ac_cv_build+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if test "${ac_cv_host+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' missing_dir=`cd $ac_aux_dir && pwd` # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal"} ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5 ; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5 ; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5 ; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5 ; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if test "${ac_cv_objext+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5 ; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5 ; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if test "${ac_cv_path_GREP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if test "${ac_cv_path_EGREP+set}" = set; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if test "${ac_cv_header_stdc+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" if test "x$ac_cv_header_minix_config_h" = x""yes; then : MINIX=yes else MINIX= fi if test "$MINIX" = yes; then $as_echo "#define _POSIX_SOURCE 1" >>confdefs.h $as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h $as_echo "#define _MINIX 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } if test "${ac_cv_safe_to_define___extensions__+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # define __EXTENSIONS__ 1 $ac_includes_default int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_safe_to_define___extensions__=yes else ac_cv_safe_to_define___extensions__=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 $as_echo "$ac_cv_safe_to_define___extensions__" >&6; } test $ac_cv_safe_to_define___extensions__ = yes && $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h $as_echo "#define _ALL_SOURCE 1" >>confdefs.h $as_echo "#define _GNU_SOURCE 1" >>confdefs.h $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h # Extract the first word of "sed", so it can be a program name with args. set dummy sed; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_SED+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$SED"; then ac_cv_prog_SED="$SED" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_SED="sed" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_prog_SED" && ac_cv_prog_SED="no" fi fi SED=$ac_cv_prog_SED if test -n "$SED"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SED" >&5 $as_echo "$SED" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "$prefix" = NONE; then cat >>confdefs.h <<_ACEOF #define WEBCITDIR "$ac_default_prefix" _ACEOF ssl_dir="$ac_default_prefix/keys" else cat >>confdefs.h <<_ACEOF #define WEBCITDIR "$prefix" _ACEOF ssl_dir="$prefix/keys" fi # Check whether --with-ssl was given. if test "${with_ssl+set}" = set; then : withval=$with_ssl; if test "x$withval" != "xno" ; then tryssldir=$withval fi fi PTHREAD_DEFS=-D_REENTRANT case "$host" in alpha*-dec-osf*) test -z "$CC" && CC=cc LIBS=-pthread ;; *-*-freebsd*) LIBS=-pthread PTHREAD_DEFS=-D_THREAD_SAFE ;; *-*-solaris*) PTHREAD_DEFS='-D_REENTRANT -D_PTHREADS' ;; *-*-darwin*) LIBS=-lintl esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5 ; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test "$GCC" = yes; then case "$host" in *-*-solaris*) CFLAGS="$CFLAGS -Wall -Wno-char-subscripts" ;; *) CFLAGS="$CFLAGS -Wall" ;; esac fi # missing_dir=`cd $ac_aux_dir && pwd` # AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) if test "$LIBS" != -pthread; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5 $as_echo_n "checking for pthread_create in -lpthread... " >&6; } if test "${ac_cv_lib_pthread_pthread_create+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pthread_create (); int main () { return pthread_create (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_pthread_pthread_create=yes else ac_cv_lib_pthread_pthread_create=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_create" >&5 $as_echo "$ac_cv_lib_pthread_pthread_create" >&6; } if test "x$ac_cv_lib_pthread_pthread_create" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBPTHREAD 1 _ACEOF LIBS="-lpthread $LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthreads" >&5 $as_echo_n "checking for pthread_create in -lpthreads... " >&6; } if test "${ac_cv_lib_pthreads_pthread_create+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthreads $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pthread_create (); int main () { return pthread_create (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_pthreads_pthread_create=yes else ac_cv_lib_pthreads_pthread_create=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthreads_pthread_create" >&5 $as_echo "$ac_cv_lib_pthreads_pthread_create" >&6; } if test "x$ac_cv_lib_pthreads_pthread_create" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBPTHREADS 1 _ACEOF LIBS="-lpthreads $LIBS" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5 $as_echo_n "checking for library containing gethostbyname... " >&6; } if test "${ac_cv_search_gethostbyname+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char gethostbyname (); int main () { return gethostbyname (); ; return 0; } _ACEOF for ac_lib in '' nsl; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_gethostbyname=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if test "${ac_cv_search_gethostbyname+set}" = set; then : break fi done if test "${ac_cv_search_gethostbyname+set}" = set; then : else ac_cv_search_gethostbyname=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5 $as_echo "$ac_cv_search_gethostbyname" >&6; } ac_res=$ac_cv_search_gethostbyname if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing connect" >&5 $as_echo_n "checking for library containing connect... " >&6; } if test "${ac_cv_search_connect+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char connect (); int main () { return connect (); ; return 0; } _ACEOF for ac_lib in '' socket; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_connect=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if test "${ac_cv_search_connect+set}" = set; then : break fi done if test "${ac_cv_search_connect+set}" = set; then : else ac_cv_search_connect=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_connect" >&5 $as_echo "$ac_cv_search_connect" >&6; } ac_res=$ac_cv_search_connect if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if test "${ac_cv_header_stdc+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi for ac_func in crypt gethostbyname connect flock getpwnam_r getpwuid_r getloadavg do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for call semantics from getpwuid_r" >&5 $as_echo_n "checking for call semantics from getpwuid_r... " >&6; } if test "${ac_cv_call_getpwuid_r+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { struct passwd pw, *pwp; char pwbuf[64]; uid_t uid; getpwuid_r(uid, &pw, pwbuf, sizeof(pwbuf), &pwp); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_call_getpwuid_r=yes else ac_cv_call_getpwuid_r=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_call_getpwuid_r" >&5 $as_echo "$ac_cv_call_getpwuid_r" >&6; } if test $ac_cv_call_getpwuid_r = no; then $as_echo "#define SOLARIS_GETPWUID /**/" >>confdefs.h $as_echo "#define SOLARIS_LOCALTIME_R /**/" >>confdefs.h $as_echo "#define F_UID_T \"%ld\"" >>confdefs.h $as_echo "#define F_PID_T \"%ld\"" >>confdefs.h $as_echo "#define F_XPID_T \"%lx\"" >>confdefs.h else $as_echo "#define F_UID_T \"%d\"" >>confdefs.h $as_echo "#define F_PID_T \"%d\"" >>confdefs.h $as_echo "#define F_XPID_T \"%x\"" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } if test "${ac_cv_c_const+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { /* FIXME: Include the comments suggested by Paul. */ #ifndef __cplusplus /* Ultrix mips cc rejects this. */ typedef int charset[2]; const charset cs; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; /* AIX XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; pcpcc = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; { /* SCO 3.2v4 cc rejects this. */ char *t; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; if (s) return 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* AIX XL C 1.02.0.0 rejects this saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; }; struct s *b; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; if (!foo) return 0; } return !cs[0] && !zero.x; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_const=yes else ac_cv_c_const=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 $as_echo "$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then $as_echo "#define const /**/" >>confdefs.h fi ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" if test "x$ac_cv_type_off_t" = x""yes; then : else cat >>confdefs.h <<_ACEOF #define off_t long int _ACEOF fi ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" if test "x$ac_cv_type_size_t" = x""yes; then : else cat >>confdefs.h <<_ACEOF #define size_t unsigned int _ACEOF fi # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of char" >&5 $as_echo_n "checking size of char... " >&6; } if test "${ac_cv_sizeof_char+set}" = set; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char))" "ac_cv_sizeof_char" "$ac_includes_default"; then : else if test "$ac_cv_type_char" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (char) See \`config.log' for more details" "$LINENO" 5 ; } else ac_cv_sizeof_char=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_char" >&5 $as_echo "$ac_cv_sizeof_char" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_CHAR $ac_cv_sizeof_char _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5 $as_echo_n "checking size of short... " >&6; } if test "${ac_cv_sizeof_short+set}" = set; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default"; then : else if test "$ac_cv_type_short" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (short) See \`config.log' for more details" "$LINENO" 5 ; } else ac_cv_sizeof_short=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5 $as_echo "$ac_cv_sizeof_short" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_SHORT $ac_cv_sizeof_short _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 $as_echo_n "checking size of int... " >&6; } if test "${ac_cv_sizeof_int+set}" = set; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then : else if test "$ac_cv_type_int" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (int) See \`config.log' for more details" "$LINENO" 5 ; } else ac_cv_sizeof_int=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 $as_echo "$ac_cv_sizeof_int" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_INT $ac_cv_sizeof_int _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 $as_echo_n "checking size of long... " >&6; } if test "${ac_cv_sizeof_long+set}" = set; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : else if test "$ac_cv_type_long" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (long) See \`config.log' for more details" "$LINENO" 5 ; } else ac_cv_sizeof_long=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 $as_echo "$ac_cv_sizeof_long" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_LONG $ac_cv_sizeof_long _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long unsigned int" >&5 $as_echo_n "checking size of long unsigned int... " >&6; } if test "${ac_cv_sizeof_long_unsigned_int+set}" = set; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long unsigned int))" "ac_cv_sizeof_long_unsigned_int" "$ac_includes_default"; then : else if test "$ac_cv_type_long_unsigned_int" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (long unsigned int) See \`config.log' for more details" "$LINENO" 5 ; } else ac_cv_sizeof_long_unsigned_int=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_unsigned_int" >&5 $as_echo "$ac_cv_sizeof_long_unsigned_int" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_LONG_UNSIGNED_INT $ac_cv_sizeof_long_unsigned_int _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5 $as_echo_n "checking size of size_t... " >&6; } if test "${ac_cv_sizeof_size_t+set}" = set; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t" "$ac_includes_default"; then : else if test "$ac_cv_type_size_t" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (size_t) See \`config.log' for more details" "$LINENO" 5 ; } else ac_cv_sizeof_size_t=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_size_t" >&5 $as_echo "$ac_cv_sizeof_size_t" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_SIZE_T $ac_cv_sizeof_size_t _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5 $as_echo_n "checking return type of signal handlers... " >&6; } if test "${ac_cv_type_signal+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { return *(signal (0, 0)) (0) == 1; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_type_signal=int else ac_cv_type_signal=void fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_signal" >&5 $as_echo "$ac_cv_type_signal" >&6; } cat >>confdefs.h <<_ACEOF #define RETSIGTYPE $ac_cv_type_signal _ACEOF ac_fn_c_check_func "$LINENO" "snprintf" "ac_cv_func_snprintf" if test "x$ac_cv_func_snprintf" = x""yes; then : $as_echo "#define HAVE_SNPRINTF 1" >>confdefs.h else case " $LIBOBJS " in *" snprintf.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS snprintf.$ac_objext" ;; esac fi ac_fn_c_check_header_mongrel "$LINENO" "CUnit/CUnit.h" "ac_cv_header_CUnit_CUnit_h" "$ac_includes_default" if test "x$ac_cv_header_CUnit_CUnit_h" = x""yes; then : $as_echo "#define ENABLE_TESTS /**/" >>confdefs.h fi for ac_header in fcntl.h limits.h unistd.h iconv.h xlocale.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $SERVER_LIBS" ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default" if test "x$ac_cv_header_zlib_h" = x""yes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for zlibVersion in -lz" >&5 $as_echo_n "checking for zlibVersion in -lz... " >&6; } if test "${ac_cv_lib_z_zlibVersion+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char zlibVersion (); int main () { return zlibVersion (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_z_zlibVersion=yes else ac_cv_lib_z_zlibVersion=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_zlibVersion" >&5 $as_echo "$ac_cv_lib_z_zlibVersion" >&6; } if test "x$ac_cv_lib_z_zlibVersion" = x""yes; then : LIBS="-lz $LIBS $SERVER_LIBS" else as_fn_error $? "zlib was not found or is not usable. Please install zlib." "$LINENO" 5 fi else as_fn_error $? "zlib.h was not found or is not usable. Please install zlib." "$LINENO" 5 fi CFLAGS="$saved_CFLAGS" # Check whether --enable-iconv was given. if test "${enable_iconv+set}" = set; then : enableval=$enable_iconv; ok_iconv=no else ok_iconv=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking Checking to see if your system supports iconv" >&5 $as_echo_n "checking Checking to see if your system supports iconv... " >&6; } if test "$cross_compiling" = yes; then : { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run test program while cross compiling See \`config.log' for more details" "$LINENO" 5 ; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include main() { iconv_t ic = (iconv_t)(-1) ; ic = iconv_open("UTF-8", "us-ascii"); iconv_close(ic); exit(0); } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ok_iconv=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else ok_iconv=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi if test "$ok_iconv" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking Checking for an external libiconv" >&5 $as_echo_n "checking Checking for an external libiconv... " >&6; } OLD_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -liconv" if test "$cross_compiling" = yes; then : { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run test program while cross compiling See \`config.log' for more details" "$LINENO" 5 ; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include main() { iconv_t ic = (iconv_t)(-1) ; ic = iconv_open("UTF-8", "us-ascii"); iconv_close(ic); } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ok_iconv=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else ok_iconv=no LDFLAGS="$OLD_LDFLAGS" { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi if test "$ok_iconv" != "no"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: webcit will be built with character set conversion." >&5 $as_echo "webcit will be built with character set conversion." >&6; } $as_echo "#define HAVE_ICONV /**/" >>confdefs.h else { $as_echo "$as_me:${as_lineno-$LINENO}: result: webcit will be built without character set conversion." >&5 $as_echo "webcit will be built without character set conversion." >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libintl_bindtextdomain in -lintl" >&5 $as_echo_n "checking for libintl_bindtextdomain in -lintl... " >&6; } if test "${ac_cv_lib_intl_libintl_bindtextdomain+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char libintl_bindtextdomain (); int main () { return libintl_bindtextdomain (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_libintl_bindtextdomain=yes else ac_cv_lib_intl_libintl_bindtextdomain=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_libintl_bindtextdomain" >&5 $as_echo "$ac_cv_lib_intl_libintl_bindtextdomain" >&6; } if test "x$ac_cv_lib_intl_libintl_bindtextdomain" = x""yes; then : LDFLAGS="$LDFLAGS -lintl" fi ac_fn_c_check_header_mongrel "$LINENO" "libical/ical.h" "ac_cv_header_libical_ical_h" "$ac_includes_default" if test "x$ac_cv_header_libical_ical_h" = x""yes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for icaltimezone_set_tzid_prefix in -lical" >&5 $as_echo_n "checking for icaltimezone_set_tzid_prefix in -lical... " >&6; } if test "${ac_cv_lib_ical_icaltimezone_set_tzid_prefix+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lical $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char icaltimezone_set_tzid_prefix (); int main () { return icaltimezone_set_tzid_prefix (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_ical_icaltimezone_set_tzid_prefix=yes else ac_cv_lib_ical_icaltimezone_set_tzid_prefix=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ical_icaltimezone_set_tzid_prefix" >&5 $as_echo "$ac_cv_lib_ical_icaltimezone_set_tzid_prefix" >&6; } if test "x$ac_cv_lib_ical_icaltimezone_set_tzid_prefix" = x""yes; then : LIBS="-lical $LIBS" else as_fn_error $? "libical was not found and is required. More info: http://www.citadel.org/doku.php/installation:start" "$LINENO" 5 fi else as_fn_error $? "libical/ical.h was not found and is required. More info: http://www.citadel.org/doku.php/installation:start" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for markdown in -lmarkdown" >&5 $as_echo_n "checking for markdown in -lmarkdown... " >&6; } if test "${ac_cv_lib_markdown_markdown+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmarkdown $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char markdown (); int main () { return markdown (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_markdown_markdown=yes else ac_cv_lib_markdown_markdown=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_markdown_markdown" >&5 $as_echo "$ac_cv_lib_markdown_markdown" >&6; } if test "x$ac_cv_lib_markdown_markdown" = x""yes; then : LIBS="$LIBS -lmarkdown" $as_echo "#define HAVE_MARKDOWN /**/" >>confdefs.h fi ac_fn_c_check_header_mongrel "$LINENO" "libcitadel.h" "ac_cv_header_libcitadel_h" "$ac_includes_default" if test "x$ac_cv_header_libcitadel_h" = x""yes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libcitadel_version_string in -lcitadel" >&5 $as_echo_n "checking for libcitadel_version_string in -lcitadel... " >&6; } if test "${ac_cv_lib_citadel_libcitadel_version_string+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcitadel $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char libcitadel_version_string (); int main () { return libcitadel_version_string (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_citadel_libcitadel_version_string=yes else ac_cv_lib_citadel_libcitadel_version_string=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_citadel_libcitadel_version_string" >&5 $as_echo "$ac_cv_lib_citadel_libcitadel_version_string" >&6; } if test "x$ac_cv_lib_citadel_libcitadel_version_string" = x""yes; then : LIBS="-lcitadel $LIBS" SETUP_LIBS="-lcitadel $SETUP_LIBS" else as_fn_error $? "libcitadel was not found or is not usable. Please install libcitadel." "$LINENO" 5 fi else as_fn_error $? "libcitadel.h was not found or is not usable. Please install libcitadel." "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether your system likes memcpy + HKEY" >&5 $as_echo_n "checking whether your system likes memcpy + HKEY... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include "lib/libcitadel.h" int main () { char foo[22]; memcpy(foo, HKEY("foo")); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else $as_echo "#define UNDEF_MEMCPY /**/" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_fn_c_check_header_mongrel "$LINENO" "expat.h" "ac_cv_header_expat_h" "$ac_includes_default" if test "x$ac_cv_header_expat_h" = x""yes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XML_ParserCreateNS in -lexpat" >&5 $as_echo_n "checking for XML_ParserCreateNS in -lexpat... " >&6; } if test "${ac_cv_lib_expat_XML_ParserCreateNS+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lexpat $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char XML_ParserCreateNS (); int main () { return XML_ParserCreateNS (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_expat_XML_ParserCreateNS=yes else ac_cv_lib_expat_XML_ParserCreateNS=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_expat_XML_ParserCreateNS" >&5 $as_echo "$ac_cv_lib_expat_XML_ParserCreateNS" >&6; } if test "x$ac_cv_lib_expat_XML_ParserCreateNS" = x""yes; then : LIBS="-lexpat $LIBS" else as_fn_error $? "The Expat XML parser was not found and is required. More info: http://www.citadel.org/doku.php/installation:start" "$LINENO" 5 fi else as_fn_error $? "expat.h was not found and is required. More info: http://www.citadel.org/doku.php/installation:start" "$LINENO" 5 fi found_ssl=no # The big search for OpenSSL if test "$with_ssl" != "no"; then saved_LIBS="$LIBS" saved_LDFLAGS="$LDFLAGS" saved_CFLAGS="$CFLAGS" if test "x$prefix" != "xNONE"; then tryssldir="$tryssldir $prefix" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenSSL" >&5 $as_echo_n "checking for OpenSSL... " >&6; } if test "${ac_cv_openssldir+set}" = set; then : $as_echo_n "(cached) " >&6 else for ssldir in $tryssldir "" /usr /usr/local/openssl /usr/lib/openssl /usr/local/ssl /usr/lib/ssl /usr/local /usr/pkg /opt /opt/openssl ; do CFLAGS="$saved_CFLAGS" LDFLAGS="$saved_LDFLAGS" LIBS="$saved_LIBS -lssl -lcrypto" # Skip directories if they don't exist if test ! -z "$ssldir" -a ! -d "$ssldir" ; then continue; fi if test ! -z "$ssldir" -a "x$ssldir" != "x/usr"; then # Try to use $ssldir/lib if it exists, otherwise # $ssldir if test -d "$ssldir/lib" ; then LDFLAGS="-L$ssldir/lib $saved_LDFLAGS" if test ! -z "$need_dash_r" ; then LDFLAGS="-R$ssldir/lib $LDFLAGS" fi else LDFLAGS="-L$ssldir $saved_LDFLAGS" if test ! -z "$need_dash_r" ; then LDFLAGS="-R$ssldir $LDFLAGS" fi fi # Try to use $ssldir/include if it exists, otherwise # $ssldir if test -d "$ssldir/include" ; then CFLAGS="-I$ssldir/include $saved_CFLAGS" else CFLAGS="-I$ssldir $saved_CFLAGS" fi fi # Basic test to check for compatible version and correct linking # *does not* test for RSA - that comes later. if test "$cross_compiling" = yes; then : { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run test program while cross compiling See \`config.log' for more details" "$LINENO" 5 ; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main(void) { char a[2048]; memset(a, 0, sizeof(a)); RAND_add(a, sizeof(a), sizeof(a)); return(RAND_status() <= 0); } _ACEOF if ac_fn_c_try_run "$LINENO"; then : found_crypto=1 break; fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi if test ! -z "$found_crypto" ; then break; fi done if test -z "$ssldir" ; then ssldir="(system)" fi if test ! -z "$found_crypto" ; then ac_cv_openssldir=$ssldir else ac_cv_openssldir="no" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_openssldir" >&5 $as_echo "$ac_cv_openssldir" >&6; } LIBS="$saved_LIBS" LDFLAGS="$saved_LDFLAGS" CFLAGS="$saved_CFLAGS" if test "x$ac_cv_openssldir" != "xno" ; then $as_echo "#define HAVE_OPENSSL /**/" >>confdefs.h found_ssl=yes LIBS="-lssl -lcrypto $LIBS" ssldir=$ac_cv_openssldir if test ! -z "$ssldir" -a "x$ssldir" != "x/usr" -a "x$ssldir" != "x(system)"; then # Try to use $ssldir/lib if it exists, otherwise # $ssldir if test -d "$ssldir/lib" ; then LDFLAGS="-L$ssldir/lib $saved_LDFLAGS" if test ! -z "$need_dash_r" ; then LDFLAGS="-R$ssldir/lib $LDFLAGS" fi else LDFLAGS="-L$ssldir $saved_LDFLAGS" if test ! -z "$need_dash_r" ; then LDFLAGS="-R$ssldir $LDFLAGS" fi fi # Try to use $ssldir/include if it exists, otherwise # $ssldir if test -d "$ssldir/include" ; then CFLAGS="-I$ssldir/include $saved_CFLAGS" else CFLAGS="-I$ssldir $saved_CFLAGS" fi fi fi fi # Check whether --with-ssldir was given. if test "${with_ssldir+set}" = set; then : withval=$with_ssldir; if test "x$withval" != "xno" ; then ssl_dir="$withval" if test "$found_ssl" = "no"; then echo "Your setup was incomplete; ssldir doesn't make sense without openssl" exit fi fi fi cat >>confdefs.h <<_ACEOF #define SSL_DIR "$ssl_dir" _ACEOF for ac_func in strftime_l uselocale gettext do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done if test "$ok_nls" != "no"; then # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ok_xgettext+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ok_xgettext"; then ac_cv_prog_ok_xgettext="$ok_xgettext" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ok_xgettext="yes" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_prog_ok_xgettext" && ac_cv_prog_ok_xgettext="no" fi fi ok_xgettext=$ac_cv_prog_ok_xgettext if test -n "$ok_xgettext"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ok_xgettext" >&5 $as_echo "$ok_xgettext" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi ok_nls=$ok_xgettext fi if test "$ok_nls" != "no"; then # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ok_msgmerge+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ok_msgmerge"; then ac_cv_prog_ok_msgmerge="$ok_msgmerge" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ok_msgmerge="yes" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_prog_ok_msgmerge" && ac_cv_prog_ok_msgmerge="no" fi fi ok_msgmerge=$ac_cv_prog_ok_msgmerge if test -n "$ok_msgmerge"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ok_msgmerge" >&5 $as_echo "$ok_msgmerge" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi ok_nls=$ok_msgmerge fi if test "$ok_nls" != "no"; then # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ok_msgfmt+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ok_msgfmt"; then ac_cv_prog_ok_msgfmt="$ok_msgfmt" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ok_msgfmt="yes" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_prog_ok_msgfmt" && ac_cv_prog_ok_msgfmt="no" fi fi ok_msgfmt=$ac_cv_prog_ok_msgfmt if test -n "$ok_msgfmt"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ok_msgfmt" >&5 $as_echo "$ok_msgfmt" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi ok_nls=$ok_msgfmt fi if test "$ok_nls" != "no"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: WebCit will be built with national language support." >&5 $as_echo "WebCit will be built with national language support." >&6; } $as_echo "#define ENABLE_NLS /**/" >>confdefs.h PROG_SUBDIRS="$PROG_SUBDIRS po/webcit/" else { $as_echo "$as_me:${as_lineno-$LINENO}: result: WebCit will be built without national language support." >&5 $as_echo "WebCit will be built without national language support." >&6; } fi # Check whether --with-gprof was given. if test "${with_gprof+set}" = set; then : withval=$with_gprof; if test "x$withval" != "xno" ; then CFLAGS="$CFLAGS -pg " LDFLAGS="$LDFLAGS -pg " fi fi # Check whether --with-backtrace was given. if test "${with_backtrace+set}" = set; then : withval=$with_backtrace; if test "x$withval" != "xno" ; then CFLAGS="$CFLAGS -rdynamic " LDFLAGS="$LDFLAGS -rdynamic " for ac_func in backtrace do : ac_fn_c_check_func "$LINENO" "backtrace" "ac_cv_func_backtrace" if test "x$ac_cv_func_backtrace" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_BACKTRACE 1 _ACEOF fi done fi fi if test "$prefix" = NONE; then datadir=$ac_default_prefix localedir=$ac_default_prefix wwwdir=$ac_default_prefix rundir=$ac_default_prefix editordir=$ac_default_prefix/tiny_mce markdowneditordir=$ac_default_prefix/epic etcdir=$ac_default_prefix else localedir=$prefix wwwdir=$prefix datadir=$prefix rundir=$prefix editordir=$prefix/tiny_mce markdowneditordir=$prefix/epic etcdir=$prefix fi # Check whether --with-localedir was given. if test "${with_localedir+set}" = set; then : withval=$with_localedir; if test "x$withval" != "xno" ; then localedir=$withval fi fi cat >>confdefs.h <<_ACEOF #define LOCALEDIR "$localedir" _ACEOF LOCALEDIR=$localedir # Check whether --with-wwwdir was given. if test "${with_wwwdir+set}" = set; then : withval=$with_wwwdir; if test "x$withval" != "xno" ; then wwwdir=$withval fi fi cat >>confdefs.h <<_ACEOF #define WWWDIR "$wwwdir" _ACEOF WWWDIR=$wwwdir # Check whether --with-rundir was given. if test "${with_rundir+set}" = set; then : withval=$with_rundir; if test "x$withval" != "xno" ; then $as_echo "#define HAVE_RUN_DIR /**/" >>confdefs.h rundir=$withval fi fi cat >>confdefs.h <<_ACEOF #define RUNDIR "$rundir" _ACEOF # Check whether --with-datadir was given. if test "${with_datadir+set}" = set; then : withval=$with_datadir; if test "x$withval" != "xno" ; then datadir=$withval fi fi cat >>confdefs.h <<_ACEOF #define DATADIR "$datadir" _ACEOF # Check whether --with-editordir was given. if test "${with_editordir+set}" = set; then : withval=$with_editordir; if test "x$withval" != "xno" ; then editordir=$withval fi fi cat >>confdefs.h <<_ACEOF #define EDITORDIR "$editordir" _ACEOF # Check whether --with-markdowneditordir was given. if test "${with_markdowneditordir+set}" = set; then : withval=$with_markdowneditordir; if test "x$withval" != "xno" ; then markdowneditordir=$withval fi fi cat >>confdefs.h <<_ACEOF #define MARKDOWNEDITORDIR "$markdowneditordir" _ACEOF # Check whether --with-etcdir was given. if test "${with_etcdir+set}" = set; then : withval=$with_etcdir; if test "x$withval" != "xno" ; then etcdir=$withval fi fi cat >>confdefs.h <<_ACEOF #define ETCDIR "$etcdir" _ACEOF ETCDIR=$etcdir abs_srcdir="`cd $srcdir && pwd`" abs_builddir="`pwd`" if test "$abs_srcdir" != "$abs_builddir"; then CFLAGS="$CFLAGS -I $abs_builddir" fi ac_config_headers="$ac_config_headers sysdep.h" ac_config_files="$ac_config_files Makefile po/webcit/Makefile tests/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs : ${CONFIG_STATUS=./config.status} ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by WebCit $as_me 9.01, which was generated by GNU Autoconf 2.67. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ WebCit config.status 9.01 configured by $0, generated by GNU Autoconf 2.67, with options \\"\$ac_cs_config\\" Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "sysdep.h") CONFIG_HEADERS="$CONFIG_HEADERS sysdep.h" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "po/webcit/Makefile") CONFIG_FILES="$CONFIG_FILES po/webcit/Makefile" ;; "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_t=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_t"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS " shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out" && rm -f "$tmp/out";; *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" } >"$tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi if test "$abs_srcdir" != "$abs_builddir"; then ln -s $abs_srcdir/static $abs_builddir ln -s $abs_srcdir/tiny_mce $abs_builddir ln -s $abs_srcdir/epic $abs_builddir ln -s $abs_srcdir/*.h $abs_builddir make mkdir-init else if test -d .svn; then ./mk_module_init.sh fi fi if test -n "$srcdir"; then export srcdir=. fi echo ------------------------------------------------------------------------ echo 'Character set conversion support:' $ok_iconv echo 'National language support: ' $ok_nls echo webcit-9.01-dfsg/configure.ac000066400000000000000000000365041254743150300161430ustar00rootroot00000000000000dnl Process this file with autoconf to produce a configure script. dnl $Id$ AC_INIT([WebCit], [9.01], [http://www.citadel.org/]) AC_SUBST(PROG_SUBDIRS) AC_DEFINE(PROG_SUBDIRS, [], [Program dirs]) AC_CANONICAL_HOST AC_PROG_INSTALL missing_dir=`cd $ac_aux_dir && pwd` AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir) dnl Make sure we see all GNU and Solaris extensions. AC_GNU_SOURCE AC_CHECK_PROG(SED, sed, sed, no) AC_PREFIX_DEFAULT(/usr/local/webcit) if test "$prefix" = NONE; then AC_DEFINE_UNQUOTED(WEBCITDIR, "$ac_default_prefix", [define this to the Citadel home directory]) ssl_dir="$ac_default_prefix/keys" else AC_DEFINE_UNQUOTED(WEBCITDIR, "$prefix", [define this to the Citadel home directory]) ssl_dir="$prefix/keys" fi AC_ARG_WITH(ssl, [ --with-ssl=PATH Specify path to OpenSSL installation ], [ if test "x$withval" != "xno" ; then tryssldir=$withval fi ] ) dnl Set some system-specific variables which are OK to set before compiler dnl checks: PTHREAD_DEFS=-D_REENTRANT case "$host" in dnl Tru64 Unix requires we use -pthread instead of linking the threads dnl libraries directly, and we can't build threaded programs with gcc dnl due to header file problems. alpha*-dec-osf*) test -z "$CC" && CC=cc LIBS=-pthread ;; dnl FreeBSD is similar: *-*-freebsd*) LIBS=-pthread PTHREAD_DEFS=-D_THREAD_SAFE ;; *-*-solaris*) PTHREAD_DEFS='-D_REENTRANT -D_PTHREADS' ;; *-*-darwin*) LIBS=-lintl esac AC_SUBST(PTHREAD_DEFS) dnl Checks for programs. AC_PROG_CC dnl Configure compiler flags for GCC if test "$GCC" = yes; then case "$host" in *-*-solaris*) dnl CFLAGS="$CFLAGS -Wall -Wno-char-subscripts --pedantic" CFLAGS="$CFLAGS -Wall -Wno-char-subscripts" ;; *) dnl CFLAGS="$CFLAGS -Wall --pedantic" CFLAGS="$CFLAGS -Wall" ;; esac fi # missing_dir=`cd $ac_aux_dir && pwd` # AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) dnl Checks for libraries. if test "$LIBS" != -pthread; then AC_CHECK_LIB(pthread, pthread_create) AC_CHECK_LIB(pthreads, pthread_create) fi AC_SEARCH_LIBS(gethostbyname, nsl) AC_SEARCH_LIBS(connect, socket) dnl Checks for header files. AC_HEADER_STDC dnl AC_HEADER_SYS_WAIT AC_CHECK_FUNCS(crypt gethostbyname connect flock getpwnam_r getpwuid_r getloadavg) AC_CACHE_CHECK( [for call semantics from getpwuid_r], ac_cv_call_getpwuid_r, [AC_TRY_COMPILE([#include #include ], [ struct passwd pw, *pwp; char pwbuf[64]; uid_t uid; getpwuid_r(uid, &pw, pwbuf, sizeof(pwbuf), &pwp); ], ac_cv_call_getpwuid_r=yes, ac_cv_call_getpwuid_r=no) ]) if test $ac_cv_call_getpwuid_r = no; then AC_DEFINE(SOLARIS_GETPWUID,[],[do we need to use solaris call syntax?]) AC_DEFINE(SOLARIS_LOCALTIME_R,[], [do we need to use soralis call syntax?]) AC_DEFINE(F_UID_T, "%ld", [whats the matching format string for uid_t?]) AC_DEFINE(F_PID_T, "%ld", [whats the matching format string for pid_t?]) AC_DEFINE(F_XPID_T, "%lx", [whats the matching format string for xpid_t?]) else AC_DEFINE(F_UID_T, "%d", [whats the matching format string for uid_t?]) AC_DEFINE(F_PID_T, "%d", [whats the matching format string for pid_t?]) AC_DEFINE(F_XPID_T, "%x", [whats the matching format string for xpid_t?]) fi dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_OFF_T AC_TYPE_SIZE_T dnl Check the size of various builtin types; see typesize.h (error) AC_CHECK_SIZEOF(char, 0) AC_CHECK_SIZEOF(short, 0) AC_CHECK_SIZEOF(int, 0) AC_CHECK_SIZEOF(long, 0) AC_CHECK_SIZEOF(long unsigned int, 0) AC_CHECK_SIZEOF(size_t, 0) dnl AC_HEADER_TIME dnl Checks for library functions. AC_TYPE_SIGNAL dnl AC_FUNC_VPRINTF AC_REPLACE_FUNCS(snprintf) AC_CHECK_HEADER(CUnit/CUnit.h, [AC_DEFINE(ENABLE_TESTS, [], [whether we should compile the test-suite])]) AC_CHECK_HEADERS(fcntl.h limits.h unistd.h iconv.h xlocale.h) dnl Checks for the zlib compression library. saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $SERVER_LIBS" AC_CHECK_HEADER(zlib.h, [AC_CHECK_LIB(z, zlibVersion, [ LIBS="-lz $LIBS $SERVER_LIBS" ], [ AC_MSG_ERROR(zlib was not found or is not usable. Please install zlib.) ] , )], [ AC_MSG_ERROR(zlib.h was not found or is not usable. Please install zlib.) ] ) CFLAGS="$saved_CFLAGS" dnl Here is the check for a libc integrated iconv AC_ARG_ENABLE(iconv, [ --disable-iconv do not use iconv charset conversion], ok_iconv=no, ok_iconv=yes) AC_MSG_CHECKING(Checking to see if your system supports iconv) AC_TRY_RUN([ #include main() { iconv_t ic = (iconv_t)(-1) ; ic = iconv_open("UTF-8", "us-ascii"); iconv_close(ic); exit(0); } ], [ ok_iconv=yes AC_MSG_RESULT([yes]) ], [ ok_iconv=no AC_MSG_RESULT([no]) ] ) dnl Check for iconv in external libiconv if test "$ok_iconv" = no; then AC_MSG_CHECKING(Checking for an external libiconv) OLD_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -liconv" AC_TRY_RUN([ #include main() { iconv_t ic = (iconv_t)(-1) ; ic = iconv_open("UTF-8", "us-ascii"); iconv_close(ic); } ], [ ok_iconv=yes AC_MSG_RESULT([yes]) ], [ ok_iconv=no LDFLAGS="$OLD_LDFLAGS" AC_MSG_RESULT([no]) ] ) fi if test "$ok_iconv" != "no"; then AC_MSG_RESULT(webcit will be built with character set conversion.) AC_DEFINE(HAVE_ICONV,[],[whether we have iconv for charset conversion]) else AC_MSG_RESULT(webcit will be built without character set conversion.) fi AC_CHECK_LIB(intl, libintl_bindtextdomain, [LDFLAGS="$LDFLAGS -lintl"]) dnl Checks for the libical iCalendar library. AC_CHECK_HEADER(libical/ical.h, [AC_CHECK_LIB(ical, icaltimezone_set_tzid_prefix, [ LIBS="-lical $LIBS" ], [ AC_MSG_ERROR(libical was not found and is required. More info: http://www.citadel.org/doku.php/installation:start) ] , )], [ AC_MSG_ERROR(libical/ical.h was not found and is required. More info: http://www.citadel.org/doku.php/installation:start) ] ) dnl Checks for the discount markdown library. AC_CHECK_LIB(markdown, markdown, [ LIBS="$LIBS -lmarkdown" AC_DEFINE(HAVE_MARKDOWN,[],[whether we have markdown message rendering]) ]) dnl Check for libcitadel AC_CHECK_HEADER(libcitadel.h, [AC_CHECK_LIB(citadel, libcitadel_version_string, [ LIBS="-lcitadel $LIBS" SETUP_LIBS="-lcitadel $SETUP_LIBS" ], [ AC_MSG_ERROR(libcitadel was not found or is not usable. Please install libcitadel.) ] , )], [ AC_MSG_ERROR(libcitadel.h was not found or is not usable. Please install libcitadel.) ] ) AC_MSG_CHECKING([whether your system likes memcpy + HKEY]) AC_TRY_COMPILE([ #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include "lib/libcitadel.h" ], [ char foo[22]; memcpy(foo, HKEY("foo")); ], [ AC_MSG_RESULT([yes]) ], [ AC_DEFINE(UNDEF_MEMCPY, [], [whether we need to undefine memcpy]) AC_MSG_RESULT([no]) ] ) dnl Checks for the Expat XML parser. AC_CHECK_HEADER(expat.h, [AC_CHECK_LIB(expat, XML_ParserCreateNS, [ LIBS="-lexpat $LIBS" ], [ AC_MSG_ERROR(The Expat XML parser was not found and is required. More info: http://www.citadel.org/doku.php/installation:start) ] , )], [ AC_MSG_ERROR(expat.h was not found and is required. More info: http://www.citadel.org/doku.php/installation:start) ] ) found_ssl=no # The big search for OpenSSL if test "$with_ssl" != "no"; then saved_LIBS="$LIBS" saved_LDFLAGS="$LDFLAGS" saved_CFLAGS="$CFLAGS" if test "x$prefix" != "xNONE"; then tryssldir="$tryssldir $prefix" fi AC_CACHE_CHECK([for OpenSSL], ac_cv_openssldir, [ for ssldir in $tryssldir "" /usr /usr/local/openssl /usr/lib/openssl /usr/local/ssl /usr/lib/ssl /usr/local /usr/pkg /opt /opt/openssl ; do CFLAGS="$saved_CFLAGS" LDFLAGS="$saved_LDFLAGS" LIBS="$saved_LIBS -lssl -lcrypto" # Skip directories if they don't exist if test ! -z "$ssldir" -a ! -d "$ssldir" ; then continue; fi if test ! -z "$ssldir" -a "x$ssldir" != "x/usr"; then # Try to use $ssldir/lib if it exists, otherwise # $ssldir if test -d "$ssldir/lib" ; then LDFLAGS="-L$ssldir/lib $saved_LDFLAGS" if test ! -z "$need_dash_r" ; then LDFLAGS="-R$ssldir/lib $LDFLAGS" fi else LDFLAGS="-L$ssldir $saved_LDFLAGS" if test ! -z "$need_dash_r" ; then LDFLAGS="-R$ssldir $LDFLAGS" fi fi # Try to use $ssldir/include if it exists, otherwise # $ssldir if test -d "$ssldir/include" ; then CFLAGS="-I$ssldir/include $saved_CFLAGS" else CFLAGS="-I$ssldir $saved_CFLAGS" fi fi # Basic test to check for compatible version and correct linking # *does not* test for RSA - that comes later. AC_TRY_RUN( [ #include #include int main(void) { char a[2048]; memset(a, 0, sizeof(a)); RAND_add(a, sizeof(a), sizeof(a)); return(RAND_status() <= 0); } ], [ found_crypto=1 break; ], [] ) if test ! -z "$found_crypto" ; then break; fi done if test -z "$ssldir" ; then ssldir="(system)" fi if test ! -z "$found_crypto" ; then ac_cv_openssldir=$ssldir else ac_cv_openssldir="no" fi ]) LIBS="$saved_LIBS" LDFLAGS="$saved_LDFLAGS" CFLAGS="$saved_CFLAGS" if test "x$ac_cv_openssldir" != "xno" ; then AC_DEFINE(HAVE_OPENSSL,[],[whethe we have openssl]) found_ssl=yes LIBS="-lssl -lcrypto $LIBS" dnl Need to recover ssldir - test above runs in subshell ssldir=$ac_cv_openssldir if test ! -z "$ssldir" -a "x$ssldir" != "x/usr" -a "x$ssldir" != "x(system)"; then # Try to use $ssldir/lib if it exists, otherwise # $ssldir if test -d "$ssldir/lib" ; then LDFLAGS="-L$ssldir/lib $saved_LDFLAGS" if test ! -z "$need_dash_r" ; then LDFLAGS="-R$ssldir/lib $LDFLAGS" fi else LDFLAGS="-L$ssldir $saved_LDFLAGS" if test ! -z "$need_dash_r" ; then LDFLAGS="-R$ssldir $LDFLAGS" fi fi # Try to use $ssldir/include if it exists, otherwise # $ssldir if test -d "$ssldir/include" ; then CFLAGS="-I$ssldir/include $saved_CFLAGS" else CFLAGS="-I$ssldir $saved_CFLAGS" fi fi fi fi dnl Checks for the SSLdir dnl this is a bit different than the rest, dnl because of the citadel used to have a keys/ subdir. AC_ARG_WITH(ssldir, [ --with-ssldir directory to store the ssl certificates under], [ if test "x$withval" != "xno" ; then ssl_dir="$withval" if test "$found_ssl" = "no"; then echo "Your setup was incomplete; ssldir doesn't make sense without openssl" exit fi fi AC_SUBST(MAKE_SSL_DIR) ] ) AC_DEFINE_UNQUOTED(SSL_DIR, "$ssl_dir", [were should we put our keys?]) AC_CHECK_FUNCS(strftime_l uselocale gettext) if test "$ok_nls" != "no"; then AC_CHECK_PROG(ok_xgettext, xgettext, yes, no) ok_nls=$ok_xgettext fi if test "$ok_nls" != "no"; then AC_CHECK_PROG(ok_msgmerge, msgmerge, yes, no) ok_nls=$ok_msgmerge fi if test "$ok_nls" != "no"; then AC_CHECK_PROG(ok_msgfmt, msgfmt, yes, no) ok_nls=$ok_msgfmt fi if test "$ok_nls" != "no"; then AC_MSG_RESULT(WebCit will be built with national language support.) AC_DEFINE(ENABLE_NLS, [], [whether we have NLS support]) PROG_SUBDIRS="$PROG_SUBDIRS po/webcit/" else AC_MSG_RESULT(WebCit will be built without national language support.) fi AC_SUBST(SETUP_LIBS) dnl disable backtrace if we don't want it. AC_ARG_WITH(gprof, [ --with-gprof enable profiling], [ if test "x$withval" != "xno" ; then CFLAGS="$CFLAGS -pg " LDFLAGS="$LDFLAGS -pg " fi ] ) dnl disable backtrace if we don't want it. AC_ARG_WITH(backtrace, [ --with-backtrace enable backtrace dumps in the syslog], [ if test "x$withval" != "xno" ; then CFLAGS="$CFLAGS -rdynamic " LDFLAGS="$LDFLAGS -rdynamic " AC_CHECK_FUNCS(backtrace) fi ] ) if test "$prefix" = NONE; then datadir=$ac_default_prefix localedir=$ac_default_prefix wwwdir=$ac_default_prefix rundir=$ac_default_prefix editordir=$ac_default_prefix/tiny_mce markdowneditordir=$ac_default_prefix/epic etcdir=$ac_default_prefix else localedir=$prefix wwwdir=$prefix datadir=$prefix rundir=$prefix editordir=$prefix/tiny_mce markdowneditordir=$prefix/epic etcdir=$prefix fi dnl where to put the locale files AC_ARG_WITH(localedir, [ --with-localedir directory to put the locale files to], [ if test "x$withval" != "xno" ; then localedir=$withval fi ] ) AC_DEFINE_UNQUOTED(LOCALEDIR, "$localedir",[where to find our pot files]) LOCALEDIR=$localedir AC_SUBST(LOCALEDIR) dnl Checks where to put our templates AC_ARG_WITH(wwwdir, [ --with-wwwdir directory to put our templates], [ if test "x$withval" != "xno" ; then wwwdir=$withval fi ] ) AC_DEFINE_UNQUOTED(WWWDIR, "$wwwdir", [where to find our templates and pics]) WWWDIR=$wwwdir AC_SUBST(WWWDIR) dnl Checks for the run-dir for the sockets AC_ARG_WITH(rundir, [ --with-rundir directory to place runtime files (UDS) to?], [ if test "x$withval" != "xno" ; then AC_DEFINE(HAVE_RUN_DIR, [], [should we put our non volatile files elsewhere?]) rundir=$withval AC_SUBST(MAKE_RUN_DIR) fi ] ) AC_DEFINE_UNQUOTED(RUNDIR, "$rundir", [define, where the config should go in unix style]) dnl Checks for the Datadir AC_ARG_WITH(datadir, [ --with-datadir directory to store the databases under], [ if test "x$withval" != "xno" ; then datadir=$withval fi ] ) AC_DEFINE_UNQUOTED(DATADIR, "$datadir",[define, if the user suplied a data-directory to use.]) dnl Checks where to put our editor AC_ARG_WITH(editordir, [ --with-editordir directory to put our editor], [ if test "x$withval" != "xno" ; then editordir=$withval fi ] ) AC_DEFINE_UNQUOTED(EDITORDIR, "$editordir", [where to find our mail editor]) AC_ARG_WITH(markdowneditordir, [ --with-markdowneditordir directory to put our markdown editor], [ if test "x$withval" != "xno" ; then markdowneditordir=$withval fi ] ) AC_DEFINE_UNQUOTED(MARKDOWNEDITORDIR, "$markdowneditordir", [where to find our markdown editor]) dnl Checks where to find our configs AC_ARG_WITH(etcdir, [ --with-etcdir directory to read our configs], [ if test "x$withval" != "xno" ; then etcdir=$withval fi ] ) AC_DEFINE_UNQUOTED(ETCDIR, "$etcdir", [where to find our configs]) ETCDIR=$etcdir AC_SUBST(ETCDIR) abs_srcdir="`cd $srcdir && pwd`" abs_builddir="`pwd`" if test "$abs_srcdir" != "$abs_builddir"; then CFLAGS="$CFLAGS -I $abs_builddir" fi AC_CONFIG_HEADER(sysdep.h) AC_OUTPUT(Makefile po/webcit/Makefile tests/Makefile) if test "$abs_srcdir" != "$abs_builddir"; then ln -s $abs_srcdir/static $abs_builddir ln -s $abs_srcdir/tiny_mce $abs_builddir ln -s $abs_srcdir/epic $abs_builddir ln -s $abs_srcdir/*.h $abs_builddir make mkdir-init else dnl just run it on devel systems and if non vdir build. if test -d .svn; then ./mk_module_init.sh fi fi if test -n "$srcdir"; then export srcdir=. fi echo ------------------------------------------------------------------------ echo 'Character set conversion support:' $ok_iconv echo 'National language support: ' $ok_nls echo webcit-9.01-dfsg/context_loop.c000066400000000000000000000574031254743150300165370ustar00rootroot00000000000000/* * This is the other half of the webserver. It handles the task of hooking * up HTTP requests with the sessions they belong to, using HTTP cookies to * keep track of things. If the HTTP request doesn't belong to any currently * active session, a new session is started. * * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License version 3. * * 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. */ #include "webcit.h" #include "webserver.h" #include "modules_init.h" /* Only one thread may manipulate SessionList at a time... */ pthread_mutex_t SessionListMutex; wcsession *SessionList = NULL; /* Linked list of all webcit sessions */ pthread_key_t MyConKey; /* TSD key for MySession() */ HashList *HttpReqTypes = NULL; HashList *HttpHeaderHandler = NULL; extern HashList *HandlerHash; /* the following two values start at 1 because the initial parent thread counts as one. */ int num_threads_existing = 1; /* Number of worker threads which exist. */ int num_threads_executing = 1; /* Number of worker threads currently executing. */ int verbose=0; extern void session_loop(void); void spawn_another_worker_thread(void); void DestroyHttpHeaderHandler(void *V) { OneHttpHeader *pHdr; pHdr = (OneHttpHeader*) V; FreeStrBuf(&pHdr->Val); free(pHdr); } void shutdown_sessions(void) { wcsession *sptr; for (sptr = SessionList; sptr != NULL; sptr = sptr->next) { sptr->killthis = 1; } } void do_housekeeping(void) { wcsession *sptr, *ss; wcsession *sessions_to_kill = NULL; time_t the_time; /* * Lock the session list, moving any candidates for euthanasia into * a separate list. */ the_time = 0; CtdlLogResult(pthread_mutex_lock(&SessionListMutex)); for (sptr = SessionList; sptr != NULL; sptr = sptr->next) { if (the_time == 0) the_time = time(NULL); /* Kill idle sessions */ if ((sptr->inuse == 0) && ((the_time - (sptr->lastreq)) > (time_t) WEBCIT_TIMEOUT)) { syslog(LOG_DEBUG, "Timeout session %d", sptr->wc_session); sptr->killthis = 1; } /* Remove sessions flagged for kill */ if (sptr->killthis) { /* remove session from linked list */ if (sptr == SessionList) { SessionList = SessionList->next; } else for (ss=SessionList;ss!=NULL;ss=ss->next) { if (ss->next == sptr) { ss->next = ss->next->next; } } sptr->next = sessions_to_kill; sessions_to_kill = sptr; } } CtdlLogResult(pthread_mutex_unlock(&SessionListMutex)); /* * Now free up and destroy the culled sessions. */ while (sessions_to_kill != NULL) { syslog(LOG_DEBUG, "Destroying session %d", sessions_to_kill->wc_session); sptr = sessions_to_kill->next; session_destroy_modules(&sessions_to_kill); sessions_to_kill = sptr; } } /* * Check the size of our thread pool. If all threads are executing, spawn another. */ void check_thread_pool_size(void) { if (time_to_die) return; /* don't expand the thread pool during shutdown */ begin_critical_section(S_SPAWNER); /* only one of these should run at a time */ if ( (num_threads_executing >= num_threads_existing) && (num_threads_existing < MAX_WORKER_THREADS) ) { syslog(LOG_DEBUG, "%d of %d threads are executing. Adding another worker thread.", num_threads_executing, num_threads_existing ); spawn_another_worker_thread(); } end_critical_section(S_SPAWNER); } /* * Wake up occasionally and clean house */ void housekeeping_loop(void) { while (1) { sleeeeeeeeeep(HOUSEKEEPING); do_housekeeping(); } } /* * Create a Session id * Generate a unique WebCit session ID (which is not the same thing as the * Citadel session ID). */ int GenerateSessionID(void) { static int seq = (-1); if (seq < 0) { seq = (int) time(NULL); } return ++seq; } wcsession *FindSession(wcsession **wclist, ParsedHttpHdrs *Hdr, pthread_mutex_t *ListMutex) { wcsession *sptr = NULL; wcsession *TheSession = NULL; if (Hdr->HR.got_auth == AUTH_BASIC) { GetAuthBasic(Hdr); } CtdlLogResult(pthread_mutex_lock(ListMutex)); for (sptr = *wclist; ((sptr != NULL) && (TheSession == NULL)); sptr = sptr->next) { /* If HTTP-AUTH, look for a session with matching credentials */ switch (Hdr->HR.got_auth) { case AUTH_BASIC: if ( (!strcasecmp(ChrPtr(Hdr->c_username), ChrPtr(sptr->wc_username))) && (!strcasecmp(ChrPtr(Hdr->c_password), ChrPtr(sptr->wc_password))) && (sptr->killthis == 0) ) { if (verbose) syslog(LOG_DEBUG, "Matched a session with the same http-auth"); TheSession = sptr; } break; case AUTH_COOKIE: /* If cookie-session, look for a session with matching session ID */ if ( (Hdr->HR.desired_session != 0) && (sptr->wc_session == Hdr->HR.desired_session) ) { if (verbose) syslog(LOG_DEBUG, "Matched a session with the same cookie"); TheSession = sptr; } break; case NO_AUTH: /* Any unbound session is a candidate */ if ( (sptr->wc_session == 0) && (sptr->inuse == 0) ) { if (verbose) syslog(LOG_DEBUG, "Reusing an unbound session"); TheSession = sptr; } break; } } CtdlLogResult(pthread_mutex_unlock(ListMutex)); if (TheSession == NULL) { syslog(LOG_DEBUG, "No existing session was matched"); } return TheSession; } wcsession *CreateSession(int Lockable, int Static, wcsession **wclist, ParsedHttpHdrs *Hdr, pthread_mutex_t *ListMutex) { wcsession *TheSession; TheSession = (wcsession *) malloc(sizeof(wcsession)); memset(TheSession, 0, sizeof(wcsession)); TheSession->Hdr = Hdr; TheSession->serv_sock = (-1); TheSession->lastreq = time(NULL);; pthread_setspecific(MyConKey, (void *)TheSession); /* If we're recreating a session that expired, it's best to give it the same * session number that it had before. The client browser ought to pick up * the new session number and start using it, but in some rare situations it * doesn't, and that's a Bad Thing because it causes lots of spurious sessions * to get created. */ if (Hdr->HR.desired_session == 0) { TheSession->wc_session = GenerateSessionID(); syslog(LOG_DEBUG, "Created new session %d", TheSession->wc_session); } else { TheSession->wc_session = Hdr->HR.desired_session; syslog(LOG_DEBUG, "Re-created session %d", TheSession->wc_session); } Hdr->HR.Static = Static; session_new_modules(TheSession); if (Lockable) { pthread_mutex_init(&TheSession->SessionMutex, NULL); if (ListMutex != NULL) CtdlLogResult(pthread_mutex_lock(ListMutex)); if (wclist != NULL) { TheSession->nonce = rand(); TheSession->next = *wclist; *wclist = TheSession; } if (ListMutex != NULL) CtdlLogResult(pthread_mutex_unlock(ListMutex)); } return TheSession; } /* If it's a "force 404" situation then display the error and bail. */ void do_404(void) { hprintf("HTTP/1.1 404 Not found\r\n"); hprintf("Content-Type: text/plain\r\n"); wc_printf("Not found\r\n"); end_burst(); } int ReadHttpSubject(ParsedHttpHdrs *Hdr, StrBuf *Line, StrBuf *Buf) { const char *Args; void *vLine, *vHandler; const char *Pos = NULL; Hdr->HR.ReqLine = Line; /* The requesttype... GET, POST... */ StrBufExtract_token(Buf, Hdr->HR.ReqLine, 0, ' '); if (GetHash(HttpReqTypes, SKEY(Buf), &vLine) && (vLine != NULL)) { Hdr->HR.eReqType = *(long*)vLine; } else { Hdr->HR.eReqType = eGET; return 1; } StrBufCutLeft(Hdr->HR.ReqLine, StrLength(Buf) + 1); /* the HTTP Version... */ StrBufExtract_token(Buf, Hdr->HR.ReqLine, 1, ' '); StrBufCutRight(Hdr->HR.ReqLine, StrLength(Buf) + 1); if (StrLength(Buf) == 0) { Hdr->HR.eReqType = eGET; return 1; } StrBufAppendBuf(Hdr->this_page, Hdr->HR.ReqLine, 0); /* chop Filename / query arguments */ Args = strchr(ChrPtr(Hdr->HR.ReqLine), '?'); if (Args == NULL) /* whe're not that picky about params... TODO: this will spoil '&' in filenames.*/ Args = strchr(ChrPtr(Hdr->HR.ReqLine), '&'); if (Args != NULL) { Args ++; /* skip the ? */ StrBufPlain(Hdr->PlainArgs, Args, StrLength(Hdr->HR.ReqLine) - (Args - ChrPtr(Hdr->HR.ReqLine))); StrBufCutAt(Hdr->HR.ReqLine, 0, Args - 1); } /* don't parse them yet, maybe we don't even care... */ /* now lookup what we are going to do with this... */ /* skip first slash */ StrBufExtract_NextToken(Buf, Hdr->HR.ReqLine, &Pos, '/'); do { StrBufExtract_NextToken(Buf, Hdr->HR.ReqLine, &Pos, '/'); GetHash(HandlerHash, SKEY(Buf), &vHandler), Hdr->HR.Handler = (WebcitHandler*) vHandler; if (Hdr->HR.Handler == NULL) break; /* * If the request is prefixed by "/webcit" then chop that off. This * allows a front end web server to forward all /webcit requests to us * while still using the same web server port for other things. */ if ((Hdr->HR.Handler->Flags & URLNAMESPACE) != 0) continue; break; } while (1); /* remove the handlername from the URL */ if ((Pos != NULL) && (Pos != StrBufNOTNULL)){ StrBufCutLeft(Hdr->HR.ReqLine, Pos - ChrPtr(Hdr->HR.ReqLine)); } if (Hdr->HR.Handler != NULL) { if ((Hdr->HR.Handler->Flags & BOGUS) != 0) { return 1; } Hdr->HR.DontNeedAuth = ( ((Hdr->HR.Handler->Flags & ISSTATIC) != 0) || ((Hdr->HR.Handler->Flags & ANONYMOUS) != 0) ); } else { /* If this is a "flat" request for the root, display the configured landing page. */ int return_value; StrBuf *NewLine = NewStrBuf(); Hdr->HR.DontNeedAuth = 1; StrBufAppendPrintf(NewLine, "GET /landing?go=%s?failvisibly=1 HTTP/1.0", ChrPtr(Buf)); if (verbose) syslog(LOG_DEBUG, "Replacing with: %s", ChrPtr(NewLine)); return_value = ReadHttpSubject(Hdr, NewLine, Buf); FreeStrBuf(&NewLine); return return_value; } return 0; } int AnalyseHeaders(ParsedHttpHdrs *Hdr) { OneHttpHeader *pHdr; void *vHdr; long HKLen; const char *HashKey; HashPos *at = GetNewHashPos(Hdr->HTTPHeaders, 0); while (GetNextHashPos(Hdr->HTTPHeaders, at, &HKLen, &HashKey, &vHdr) && (vHdr != NULL)) { pHdr = (OneHttpHeader *)vHdr; if (pHdr->HaveEvaluator) pHdr->H(pHdr->Val, Hdr); } DeleteHashPos(&at); return 0; } /*const char *nix(void *vptr) {return ChrPtr( (StrBuf*)vptr);}*/ /* * Read in the request */ int ReadHTTPRequest (ParsedHttpHdrs *Hdr) { const char *pch, *pchs, *pche; OneHttpHeader *pHdr; StrBuf *Line, *LastLine, *HeaderName; int nLine = 0; void *vF; int isbogus = 0; HeaderName = NewStrBuf(); LastLine = NULL; do { nLine ++; Line = NewStrBufPlain(NULL, SIZ / 4); if (ClientGetLine(Hdr, Line) < 0) return 1; if (StrLength(Line) == 0) { FreeStrBuf(&Line); continue; } if (nLine == 1) { Hdr->HTTPHeaders = NewHash(1, NULL); pHdr = (OneHttpHeader*) malloc(sizeof(OneHttpHeader)); memset(pHdr, 0, sizeof(OneHttpHeader)); pHdr->Val = Line; Put(Hdr->HTTPHeaders, HKEY("GET /"), pHdr, DestroyHttpHeaderHandler); if (verbose || strstr(ChrPtr(Line), "sslg") == NULL) syslog(LOG_DEBUG, "%s", ChrPtr(Line)); isbogus = ReadHttpSubject(Hdr, Line, HeaderName); if (isbogus) break; continue; } /* Do we need to Unfold? */ if ((LastLine != NULL) && (isspace(*ChrPtr(Line)))) { pch = pchs = ChrPtr(Line); pche = pchs + StrLength(Line); while (isspace(*pch) && (pch < pche)) pch ++; StrBufCutLeft(Line, pch - pchs); StrBufAppendBuf(LastLine, Line, 0); FreeStrBuf(&Line); continue; } StrBufSanitizeAscii(Line, (char)0xa7); StrBufExtract_token(HeaderName, Line, 0, ':'); pchs = ChrPtr(Line); pche = pchs + StrLength(Line); pch = pchs + StrLength(HeaderName) + 1; pche = pchs + StrLength(Line); while ((pch < pche) && isspace(*pch)) pch ++; StrBufCutLeft(Line, pch - pchs); StrBufUpCase(HeaderName); pHdr = (OneHttpHeader*) malloc(sizeof(OneHttpHeader)); memset(pHdr, 0, sizeof(OneHttpHeader)); pHdr->Val = Line; if (GetHash(HttpHeaderHandler, SKEY(HeaderName), &vF) && (vF != NULL)) { OneHttpHeader *FHdr = (OneHttpHeader*) vF; pHdr->H = FHdr->H; pHdr->HaveEvaluator = 1; } Put(Hdr->HTTPHeaders, SKEY(HeaderName), pHdr, DestroyHttpHeaderHandler); LastLine = Line; } while (Line != NULL); FreeStrBuf(&HeaderName); return isbogus; } void OverrideRequest(ParsedHttpHdrs *Hdr, const char *Line, long len) { StrBuf *Buf = NewStrBuf(); if (Hdr->HR.ReqLine != NULL) { FlushStrBuf(Hdr->HR.ReqLine); StrBufPlain(Hdr->HR.ReqLine, Line, len); } else { Hdr->HR.ReqLine = NewStrBufPlain(Line, len); } ReadHttpSubject(Hdr, Hdr->HR.ReqLine, Buf); FreeStrBuf(&Buf); } /* * handle one request * * This loop gets called once for every HTTP connection made to WebCit. At * this entry point we have an HTTP socket with a browser allegedly on the * other end, but we have not yet bound to a WebCit session. * * The job of this function is to locate the correct session and bind to it, * or create a session if necessary and bind to it, then run the WebCit * transaction loop. Afterwards, we unbind from the session. When this * function returns, the worker thread is then free to handle another * transaction. */ void context_loop(ParsedHttpHdrs *Hdr) { int isbogus = 0; wcsession *TheSession; struct timeval tx_start; struct timeval tx_finish; int session_may_be_reused = 1; time_t now; gettimeofday(&tx_start, NULL); /* start a stopwatch for performance timing */ /* * Find out what it is that the web browser is asking for */ isbogus = ReadHTTPRequest(Hdr); Hdr->HR.dav_depth = 32767; /* TODO: find a general way to have non-0 defaults */ if (!isbogus) { isbogus = AnalyseHeaders(Hdr); } if ( (isbogus) || ((Hdr->HR.Handler != NULL) && ((Hdr->HR.Handler->Flags & BOGUS) != 0)) ) { wcsession *Bogus; Bogus = CreateSession(0, 1, NULL, Hdr, NULL); do_404(); syslog(LOG_WARNING, "HTTP: 404 [%ld.%06ld] %s %s", ((tx_finish.tv_sec*1000000 + tx_finish.tv_usec) - (tx_start.tv_sec*1000000 + tx_start.tv_usec)) / 1000000, ((tx_finish.tv_sec*1000000 + tx_finish.tv_usec) - (tx_start.tv_sec*1000000 + tx_start.tv_usec)) % 1000000, ReqStrs[Hdr->HR.eReqType], ChrPtr(Hdr->this_page) ); session_detach_modules(Bogus); session_destroy_modules(&Bogus); return; } if ((Hdr->HR.Handler != NULL) && ((Hdr->HR.Handler->Flags & ISSTATIC) != 0)) { wcsession *Static; Static = CreateSession(0, 1, NULL, Hdr, NULL); Hdr->HR.Handler->F(); /* How long did this transaction take? */ gettimeofday(&tx_finish, NULL); if (verbose) syslog(LOG_DEBUG, "HTTP: 200 [%ld.%06ld] %s %s", ((tx_finish.tv_sec*1000000 + tx_finish.tv_usec) - (tx_start.tv_sec*1000000 + tx_start.tv_usec)) / 1000000, ((tx_finish.tv_sec*1000000 + tx_finish.tv_usec) - (tx_start.tv_sec*1000000 + tx_start.tv_usec)) % 1000000, ReqStrs[Hdr->HR.eReqType], ChrPtr(Hdr->this_page) ); session_detach_modules(Static); session_destroy_modules(&Static); return; } if (Hdr->HR.got_auth == AUTH_BASIC) { CheckAuthBasic(Hdr); } if (Hdr->HR.got_auth) { session_may_be_reused = 0; } /* * See if there's an existing session open with any of: * - The desired Session ID * - A matching http-auth username and password * - An unbound session flagged as reusable */ TheSession = FindSession(&SessionList, Hdr, &SessionListMutex); /* * If there were no qualifying sessions, then create a new one. */ if ((TheSession == NULL) || (TheSession->killthis != 0)) { TheSession = CreateSession(1, 0, &SessionList, Hdr, &SessionListMutex); } /* * Reject transactions which require http-auth, if http-auth was not provided */ if ( (StrLength(Hdr->c_username) == 0) && (!Hdr->HR.DontNeedAuth) && (Hdr->HR.Handler != NULL) && ((XHTTP_COMMANDS & Hdr->HR.Handler->Flags) == XHTTP_COMMANDS) ) { syslog(LOG_DEBUG, "http-auth required but not provided"); OverrideRequest(Hdr, HKEY("GET /401 HTTP/1.0")); Hdr->HR.prohibit_caching = 1; } /* * A future improvement might be to check the session integrity * at this point before continuing. */ /* * Bind to the session and perform the transaction */ now = time(NULL);; CtdlLogResult(pthread_mutex_lock(&TheSession->SessionMutex)); pthread_setspecific(MyConKey, (void *)TheSession); TheSession->inuse = 1; /* mark the session as bound */ TheSession->lastreq = now; /* log */ TheSession->Hdr = Hdr; /* * If a language was requested via a cookie, select that language now. */ if (StrLength(Hdr->c_language) > 0) { if (verbose) syslog(LOG_DEBUG, "Session cookie requests language '%s'", ChrPtr(Hdr->c_language)); set_selected_language(ChrPtr(Hdr->c_language)); go_selected_language(); } /* * do the transaction */ session_attach_modules(TheSession); session_loop(); /* How long did this transaction take? */ gettimeofday(&tx_finish, NULL); if (verbose || strstr(ChrPtr(Hdr->this_page), "sslg") == NULL) { syslog(LOG_INFO, "HTTP: 200 [%ld.%06ld] %s %s", ((tx_finish.tv_sec*1000000 + tx_finish.tv_usec) - (tx_start.tv_sec*1000000 + tx_start.tv_usec)) / 1000000, ((tx_finish.tv_sec*1000000 + tx_finish.tv_usec) - (tx_start.tv_sec*1000000 + tx_start.tv_usec)) % 1000000, ReqStrs[Hdr->HR.eReqType], ChrPtr(Hdr->this_page) ); } session_detach_modules(TheSession); /* If *this* very transaction did not explicitly specify a session cookie, * and it did not log in, we want to flag the session as a candidate for * re-use by the next unbound client that comes along. This keeps our session * table from getting bombarded with new sessions when, for example, a web * spider crawls the site without using cookies. */ if ((session_may_be_reused) && (!TheSession->logged_in)) { TheSession->wc_session = 0; /* flag as available for re-use */ TheSession->selected_language = -1; /* clear any non-default language setting */ } TheSession->Hdr = NULL; TheSession->inuse = 0; /* mark the session as unbound */ CtdlLogResult(pthread_mutex_unlock(&TheSession->SessionMutex)); } void tmplput_nonce(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; StrBufAppendPrintf(Target, "%ld", (WCC != NULL)? WCC->nonce:0); } void tmplput_current_user(StrBuf *Target, WCTemplputParams *TP) { StrBufAppendTemplate(Target, TP, WC->wc_fullname, 0); } void Header_HandleContentLength(StrBuf *Line, ParsedHttpHdrs *hdr) { hdr->HR.ContentLength = StrToi(Line); } void Header_HandleContentType(StrBuf *Line, ParsedHttpHdrs *hdr) { hdr->HR.ContentType = Line; } void Header_HandleHost(StrBuf *Line, ParsedHttpHdrs *hdr) { if (hdr->HostHeader != NULL) { FreeStrBuf(&hdr->HostHeader); } hdr->HostHeader = NewStrBuf(); StrBufAppendPrintf(hdr->HostHeader, "%s://", (is_https ? "https" : "http") ); StrBufAppendBuf(hdr->HostHeader, Line, 0); } void Header_HandleXFFHost(StrBuf *Line, ParsedHttpHdrs *hdr) { if (!follow_xff) return; if (hdr->HostHeader != NULL) { FreeStrBuf(&hdr->HostHeader); } hdr->HostHeader = NewStrBuf(); StrBufAppendPrintf(hdr->HostHeader, "http://"); /* this is naive; do something about it */ StrBufAppendBuf(hdr->HostHeader, Line, 0); } void Header_HandleXFF(StrBuf *Line, ParsedHttpHdrs *hdr) { hdr->HR.browser_host = Line; while (StrBufNum_tokens(hdr->HR.browser_host, ',') > 1) { StrBufRemove_token(hdr->HR.browser_host, 0, ','); } StrBufTrim(hdr->HR.browser_host); } void Header_HandleIfModSince(StrBuf *Line, ParsedHttpHdrs *hdr) { hdr->HR.if_modified_since = httpdate_to_timestamp(Line); } void Header_HandleAcceptEncoding(StrBuf *Line, ParsedHttpHdrs *hdr) { /* * Can we compress? */ if (strstr(&ChrPtr(Line)[16], "gzip")) { hdr->HR.gzip_ok = 1; } } void Header_HandleContentRange(StrBuf *Line, ParsedHttpHdrs *hdr) { const char *PRange = ChrPtr(Line); while ((*PRange != '=') && (*PRange != '\0')) PRange ++; if (*PRange == '=') PRange ++; if ((*PRange == '\0')) return; hdr->HaveRange = 1; hdr->RangeStart = atol(PRange); while (isdigit(*PRange)) PRange++; if (*PRange == '-') PRange ++; if ((*PRange == '\0')) hdr->RangeTil = -1; else hdr->RangeTil = atol(PRange); } const char *ReqStrs[eNONE] = { "GET", "POST", "OPTIONS", "PROPFIND", "PUT", "DELETE", "HEAD", "MOVE", "COPY", "REPORT" }; void ServerStartModule_CONTEXT (void) { long *v; HttpReqTypes = NewHash(1, NULL); HttpHeaderHandler = NewHash(1, NULL); v = malloc(sizeof(long)); *v = eGET; Put(HttpReqTypes, HKEY("GET"), v, NULL); v = malloc(sizeof(long)); *v = ePOST; Put(HttpReqTypes, HKEY("POST"), v, NULL); v = malloc(sizeof(long)); *v = eOPTIONS; Put(HttpReqTypes, HKEY("OPTIONS"), v, NULL); v = malloc(sizeof(long)); *v = ePROPFIND; Put(HttpReqTypes, HKEY("PROPFIND"), v, NULL); v = malloc(sizeof(long)); *v = ePUT; Put(HttpReqTypes, HKEY("PUT"), v, NULL); v = malloc(sizeof(long)); *v = eDELETE; Put(HttpReqTypes, HKEY("DELETE"), v, NULL); v = malloc(sizeof(long)); *v = eHEAD; Put(HttpReqTypes, HKEY("HEAD"), v, NULL); v = malloc(sizeof(long)); *v = eMOVE; Put(HttpReqTypes, HKEY("MOVE"), v, NULL); v = malloc(sizeof(long)); *v = eCOPY; Put(HttpReqTypes, HKEY("COPY"), v, NULL); v = malloc(sizeof(long)); *v = eREPORT; Put(HttpReqTypes, HKEY("REPORT"), v, NULL); } void ServerShutdownModule_CONTEXT (void) { DeleteHash(&HttpReqTypes); DeleteHash(&HttpHeaderHandler); } void RegisterHeaderHandler(const char *Name, long Len, Header_Evaluator F) { OneHttpHeader *pHdr; pHdr = (OneHttpHeader*) malloc(sizeof(OneHttpHeader)); memset(pHdr, 0, sizeof(OneHttpHeader)); pHdr->H = F; Put(HttpHeaderHandler, Name, Len, pHdr, DestroyHttpHeaderHandler); } void InitModule_CONTEXT (void) { RegisterHeaderHandler(HKEY("RANGE"), Header_HandleContentRange); RegisterHeaderHandler(HKEY("CONTENT-LENGTH"), Header_HandleContentLength); RegisterHeaderHandler(HKEY("CONTENT-TYPE"), Header_HandleContentType); RegisterHeaderHandler(HKEY("X-FORWARDED-HOST"), Header_HandleXFFHost); /* Apache way... */ RegisterHeaderHandler(HKEY("X-REAL-IP"), Header_HandleXFFHost); /* NGinX way... */ RegisterHeaderHandler(HKEY("HOST"), Header_HandleHost); RegisterHeaderHandler(HKEY("X-FORWARDED-FOR"), Header_HandleXFF); RegisterHeaderHandler(HKEY("ACCEPT-ENCODING"), Header_HandleAcceptEncoding); RegisterHeaderHandler(HKEY("IF-MODIFIED-SINCE"), Header_HandleIfModSince); RegisterNamespace("CURRENT_USER", 0, 1, tmplput_current_user, NULL, CTX_NONE); RegisterNamespace("NONCE", 0, 0, tmplput_nonce, NULL, 0); WebcitAddUrlHandler(HKEY("404"), "", 0, do_404, ANONYMOUS|COOKIEUNNEEDED); /* * Look for commonly-found probes of malware such as worms, viruses, trojans, and Microsoft Office. * Short-circuit these requests so we don't have to send them through the full processing loop. */ WebcitAddUrlHandler(HKEY("scripts"), "", 0, do_404, ANONYMOUS|BOGUS); /* /root.exe - Worms and trojans and viruses, oh my! */ WebcitAddUrlHandler(HKEY("c"), "", 0, do_404, ANONYMOUS|BOGUS); /* /winnt */ WebcitAddUrlHandler(HKEY("MSADC"), "", 0, do_404, ANONYMOUS|BOGUS); WebcitAddUrlHandler(HKEY("_vti"), "", 0, do_404, ANONYMOUS|BOGUS); /* Broken Microsoft DAV implementation */ WebcitAddUrlHandler(HKEY("MSOffice"), "", 0, do_404, ANONYMOUS|BOGUS); /* Stoopid MSOffice thinks everyone is IIS */ WebcitAddUrlHandler(HKEY("nonexistenshit"), "", 0, do_404, ANONYMOUS|BOGUS); /* Exploit found in the wild January 2009 */ } void HttpNewModule_CONTEXT (ParsedHttpHdrs *httpreq) { httpreq->PlainArgs = NewStrBufPlain(NULL, SIZ); httpreq->this_page = NewStrBufPlain(NULL, SIZ); } void HttpDetachModule_CONTEXT (ParsedHttpHdrs *httpreq) { FlushStrBuf(httpreq->PlainArgs); FlushStrBuf(httpreq->HostHeader); FlushStrBuf(httpreq->this_page); FlushStrBuf(httpreq->PlainArgs); DeleteHash(&httpreq->HTTPHeaders); memset(&httpreq->HR, 0, sizeof(HdrRefs)); } void HttpDestroyModule_CONTEXT (ParsedHttpHdrs *httpreq) { FreeStrBuf(&httpreq->this_page); FreeStrBuf(&httpreq->PlainArgs); FreeStrBuf(&httpreq->this_page); FreeStrBuf(&httpreq->PlainArgs); FreeStrBuf(&httpreq->HostHeader); DeleteHash(&httpreq->HTTPHeaders); } webcit-9.01-dfsg/cookie_conversion.c000066400000000000000000000045741254743150300175410ustar00rootroot00000000000000/* * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" /* * String to unset the cookie. * Any date "in the past" will work, so I chose my birthday, right down to * the exact minute. :) */ static char *unset = "; expires=28-May-1971 18:10:00 GMT"; typedef unsigned char byte; /* Byte type used by cookie_to_stuff() */ extern const char *get_selected_language(void); /* * Pack all session info into one easy-to-digest cookie. Healthy and delicious! */ void stuff_to_cookie(int unset_cookies) { wcsession *WCC = WC; char buf[SIZ]; if (unset_cookies) { hprintf("Set-cookie: webcit=%s; path=/\r\n", unset); } else { StrBufAppendPrintf(WCC->HBuf, "Set-cookie: webcit="); snprintf(buf, sizeof(buf), "%d", WCC->wc_session); StrBufHexescAppend(WCC->HBuf, NULL, buf); StrBufHexescAppend(WCC->HBuf, NULL, "|"); StrBufHexescAppend(WCC->HBuf, WCC->wc_username, NULL); StrBufHexescAppend(WCC->HBuf, NULL, "|"); StrBufHexescAppend(WCC->HBuf, WCC->wc_password, NULL); StrBufHexescAppend(WCC->HBuf, NULL, "|"); StrBufHexescAppend(WCC->HBuf, WCC->CurRoom.name, NULL); StrBufHexescAppend(WCC->HBuf, NULL, "|"); StrBufHexescAppend(WCC->HBuf, NULL, get_selected_language()); StrBufHexescAppend(WCC->HBuf, NULL, "|"); if (server_cookie != NULL) { StrBufAppendPrintf(WCC->HBuf, ";path=/ \r\n%s\r\n", server_cookie); } else { StrBufAppendBufPlain(WCC->HBuf, HKEY("; path=/\r\n"), 0); } } } /* * Extract all that fun stuff out of the cookie. */ void cookie_to_stuff(StrBuf *cookie, int *session, StrBuf *user, StrBuf *pass, StrBuf *room, StrBuf *language) { if (session != NULL) { *session = StrBufExtract_int(cookie, 0, '|'); } if (user != NULL) { StrBufExtract_token(user, cookie, 1, '|'); } if (pass != NULL) { StrBufExtract_token(pass, cookie, 2, '|'); } if (room != NULL) { StrBufExtract_token(room, cookie, 3, '|'); } if (language != NULL) { StrBufExtract_token(language, cookie, 4, '|'); } } webcit-9.01-dfsg/crypto.c000066400000000000000000000350631254743150300153400ustar00rootroot00000000000000/* * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "sysdep.h" #ifdef HAVE_OPENSSL #include "webcit.h" #include "webserver.h" /* where to find the keys */ #define CTDL_CRYPTO_DIR ctdl_key_dir #define CTDL_KEY_PATH file_crpt_file_key #define CTDL_CSR_PATH file_crpt_file_csr #define CTDL_CER_PATH file_crpt_file_cer #define SIGN_DAYS 3650 /* how long our certificate should live */ SSL_CTX *ssl_ctx; /* SSL context */ pthread_mutex_t **SSLCritters; /* Things needing locking */ char *ssl_cipher_list = DEFAULT_SSL_CIPHER_LIST; pthread_key_t ThreadSSL; /* Per-thread SSL context */ static unsigned long id_callback(void) { return (unsigned long) pthread_self(); } void shutdown_ssl(void) { ERR_free_strings(); /* Openssl requires these while shutdown. * Didn't find a way to get out of this clean. * int i, n = CRYPTO_num_locks(); * for (i = 0; i < n; i++) * free(SSLCritters[i]); * free(SSLCritters); */ } /* * initialize ssl engine, load certs and initialize openssl internals */ void init_ssl(void) { const SSL_METHOD *ssl_method; RSA *rsa=NULL; X509_REQ *req = NULL; X509 *cer = NULL; EVP_PKEY *pk = NULL; EVP_PKEY *req_pkey = NULL; X509_NAME *name = NULL; FILE *fp; char buf[SIZ]; int rv = 0; if (!access("/var/run/egd-pool", F_OK)) { RAND_egd("/var/run/egd-pool"); } if (!RAND_status()) { syslog(LOG_WARNING, "PRNG not adequately seeded, won't do SSL/TLS\n"); return; } SSLCritters = malloc(CRYPTO_num_locks() * sizeof(pthread_mutex_t *)); if (!SSLCritters) { syslog(LOG_ERR, "citserver: can't allocate memory!!\n"); /* Nothing's been initialized, just die */ ShutDownWebcit(); exit(WC_EXIT_SSL); } else { int a; for (a = 0; a < CRYPTO_num_locks(); a++) { SSLCritters[a] = malloc(sizeof(pthread_mutex_t)); if (!SSLCritters[a]) { syslog(LOG_EMERG, "citserver: can't allocate memory!!\n"); /** Nothing's been initialized, just die */ ShutDownWebcit(); exit(WC_EXIT_SSL); } pthread_mutex_init(SSLCritters[a], NULL); } } /* * Initialize SSL transport layer */ SSL_library_init(); SSL_load_error_strings(); ssl_method = SSLv23_server_method(); if (!(ssl_ctx = SSL_CTX_new(ssl_method))) { syslog(LOG_WARNING, "SSL_CTX_new failed: %s\n", ERR_reason_error_string(ERR_get_error())); return; } syslog(LOG_INFO, "Requesting cipher list: %s\n", ssl_cipher_list); if (!(SSL_CTX_set_cipher_list(ssl_ctx, ssl_cipher_list))) { syslog(LOG_WARNING, "SSL_CTX_set_cipher_list failed: %s\n", ERR_reason_error_string(ERR_get_error())); return; } CRYPTO_set_locking_callback(ssl_lock); CRYPTO_set_id_callback(id_callback); /* * Get our certificates in order. (FIXME: dirify. this is a setup job.) * First, create the key/cert directory if it's not there already... */ mkdir(CTDL_CRYPTO_DIR, 0700); /* * Before attempting to generate keys/certificates, first try * link to them from the Citadel server if it's on the same host. * We ignore any error return because it either meant that there * was nothing in Citadel to link from (in which case we just * generate new files) or the target files already exist (which * is not fatal either). */ if (!strcasecmp(ctdlhost, "uds")) { sprintf(buf, "%s/keys/citadel.key", ctdlport); rv = symlink(buf, CTDL_KEY_PATH); if (!rv) syslog(LOG_DEBUG, "%s\n", strerror(errno)); sprintf(buf, "%s/keys/citadel.csr", ctdlport); rv = symlink(buf, CTDL_CSR_PATH); if (!rv) syslog(LOG_DEBUG, "%s\n", strerror(errno)); sprintf(buf, "%s/keys/citadel.cer", ctdlport); rv = symlink(buf, CTDL_CER_PATH); if (!rv) syslog(LOG_DEBUG, "%s\n", strerror(errno)); } /* * If we still don't have a private key, generate one. */ if (access(CTDL_KEY_PATH, R_OK) != 0) { syslog(LOG_INFO, "Generating RSA key pair.\n"); rsa = RSA_generate_key(1024, /* modulus size */ 65537, /* exponent */ NULL, /* no callback */ NULL /* no callback */ ); if (rsa == NULL) { syslog(LOG_WARNING, "Key generation failed: %s\n", ERR_reason_error_string(ERR_get_error())); } if (rsa != NULL) { fp = fopen(CTDL_KEY_PATH, "w"); if (fp != NULL) { chmod(CTDL_KEY_PATH, 0600); if (PEM_write_RSAPrivateKey(fp, /* the file */ rsa, /* the key */ NULL, /* no enc */ NULL, /* no passphr */ 0, /* no passphr */ NULL, /* no callbk */ NULL /* no callbk */ ) != 1) { syslog(LOG_WARNING, "Cannot write key: %s\n", ERR_reason_error_string(ERR_get_error())); unlink(CTDL_KEY_PATH); } fclose(fp); } else { syslog(LOG_WARNING, "Cannot write key: %s\n", CTDL_KEY_PATH); ShutDownWebcit(); exit(0); } RSA_free(rsa); } } /* * If there is no certificate file on disk, we will be generating a self-signed certificate * in the next step. Therefore, if we have neither a CSR nor a certificate, generate * the CSR in this step so that the next step may commence. */ if ( (access(CTDL_CER_PATH, R_OK) != 0) && (access(CTDL_CSR_PATH, R_OK) != 0) ) { syslog(LOG_INFO, "Generating a certificate signing request.\n"); /* * Read our key from the file. No, we don't just keep this * in memory from the above key-generation function, because * there is the possibility that the key was already on disk * and we didn't just generate it now. */ fp = fopen(CTDL_KEY_PATH, "r"); if (fp) { rsa = PEM_read_RSAPrivateKey(fp, NULL, NULL, NULL); fclose(fp); } if (rsa) { /** Create a public key from the private key */ if (pk=EVP_PKEY_new(), pk != NULL) { EVP_PKEY_assign_RSA(pk, rsa); if (req = X509_REQ_new(), req != NULL) { const char *env; /* Set the public key */ X509_REQ_set_pubkey(req, pk); X509_REQ_set_version(req, 0L); name = X509_REQ_get_subject_name(req); /* Tell it who we are */ /* * We used to add these fields to the subject, but * now we don't. Someone doing this for real isn't * going to use the webcit-generated CSR anyway. * X509_NAME_add_entry_by_txt(name, "C", MBSTRING_ASC, "US", -1, -1, 0); * X509_NAME_add_entry_by_txt(name, "ST", MBSTRING_ASC, "New York", -1, -1, 0); * X509_NAME_add_entry_by_txt(name, "L", MBSTRING_ASC, "Mount Kisco", -1, -1, 0); */ env = getenv("O"); if (env == NULL) env = "Organization name", X509_NAME_add_entry_by_txt( name, "O", MBSTRING_ASC, (unsigned char*)env, -1, -1, 0 ); env = getenv("OU"); if (env == NULL) env = "Citadel server"; X509_NAME_add_entry_by_txt( name, "OU", MBSTRING_ASC, (unsigned char*)env, -1, -1, 0 ); env = getenv("CN"); if (env == NULL) env = "*"; X509_NAME_add_entry_by_txt( name, "CN", MBSTRING_ASC, (unsigned char*)env, -1, -1, 0 ); X509_REQ_set_subject_name(req, name); /* Sign the CSR */ if (!X509_REQ_sign(req, pk, EVP_md5())) { syslog(LOG_WARNING, "X509_REQ_sign(): error\n"); } else { /* Write it to disk. */ fp = fopen(CTDL_CSR_PATH, "w"); if (fp != NULL) { chmod(CTDL_CSR_PATH, 0600); PEM_write_X509_REQ(fp, req); fclose(fp); } else { syslog(LOG_WARNING, "Cannot write key: %s\n", CTDL_CSR_PATH); ShutDownWebcit(); exit(0); } } X509_REQ_free(req); } } RSA_free(rsa); } else { syslog(LOG_WARNING, "Unable to read private key.\n"); } } /* * Generate a self-signed certificate if we don't have one. */ if (access(CTDL_CER_PATH, R_OK) != 0) { syslog(LOG_INFO, "Generating a self-signed certificate.\n"); /* Same deal as before: always read the key from disk because * it may or may not have just been generated. */ fp = fopen(CTDL_KEY_PATH, "r"); if (fp) { rsa = PEM_read_RSAPrivateKey(fp, NULL, NULL, NULL); fclose(fp); } /* This also holds true for the CSR. */ req = NULL; cer = NULL; pk = NULL; if (rsa) { if (pk=EVP_PKEY_new(), pk != NULL) { EVP_PKEY_assign_RSA(pk, rsa); } fp = fopen(CTDL_CSR_PATH, "r"); if (fp) { req = PEM_read_X509_REQ(fp, NULL, NULL, NULL); fclose(fp); } if (req) { if (cer = X509_new(), cer != NULL) { ASN1_INTEGER_set(X509_get_serialNumber(cer), 0); X509_set_issuer_name(cer, req->req_info->subject); X509_set_subject_name(cer, req->req_info->subject); X509_gmtime_adj(X509_get_notBefore(cer), 0); X509_gmtime_adj(X509_get_notAfter(cer),(long)60*60*24*SIGN_DAYS); req_pkey = X509_REQ_get_pubkey(req); X509_set_pubkey(cer, req_pkey); EVP_PKEY_free(req_pkey); /* Sign the cert */ if (!X509_sign(cer, pk, EVP_md5())) { syslog(LOG_WARNING, "X509_sign(): error\n"); } else { /* Write it to disk. */ fp = fopen(CTDL_CER_PATH, "w"); if (fp != NULL) { chmod(CTDL_CER_PATH, 0600); PEM_write_X509(fp, cer); fclose(fp); } else { syslog(LOG_WARNING, "Cannot write key: %s\n", CTDL_CER_PATH); ShutDownWebcit(); exit(0); } } X509_free(cer); } } RSA_free(rsa); } } /* * Now try to bind to the key and certificate. * Note that we use SSL_CTX_use_certificate_chain_file() which allows * the certificate file to contain intermediate certificates. */ SSL_CTX_use_certificate_chain_file(ssl_ctx, CTDL_CER_PATH); SSL_CTX_use_PrivateKey_file(ssl_ctx, CTDL_KEY_PATH, SSL_FILETYPE_PEM); if ( !SSL_CTX_check_private_key(ssl_ctx) ) { syslog(LOG_WARNING, "Cannot install certificate: %s\n", ERR_reason_error_string(ERR_get_error())); } } /* * starts SSL/TLS encryption for the current session. */ int starttls(int sock) { int retval, bits, alg_bits;/*r; */ SSL *newssl; pthread_setspecific(ThreadSSL, NULL); if (!ssl_ctx) { return(1); } if (!(newssl = SSL_new(ssl_ctx))) { syslog(LOG_WARNING, "SSL_new failed: %s\n", ERR_reason_error_string(ERR_get_error())); return(2); } if (!(SSL_set_fd(newssl, sock))) { syslog(LOG_WARNING, "SSL_set_fd failed: %s\n", ERR_reason_error_string(ERR_get_error())); SSL_free(newssl); return(3); } retval = SSL_accept(newssl); if (retval < 1) { /* * Can't notify the client of an error here; they will * discover the problem at the SSL layer and should * revert to unencrypted communications. */ long errval; const char *ssl_error_reason = NULL; errval = SSL_get_error(newssl, retval); ssl_error_reason = ERR_reason_error_string(ERR_get_error()); if (ssl_error_reason == NULL) { syslog(LOG_WARNING, "SSL_accept failed: errval=%ld, retval=%d %s\n", errval, retval, strerror(errval)); } else { syslog(LOG_WARNING, "SSL_accept failed: %s\n", ssl_error_reason); } sleeeeeeeeeep(1); retval = SSL_accept(newssl); } if (retval < 1) { long errval; const char *ssl_error_reason = NULL; errval = SSL_get_error(newssl, retval); ssl_error_reason = ERR_reason_error_string(ERR_get_error()); if (ssl_error_reason == NULL) { syslog(LOG_WARNING, "SSL_accept failed: errval=%ld, retval=%d (%s)\n", errval, retval, strerror(errval)); } else { syslog(LOG_WARNING, "SSL_accept failed: %s\n", ssl_error_reason); } SSL_free(newssl); newssl = NULL; return(4); } else { syslog(LOG_INFO, "SSL_accept success\n"); } /*r = */BIO_set_close(newssl->rbio, BIO_NOCLOSE); bits = SSL_CIPHER_get_bits(SSL_get_current_cipher(newssl), &alg_bits); syslog(LOG_INFO, "SSL/TLS using %s on %s (%d of %d bits)\n", SSL_CIPHER_get_name(SSL_get_current_cipher(newssl)), SSL_CIPHER_get_version(SSL_get_current_cipher(newssl)), bits, alg_bits); pthread_setspecific(ThreadSSL, newssl); syslog(LOG_INFO, "SSL started\n"); return(0); } /* * shuts down the TLS connection * * WARNING: This may make your session vulnerable to a known plaintext * attack in the current implmentation. */ void endtls(void) { /*SSL_CTX *ctx;*/ if (THREADSSL == NULL) return; syslog(LOG_INFO, "Ending SSL/TLS\n"); SSL_shutdown(THREADSSL); /*ctx = */SSL_get_SSL_CTX(THREADSSL); /* I don't think this is needed, and it crashes the server anyway * * if (ctx != NULL) { * syslog(LOG_DEBUG, "Freeing CTX at %x\n", (int)ctx ); * SSL_CTX_free(ctx); * } */ SSL_free(THREADSSL); pthread_setspecific(ThreadSSL, NULL); } /* * callback for OpenSSL mutex locks */ void ssl_lock(int mode, int n, const char *file, int line) { if (mode & CRYPTO_LOCK) { pthread_mutex_lock(SSLCritters[n]); } else { pthread_mutex_unlock(SSLCritters[n]); } } /* * Send binary data to the client encrypted. */ int client_write_ssl(const StrBuf *Buf) { const char *buf; int retval; int nremain; long nbytes; char junk[1]; if (THREADSSL == NULL) return -1; nbytes = nremain = StrLength(Buf); buf = ChrPtr(Buf); while (nremain > 0) { if (SSL_want_write(THREADSSL)) { if ((SSL_read(THREADSSL, junk, 0)) < 1) { syslog(LOG_WARNING, "SSL_read in client_write: %s\n", ERR_reason_error_string(ERR_get_error())); } } retval = SSL_write(THREADSSL, &buf[nbytes - nremain], nremain); if (retval < 1) { long errval; errval = SSL_get_error(THREADSSL, retval); if (errval == SSL_ERROR_WANT_READ || errval == SSL_ERROR_WANT_WRITE) { sleeeeeeeeeep(1); continue; } syslog(LOG_WARNING, "SSL_write got error %ld, ret %d\n", errval, retval); if (retval == -1) { syslog(LOG_WARNING, "errno is %d\n", errno); } endtls(); return -1; } nremain -= retval; } return 0; } /* * read data from the encrypted layer. */ int client_read_sslbuffer(StrBuf *buf, int timeout) { char sbuf[16384]; /* OpenSSL communicates in 16k blocks, so let's speak its native tongue. */ int rlen; char junk[1]; SSL *pssl = THREADSSL; if (pssl == NULL) return(-1); while (1) { if (SSL_want_read(pssl)) { if ((SSL_write(pssl, junk, 0)) < 1) { syslog(LOG_WARNING, "SSL_write in client_read\n"); } } rlen = SSL_read(pssl, sbuf, sizeof(sbuf)); if (rlen < 1) { long errval; errval = SSL_get_error(pssl, rlen); if (errval == SSL_ERROR_WANT_READ || errval == SSL_ERROR_WANT_WRITE) { sleeeeeeeeeep(1); continue; } syslog(LOG_WARNING, "SSL_read got error %ld\n", errval); endtls(); return (-1); } StrBufAppendBufPlain(buf, sbuf, rlen, 0); return rlen; } return (0); } #endif /* HAVE_OPENSSL */ webcit-9.01-dfsg/dav.h000066400000000000000000000024351254743150300145740ustar00rootroot00000000000000/* * Copyright (c) 1996-2013 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ /* * Data passed back and forth between dav_get() and its callback functions called by the MIME parser */ struct epdata { char desired_content_type_1[128]; char desired_content_type_2[128]; char found_section[128]; char charset[128]; }; void dav_common_headers(void); void dav_main(void); void dav_get(void); void dav_put(void); void dav_delete(void); void dav_propfind(void); void dav_options(void); void dav_report(void); long locate_message_by_uid(const char *); void dav_folder_list(void); void euid_escapize(char *, const char *); void euid_unescapize(char *, const char *); void dav_identify_host(void); void dav_identify_hosthdr(void); void RegisterDAVNamespace(const char * UrlString, long UrlSLen, const char *DisplayName, long dslen, WebcitHandlerFunc F, WebcitRESTDispatchID RID, long Flags); webcit-9.01-dfsg/dav_delete.c000066400000000000000000000055051254743150300161120ustar00rootroot00000000000000/* * Handles GroupDAV DELETE requests. * * Copyright (c) 2005-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" #include "dav.h" /* * The pathname is always going to be /groupdav/room_name/euid */ void dav_delete(void) { wcsession *WCC = WC; char dav_uid[SIZ]; long dav_msgnum = (-1); char buf[SIZ]; int n = 0; StrBuf *dav_roomname = NewStrBuf(); /* Now extract the message euid */ n = StrBufNum_tokens(WCC->Hdr->HR.ReqLine, '/'); extract_token(dav_uid, ChrPtr(WCC->Hdr->HR.ReqLine), n-1, '/', sizeof dav_uid); StrBufExtract_token(dav_roomname, WCC->Hdr->HR.ReqLine, 0, '/'); ///* What's left is the room name. Remove trailing slashes. */ //len = StrLength(WCC->Hdr->HR.ReqLine); //if ((len > 0) && (ChrPtr(WCC->Hdr->HR.ReqLinee)[len-1] == '/')) { // StrBufCutRight(WCC->Hdr->HR.ReqLine, 1); //} //StrBufCutLeft(WCC->Hdr->HR.ReqLine, 1); /* Go to the correct room. */ if (strcasecmp(ChrPtr(WC->CurRoom.name), ChrPtr(dav_roomname))) { gotoroom(dav_roomname); } if (strcasecmp(ChrPtr(WC->CurRoom.name), ChrPtr(dav_roomname))) { hprintf("HTTP/1.1 404 not found\r\n"); dav_common_headers(); hprintf("Content-Length: 0\r\n\r\n"); begin_burst(); end_burst(); FreeStrBuf(&dav_roomname); return; } dav_msgnum = locate_message_by_uid(dav_uid); /* * If no item exists with the requested uid ... simple error. */ if (dav_msgnum < 0L) { hprintf("HTTP/1.1 404 Not Found\r\n"); dav_common_headers(); hprintf("Content-Length: 0\r\n\r\n"); begin_burst(); end_burst(); FreeStrBuf(&dav_roomname); return; } /* * It's there ... check the ETag and make sure it matches * the message number. */ if (StrLength(WCC->Hdr->HR.dav_ifmatch) > 0) { if (StrTol(WCC->Hdr->HR.dav_ifmatch) != dav_msgnum) { hprintf("HTTP/1.1 412 Precondition Failed\r\n"); dav_common_headers(); hprintf("Content-Length: 0\r\n\r\n"); begin_burst(); end_burst(); FreeStrBuf(&dav_roomname); return; } } /* * Ok, attempt to delete the item. */ serv_printf("DELE %ld", dav_msgnum); serv_getln(buf, sizeof buf); if (buf[0] == '2') { hprintf("HTTP/1.1 204 No Content\r\n"); /* success */ dav_common_headers(); hprintf("Content-Length: 0\r\n\r\n"); begin_burst(); end_burst(); } else { hprintf("HTTP/1.1 403 Forbidden\r\n"); /* access denied */ dav_common_headers(); hprintf("Content-Length: 0\r\n\r\n"); begin_burst(); end_burst(); } FreeStrBuf(&dav_roomname); return; } webcit-9.01-dfsg/dav_get.c000066400000000000000000000162131254743150300154250ustar00rootroot00000000000000/* * Handles GroupDAV GET requests. * * Copyright (c) 2005-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" #include "dav.h" /* * Fetch the entire contents of the room as one big ics file. * This is for "webcal://" type access. */ void dav_get_big_ics(void) { char buf[1024]; serv_puts("ICAL getics"); serv_getln(buf, sizeof buf); if (buf[0] != '1') { hprintf("HTTP/1.1 404 not found\r\n"); dav_common_headers(); hprintf("Content-Type: text/plain\r\n"); begin_burst(); wc_printf("%s\r\n", &buf[4] ); end_burst(); return; } hprintf("HTTP/1.1 200 OK\r\n"); dav_common_headers(); hprintf("Content-type: text/calendar; charset=UTF-8\r\n"); begin_burst(); while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) { wc_printf("%s\r\n", buf); } end_burst(); } /* * MIME parser callback function for dav_get() * Helps identify the relevant section of a multipart message */ void extract_preferred(char *name, char *filename, char *partnum, char *disp, void *content, char *cbtype, char *cbcharset, size_t length, char *encoding, char *cbid, void *userdata) { struct epdata *epdata = (struct epdata *)userdata; int hit = 0; /* We only want the first one that we found */ if (!IsEmptyStr(epdata->found_section)) return; /* Check for a content type match */ if (strlen(epdata->desired_content_type_1) > 0) { if (!strcasecmp(epdata->desired_content_type_1, cbtype)) { hit = 1; } } if (!IsEmptyStr(epdata->desired_content_type_2)) { if (!strcasecmp(epdata->desired_content_type_2, cbtype)) { hit = 1; } } /* Is this the one? If so, output it. */ if (hit) { safestrncpy(epdata->found_section, partnum, sizeof epdata->found_section); if (!IsEmptyStr(cbcharset)) { safestrncpy(epdata->charset, cbcharset, sizeof epdata->charset); } hprintf("Content-type: %s; charset=%s\r\n", cbtype, epdata->charset); begin_burst(); StrBufAppendBufPlain(WC->WBuf, content, length, 0); end_burst(); } } /* * The pathname is always going to take one of two formats: * /groupdav/room_name/euid (GroupDAV) * /groupdav/room_name (webcal) */ void dav_get(void) { wcsession *WCC = WC; StrBuf *dav_roomname; StrBuf *dav_uid; long dav_msgnum = (-1); char buf[1024]; int in_body = 0; char *ptr; char *endptr; char *msgtext = NULL; size_t msglen = 0; size_t msgalloc = 0; int linelen; char content_type[128]; char charset[128]; char date[128]; struct epdata epdata; if (StrBufNum_tokens(WCC->Hdr->HR.ReqLine, '/') < 2) { hprintf("HTTP/1.1 404 not found\r\n"); dav_common_headers(); hprintf("Content-Type: text/plain\r\n"); wc_printf("The object you requested was not found.\r\n"); end_burst(); return; } dav_roomname = NewStrBuf();; dav_uid = NewStrBuf();; StrBufExtract_token(dav_roomname, WCC->Hdr->HR.ReqLine, 0, '/'); StrBufExtract_token(dav_uid, WCC->Hdr->HR.ReqLine, 1, '/'); if ((!strcasecmp(ChrPtr(dav_uid), "ics")) || (!strcasecmp(ChrPtr(dav_uid), "calendar.ics"))) { FlushStrBuf(dav_uid); } /* Go to the correct room. */ if (strcasecmp(ChrPtr(WCC->CurRoom.name), ChrPtr(dav_roomname))) { gotoroom(dav_roomname); } if (strcasecmp(ChrPtr(WCC->CurRoom.name), ChrPtr(dav_roomname))) { hprintf("HTTP/1.1 404 not found\r\n"); dav_common_headers(); hprintf("Content-Type: text/plain\r\n"); wc_printf("There is no folder called \"%s\" on this server.\r\n", ChrPtr(dav_roomname)); end_burst(); FreeStrBuf(&dav_roomname); FreeStrBuf(&dav_uid); return; } /** GET on the collection itself returns an ICS of the entire collection. */ if (StrLength(dav_uid) == 0) { dav_get_big_ics(); FreeStrBuf(&dav_roomname); FreeStrBuf(&dav_uid); return; } dav_msgnum = locate_message_by_uid(ChrPtr(dav_uid)); serv_printf("MSG2 %ld", dav_msgnum); serv_getln(buf, sizeof buf); if (buf[0] != '1') { hprintf("HTTP/1.1 404 not found\r\n"); dav_common_headers(); hprintf("Content-Type: text/plain\r\n"); wc_printf("Object \"%s\" was not found in the \"%s\" folder.\r\n", ChrPtr(dav_uid), ChrPtr(dav_roomname)); end_burst(); FreeStrBuf(&dav_roomname); FreeStrBuf(&dav_uid); return; } FreeStrBuf(&dav_roomname); FreeStrBuf(&dav_uid); /* We got it; a message is now arriving from the server. Read it in. */ in_body = 0; strcpy(charset, "UTF-8"); strcpy(content_type, "text/plain"); strcpy(date, ""); while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) { linelen = strlen(buf); /* Append it to the buffer */ if ((msglen + linelen + 3) > msgalloc) { msgalloc = ( (msgalloc > 0) ? (msgalloc * 2) : 1024 ); msgtext = realloc(msgtext, msgalloc); } strcpy(&msgtext[msglen], buf); msglen += linelen; strcpy(&msgtext[msglen], "\n"); msglen += 1; /* Also learn some things about the message */ if (linelen == 0) { in_body = 1; } if (!in_body) { if (!strncasecmp(buf, "Date:", 5)) { safestrncpy(date, &buf[5], sizeof date); striplt(date); } if (!strncasecmp(buf, "Content-type:", 13)) { safestrncpy(content_type, &buf[13], sizeof content_type); striplt(content_type); ptr = bmstrcasestr(&buf[13], "charset="); if (ptr) { safestrncpy(charset, ptr+8, sizeof charset); striplt(charset); endptr = strchr(charset, ';'); if (endptr != NULL) strcpy(endptr, ""); } endptr = strchr(content_type, ';'); if (endptr != NULL) strcpy(endptr, ""); } } } msgtext[msglen] = 0; /* Output headers common to single or multi part messages */ hprintf("HTTP/1.1 200 OK\r\n"); dav_common_headers(); hprintf("etag: \"%ld\"\r\n", dav_msgnum); hprintf("Date: %s\r\n", date); memset(&epdata, 0, sizeof(struct epdata)); safestrncpy(epdata.charset, charset, sizeof epdata.charset); /* If we have a multipart message on our hands, and we are in a groupware room, * strip it down to only the relevant part. */ if (!strncasecmp(content_type, "multipart/", 10)) { if ( (WCC->CurRoom.defview == VIEW_CALENDAR) || (WCC->CurRoom.defview == VIEW_TASKS) ) { strcpy(epdata.desired_content_type_1, "text/calendar"); } else if (WCC->CurRoom.defview == VIEW_ADDRESSBOOK) { strcpy(epdata.desired_content_type_1, "text/vcard"); strcpy(epdata.desired_content_type_2, "text/x-vcard"); } mime_parser(msgtext, &msgtext[msglen], extract_preferred, NULL, NULL, (void *)&epdata, 0); } /* If epdata.found_section is empty, we haven't output anything yet, so output the whole thing */ if (IsEmptyStr(epdata.found_section)) { ptr = msgtext; endptr = &msgtext[msglen]; hprintf("Content-type: %s; charset=%s\r\n", content_type, charset); in_body = 0; do { ptr = memreadline(ptr, buf, sizeof buf); if (in_body) { wc_printf("%s\r\n", buf); } else if ((buf[0] == 0) && (in_body == 0)) { in_body = 1; begin_burst(); } } while (ptr < endptr); end_burst(); } free(msgtext); } webcit-9.01-dfsg/dav_main.c000066400000000000000000000172141254743150300155740ustar00rootroot00000000000000/* * Entry point for GroupDAV functions * * Copyright (c) 2005-2012 by the citadel.org team * * This program is open source software; you can redistribute it and/or modify * it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" #include "dav.h" CtxType CTX_DAVNS = CTX_NONE; extern HashList *HandlerHash; HashList *DavNamespaces = NULL; /* * Output HTTP headers which are common to all requests. * * Please observe that we don't use the usual output_headers() * and wDumpContent() functions in the GroupDAV subsystem, so we * do our own header stuff here. * */ void dav_common_headers(void) { hprintf( "Server: %s / %s\r\n" "Connection: close\r\n", PACKAGE_STRING, ChrPtr(WC->serv_info->serv_software) ); } /* * string conversion function */ void euid_escapize(char *target, const char *source) { int i, len; int target_length = 0; strcpy(target, ""); len = strlen(source); for (i=0; iHdr->HR.dav_ifmatch); if (len > 0) { StrBufTrim(WCC->Hdr->HR.dav_ifmatch); if (ChrPtr(WCC->Hdr->HR.dav_ifmatch)[0] == '\"') { StrBufCutLeft(WCC->Hdr->HR.dav_ifmatch, 1); len --; for (i=0; iHdr->HR.dav_ifmatch)[i] == '\"') { StrBufCutAt(WCC->Hdr->HR.dav_ifmatch, i, NULL); len = StrLength(WCC->Hdr->HR.dav_ifmatch); } } } if (!strcmp(ChrPtr(WCC->Hdr->HR.dav_ifmatch), "*")) { FlushStrBuf(WCC->Hdr->HR.dav_ifmatch); } } switch (WCC->Hdr->HR.eReqType) { /* * The OPTIONS method is not required by GroupDAV but it will be * needed for future implementations of other DAV-based protocols. */ case eOPTIONS: dav_options(); break; /* * The PROPFIND method is basically used to list all objects in a * room, or to list all relevant rooms on the server. */ case ePROPFIND: dav_propfind(); break; /* * The GET method is used for fetching individual items. */ case eGET: dav_get(); break; /* * The PUT method is used to add or modify items. */ case ePUT: dav_put(); break; /* * The DELETE method kills, maims, and destroys. */ case eDELETE: dav_delete(); break; /* * The REPORT method tells us that Mike Shaver is a self-righteous asshole. */ case eREPORT: dav_report(); break; default: /* * Couldn't find what we were looking for. Die in a car fire. */ hprintf("HTTP/1.1 501 Method not implemented\r\n"); dav_common_headers(); hprintf("Content-Type: text/plain\r\n"); wc_printf("GroupDAV method \"%s\" is not implemented.\r\n", ReqStrs[WCC->Hdr->HR.eReqType]); end_burst(); } } /* * Output our host prefix for globally absolute URL's. */ void dav_identify_host(void) { wc_printf("%s", ChrPtr(site_prefix)); } void tmplput_dav_HOSTNAME(StrBuf *Target, WCTemplputParams *TP) { StrBufAppendPrintf(Target, "%s", ChrPtr(site_prefix)); } /* * Output our host prefix for globally absolute URL's. */ void dav_identify_hosthdr(void) { hprintf("%s", ChrPtr(site_prefix)); } void Header_HandleIfMatch(StrBuf *Line, ParsedHttpHdrs *hdr) { hdr->HR.dav_ifmatch = Line; } void Header_HandleDepth(StrBuf *Line, ParsedHttpHdrs *hdr) { if (!strcasecmp(ChrPtr(Line), "infinity")) { hdr->HR.dav_depth = 32767; } else if (strcmp(ChrPtr(Line), "0") == 0) { hdr->HR.dav_depth = 0; } else if (strcmp(ChrPtr(Line), "1") == 0) { hdr->HR.dav_depth = 1; } } int Conditional_DAV_DEPTH(StrBuf *Target, WCTemplputParams *TP) { return WC->Hdr->HR.dav_depth == GetTemplateTokenNumber(Target, TP, 2, 0); } void RegisterDAVNamespace(const char * UrlString, long UrlSLen, const char *DisplayName, long dslen, WebcitHandlerFunc F, WebcitRESTDispatchID RID, long Flags) { void *vHandler; /* first put it in... */ WebcitAddUrlHandler(UrlString, UrlSLen, DisplayName, dslen, F, Flags|PARSE_REST_URL); /* get it out again... */ GetHash(HandlerHash, UrlString, UrlSLen, &vHandler); ((WebcitHandler*)vHandler)->RID = RID; /* and keep a copy of it, so we can compare it later */ Put(DavNamespaces, UrlString, UrlSLen, vHandler, reference_free_handler); } int Conditional_DAV_NS(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; void *vHandler; const char *NS; long NSLen; GetTemplateTokenString(NULL, TP, 2, &NS, &NSLen); GetHash(HandlerHash, NS, NSLen, &vHandler); return WCC->Hdr->HR.Handler == vHandler; } int Conditional_DAV_NSCURRENT(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; void *vHandler; vHandler = CTX(CTX_NONE); return WCC->Hdr->HR.Handler == vHandler; } void tmplput_DAV_NAMESPACE(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if (TP->Filter.ContextType == CTX_DAVNS) { WebcitHandler *H; H = (WebcitHandler*) CTX(CTX_DAVNS); if (H != NULL) StrBufAppendTemplate(Target, TP, H->Name, 0); } else if (WCC->Hdr->HR.Handler != NULL) { StrBufAppendTemplate(Target, TP, WCC->Hdr->HR.Handler->Name, 0); } } int GroupdavDispatchREST(RESTDispatchID WhichAction, int IgnoreFloor) { wcsession *WCC = WC; void *vDir; switch(WhichAction){ case ExistsID: GetHash(WCC->Directory, IKEY(WCC->ThisRoom->nRoomNameParts + 1), &vDir); return locate_message_by_uid(ChrPtr((StrBuf*)vDir)) != -1; /* TODO: remember euid */ case PutID: case DeleteID: break; } return 0; } void ServerStartModule_DAV (void) { DavNamespaces = NewHash(1, NULL); } void ServerShutdownModule_DAV (void) { DeleteHash(&DavNamespaces); } void InitModule_GROUPDAV (void) { RegisterCTX(CTX_DAVNS); RegisterDAVNamespace(HKEY("groupdav"), HKEY("GroupDAV"), dav_main, GroupdavDispatchREST, XHTTP_COMMANDS|COOKIEUNNEEDED|FORCE_SESSIONCLOSE ); RegisterNamespace("DAV:HOSTNAME", 0, 0, tmplput_dav_HOSTNAME, NULL, CTX_NONE); RegisterConditional("COND:DAV:NS", 0, Conditional_DAV_NS, CTX_NONE); RegisterIterator("DAV:NS", 0, DavNamespaces, NULL, NULL, NULL, CTX_DAVNS, CTX_NONE, IT_NOFLAG ); RegisterConditional("COND:DAV:NSCURRENT", 0, Conditional_DAV_NSCURRENT, CTX_DAVNS); RegisterNamespace("DAV:NAMESPACE", 0, 1, tmplput_DAV_NAMESPACE, NULL, CTX_NONE); RegisterHeaderHandler(HKEY("IF-MATCH"), Header_HandleIfMatch); RegisterHeaderHandler(HKEY("DEPTH"), Header_HandleDepth); RegisterConditional("COND:DAV:DEPTH", 1, Conditional_DAV_DEPTH, CTX_NONE); } webcit-9.01-dfsg/dav_options.c000066400000000000000000000076621254743150300163510ustar00rootroot00000000000000/* * Handles DAV OPTIONS requests (experimental -- not required by GroupDAV) * * Copyright (c) 2005-2012 by the citadel.org team * * This program is open source software; you can redistribute it and/or modify * it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" #include "dav.h" /* * The pathname is always going to be /groupdav/room_name/msg_num */ void dav_options(void) { wcsession *WCC = WC; StrBuf *dav_roomname; StrBuf *dav_uid; long dav_msgnum = (-1); char datestring[256]; time_t now; now = time(NULL); http_datestring(datestring, sizeof datestring, now); dav_roomname = NewStrBuf(); dav_uid = NewStrBuf(); StrBufExtract_token(dav_roomname, WCC->Hdr->HR.ReqLine, 0, '/'); StrBufExtract_token(dav_uid, WCC->Hdr->HR.ReqLine, 1, '/'); syslog(LOG_DEBUG, "\033[35m%s (logged_in=%d)\033[0m", ChrPtr(WCC->Hdr->HR.ReqLine), WC->logged_in); /* * If the room name is blank, the client is doing an OPTIONS on the root. */ if (StrLength(dav_roomname) == 0) { syslog(LOG_DEBUG, "\033[36mOPTIONS requested for root\033[0m"); hprintf("HTTP/1.1 200 OK\r\n"); dav_common_headers(); hprintf("Date: %s\r\n", datestring); hprintf("DAV: 1\r\n"); hprintf("Allow: OPTIONS, PROPFIND\r\n"); hprintf("\r\n"); begin_burst(); end_burst(); FreeStrBuf(&dav_roomname); FreeStrBuf(&dav_uid); return; } /* Go to the correct room. */ if (strcasecmp(ChrPtr(WC->CurRoom.name), ChrPtr(dav_roomname))) { gotoroom(dav_roomname); } if (strcasecmp(ChrPtr(WC->CurRoom.name), ChrPtr(dav_roomname))) { syslog(LOG_DEBUG, "\033[36mOPTIONS requested for invalid item\033[0m"); hprintf("HTTP/1.1 404 not found\r\n"); dav_common_headers(); hprintf("Date: %s\r\n", datestring); hprintf( "Content-Type: text/plain\r\n"); begin_burst(); wc_printf( "There is no folder called \"%s\" on this server.\r\n", ChrPtr(dav_roomname) ); end_burst(); FreeStrBuf(&dav_roomname); FreeStrBuf(&dav_uid); return; } /* If dav_uid is non-empty, client is requesting an OPTIONS on * a specific item in the room. */ if (StrLength(dav_uid) != 0) { syslog(LOG_DEBUG, "\033[36mOPTIONS requested for specific item\033[0m"); dav_msgnum = locate_message_by_uid(ChrPtr(dav_uid)); if (dav_msgnum < 0) { hprintf("HTTP/1.1 404 not found\r\n"); dav_common_headers(); hprintf("Content-Type: text/plain\r\n"); begin_burst(); wc_printf( "Object \"%s\" was not found in the \"%s\" folder.\r\n", ChrPtr(dav_uid), ChrPtr(dav_roomname) ); FreeStrBuf(&dav_roomname); FreeStrBuf(&dav_uid); end_burst();return; } hprintf("HTTP/1.1 200 OK\r\n"); dav_common_headers(); hprintf("Date: %s\r\n", datestring); hprintf("DAV: 1\r\n"); hprintf("Allow: OPTIONS, PROPFIND, GET, PUT, DELETE\r\n"); begin_burst(); end_burst(); FreeStrBuf(&dav_roomname); FreeStrBuf(&dav_uid); return; } FreeStrBuf(&dav_roomname); FreeStrBuf(&dav_uid); /* * We got to this point, which means that the client is requesting * an OPTIONS on the room itself. */ syslog(LOG_DEBUG, "\033[36mOPTIONS requested for room '%s' (%slogged in)\033[0m", ChrPtr(WC->CurRoom.name), ((WC->logged_in) ? "" : "not ") ); hprintf("HTTP/1.1 200 OK\r\n"); dav_common_headers(); hprintf("Date: %s\r\n", datestring); /* * Offer CalDAV (RFC 4791) if this is a calendar room */ if ( (WC->CurRoom.view == VIEW_CALENDAR) || (WC->CurRoom.view == VIEW_CALBRIEF) ) { hprintf("DAV: 1, calendar-access\r\n"); syslog(LOG_DEBUG, "\033[36mDAV: 1, calendar-access\033[0m"); } else { hprintf("DAV: 1\r\n"); syslog(LOG_DEBUG, "\033[36mDAV: 1\033[0m"); } hprintf("Allow: OPTIONS, PROPFIND, GET, PUT, REPORT\r\n"); begin_burst(); end_burst(); } webcit-9.01-dfsg/dav_propfind.c000066400000000000000000000522541254743150300164740ustar00rootroot00000000000000/* * Handles GroupDAV and CalDAV PROPFIND requests. * * A few notes about our XML output: * * --> Yes, we are spewing tags directly instead of using an XML library. * Whining about it will be summarily ignored. * * --> XML is deliberately output with no whitespace/newlines between tags. * This makes it difficult to read, but we have discovered clients which * crash when you try to pretty it up. * * References: * http://www.ietf.org/rfc/rfc4791.txt * http://blogs.nologin.es/rickyepoderi/index.php?/archives/14-Introducing-CalDAV-Part-I.html Sample query: PROPFIND /groupdav/calendar/ HTTP/1.1 Content-type: text/xml; charset=utf-8 Content-length: 166 * * Copyright (c) 2005-2012 by the citadel.org team * * This program is open source software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3. * * 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. */ #include "webcit.h" #include "webserver.h" #include "dav.h" /* * Given an encoded UID, translate that to an unencoded Citadel EUID and * then search for it in the current room. Return a message number or -1 * if not found. * */ long locate_message_by_uid(const char *uid) { char buf[256]; char decoded_uid[1024]; long retval = (-1L); /* decode the UID */ euid_unescapize(decoded_uid, uid); /* ask Citadel if we have this one */ serv_printf("EUID %s", decoded_uid); serv_getln(buf, sizeof buf); if (buf[0] == '2') { retval = atol(&buf[4]); } return(retval); } /* * IgnoreFloor: set to 0 or 1 _nothing else_ * Subfolders: direct child floors will be put here. */ const folder *GetRESTFolder(int IgnoreFloor, HashList *Subfolders) { wcsession *WCC = WC; void *vFolder; const folder *ThisFolder = NULL; const folder *FoundFolder = NULL; const folder *BestGuess = NULL; int nBestGuess = 0; HashPos *itd, *itfl; StrBuf * Dir; void *vDir; long len; const char *Key; int iRoom, jURL, urlp; int delta; /* * Guess room: if the full URL matches a room, list thats it. We also need to remember direct sub rooms. * if the URL is longer, we need to find the "best guess" so we can find the room we're in, and the rest * of the URL will be uids and so on. */ itfl = GetNewHashPos(WCC->Floors, 0); urlp = GetCount(WCC->Directory); while (GetNextHashPos(WCC->Floors, itfl, &len, &Key, &vFolder) && (ThisFolder == NULL)) { ThisFolder = vFolder; if (!IgnoreFloor && /* so we can handle legacy URLS... */ (ThisFolder->Floor != WCC->CurrentFloor)) continue; if (ThisFolder->nRoomNameParts > 1) { /*TODO: is that number all right? */ // if (urlp - ThisFolder->nRoomNameParts != 2) { // if (BestGuess != NULL) // continue; //ThisFolder->name // itd = GetNewHashPos(WCC->Directory, 0); // GetNextHashPos(WCC->Directory, itd, &len, &Key, &vDir); //TODO: how many to fast forward? // } itd = GetNewHashPos(WCC->Directory, 0); GetNextHashPos(WCC->Directory, itd, &len, &Key, &vDir); //TODO: how many to fast forward? for (iRoom = 0, /* Fast forward the floorname as we checked it above: */ jURL = IgnoreFloor; (iRoom <= ThisFolder->nRoomNameParts) && (jURL <= urlp); iRoom++, jURL++, GetNextHashPos(WCC->Directory, itd, &len, &Key, &vDir)) { Dir = (StrBuf*)vDir; if (strcmp(ChrPtr(ThisFolder->RoomNameParts[iRoom]), ChrPtr(Dir)) != 0) { DeleteHashPos(&itd); continue; } } DeleteHashPos(&itd); /* Gotcha? */ if ((iRoom == ThisFolder->nRoomNameParts) && (jURL == urlp)) { FoundFolder = ThisFolder; } /* URL got more parts then this room, so we remember it for the best guess*/ else if ((jURL <= urlp) && (ThisFolder->nRoomNameParts <= nBestGuess)) { BestGuess = ThisFolder; nBestGuess = jURL - 1; } /* Room has more parts than the URL, it might be a sub-room? */ else if (iRoom nRoomNameParts) {//// TODO: ThisFolder->nRoomNameParts == urlp - IgnoreFloor??? Put(Subfolders, SKEY(ThisFolder->name), /* Cast away const, its a reference. */ (void*)ThisFolder, reference_free_handler); } } else { delta = GetCount(WCC->Directory) - ThisFolder->nRoomNameParts; if ((delta != 2) && (nBestGuess > 1)) continue; itd = GetNewHashPos(WCC->Directory, 0); if (!GetNextHashPos(WCC->Directory, itd, &len, &Key, &vDir) || (vDir == NULL)) { DeleteHashPos(&itd); syslog(LOG_DEBUG, "5\n"); continue; } DeleteHashPos(&itd); Dir = (StrBuf*) vDir; if (strcmp(ChrPtr(ThisFolder->name), ChrPtr(Dir)) != 0) { DeleteHashPos(&itd); syslog(LOG_DEBUG, "5\n"); continue; } DeleteHashPos(&itfl); DeleteHashPos(&itd); if (delta != 2) { nBestGuess = 1; BestGuess = ThisFolder; } else FoundFolder = ThisFolder; } } /* TODO: Subfolders: remove patterns not matching the best guess or thisfolder */ DeleteHashPos(&itfl); if (FoundFolder != NULL) return FoundFolder; else return BestGuess; } long GotoRestRoom(HashList *SubRooms) { int IgnoreFloor = 0; /* deprecated... */ wcsession *WCC = WC; long Count; long State; const folder *ThisFolder; State = REST_TOPLEVEL; if (WCC->Hdr->HR.Handler != NULL) State |= REST_IN_NAMESPACE; Count = GetCount(WCC->Directory); if (Count == 0) return State; if (Count >= 1) State |=REST_IN_FLOOR; if (Count == 1) return State; /* * More than 3 params and no floor found? * -> fall back to old non-floored notation */ if ((Count >= 3) && (WCC->CurrentFloor == NULL)) IgnoreFloor = 1; if (Count >= 3) { IgnoreFloor = 0; State |= REST_IN_FLOOR; ThisFolder = GetRESTFolder(IgnoreFloor, SubRooms); if (ThisFolder != NULL) { if (WCC->ThisRoom != NULL) if (CompareRooms(WCC->ThisRoom, ThisFolder) != 0) gotoroom(ThisFolder->name); State |= REST_IN_ROOM; } if (GetCount(SubRooms) > 0) State |= REST_HAVE_SUB_ROOMS; } if ((WCC->ThisRoom != NULL) && (Count + IgnoreFloor > 3)) { if (WCC->Hdr->HR.Handler->RID(ExistsID, IgnoreFloor)) { State |= REST_GOT_LOCAL_PART; } else { /// WHOOPS, not there??? State |= REST_NONEXIST; } } return State; } /* * List rooms (or "collections" in DAV terminology) which contain * interesting groupware objects. */ void dav_collection_list(void) { wcsession *WCC = WC; char buf[256]; char roomname[256]; int view; char datestring[256]; time_t now; time_t mtime; int is_groupware_collection = 0; int starting_point = 1; /**< 0 for /, 1 for /groupdav/ */ if (WCC->Hdr->HR.Handler == NULL) { starting_point = 0; } else if (StrLength(WCC->Hdr->HR.ReqLine) == 0) { starting_point = 1; } else { starting_point = 2; } now = time(NULL); http_datestring(datestring, sizeof datestring, now); /* * Be rude. Completely ignore the XML request and simply send them * everything we know about. Let the client sort it out. */ hprintf("HTTP/1.0 207 Multi-Status\r\n"); dav_common_headers(); hprintf("Date: %s\r\n", datestring); hprintf("Content-type: text/xml\r\n"); if (DisableGzip || (!WCC->Hdr->HR.gzip_ok)) hprintf("Content-encoding: identity\r\n"); begin_burst(); wc_printf("" "" ); /* * If the client is requesting the root, show a root node. */ if (starting_point == 0) { wc_printf(""); wc_printf(""); dav_identify_host(); wc_printf("/"); wc_printf(""); wc_printf(""); wc_printf("HTTP/1.1 200 OK"); wc_printf(""); wc_printf("/"); wc_printf(""); wc_printf(""); escputs(datestring); wc_printf(""); wc_printf(""); wc_printf(""); wc_printf(""); } /* * If the client is requesting "/groupdav", show a /groupdav subdirectory. */ if ((starting_point + WCC->Hdr->HR.dav_depth) >= 1) { wc_printf(""); wc_printf(""); dav_identify_host(); wc_printf("/groupdav"); wc_printf(""); wc_printf(""); wc_printf("HTTP/1.1 200 OK"); wc_printf(""); wc_printf("GroupDAV"); wc_printf(""); wc_printf(""); escputs(datestring); wc_printf(""); wc_printf(""); wc_printf(""); wc_printf(""); } /* * Now go through the list and make it look like a DAV collection */ serv_puts("LKRA"); serv_getln(buf, sizeof buf); if (buf[0] == '1') while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) { extract_token(roomname, buf, 0, '|', sizeof roomname); view = extract_int(buf, 7); mtime = extract_long(buf, 8); http_datestring(datestring, sizeof datestring, mtime); /* * For now, only list rooms that we know a GroupDAV client * might be interested in. In the future we may add * the rest. * * We determine the type of objects which are stored in each * room by looking at the *default* view for the room. This * allows, for example, a Calendar room to appear as a * GroupDAV calendar even if the user has switched it to a * Calendar List view. */ if ( (view == VIEW_CALENDAR) || (view == VIEW_TASKS) || (view == VIEW_ADDRESSBOOK) || (view == VIEW_NOTES) || (view == VIEW_JOURNAL) || (view == VIEW_WIKI) || (view == VIEW_WIKIMD) ) { is_groupware_collection = 1; } else { is_groupware_collection = 0; } if ( (is_groupware_collection) && ((starting_point + WCC->Hdr->HR.dav_depth) >= 2) ) { wc_printf(""); wc_printf(""); dav_identify_host(); wc_printf("/groupdav/"); urlescputs(roomname); wc_printf("/"); wc_printf(""); wc_printf("HTTP/1.1 200 OK"); wc_printf(""); wc_printf(""); escputs(roomname); wc_printf(""); wc_printf(""); switch(view) { case VIEW_CALENDAR: wc_printf(""); break; case VIEW_TASKS: wc_printf(""); break; case VIEW_ADDRESSBOOK: wc_printf(""); break; case VIEW_NOTES: wc_printf(""); break; case VIEW_JOURNAL: wc_printf(""); break; case VIEW_WIKI: case VIEW_WIKIMD: wc_printf(""); break; } wc_printf(""); wc_printf(""); escputs(datestring); wc_printf(""); wc_printf(""); wc_printf(""); wc_printf(""); } } wc_printf("\n"); end_burst(); } void propfind_xml_start(void *data, const char *supplied_el, const char **attr) { // syslog(LOG_DEBUG, "<%s>", supplied_el); } void propfind_xml_end(void *data, const char *supplied_el) { // syslog(LOG_DEBUG, "", supplied_el); } /* * The pathname is always going to be /groupdav/room_name/msg_num */ void dav_propfind(void) { wcsession *WCC = WC; StrBuf *dav_roomname; StrBuf *dav_uid; StrBuf *MsgNum; long BufLen; long dav_msgnum = (-1); char uid[256]; char encoded_uid[256]; long *msgs = NULL; int num_msgs = 0; int i; char datestring[256]; time_t now; now = time(NULL); http_datestring(datestring, sizeof datestring, now); int parse_success = 0; XML_Parser xp = XML_ParserCreateNS(NULL, '|'); if (xp) { // XML_SetUserData(xp, XXX); XML_SetElementHandler(xp, propfind_xml_start, propfind_xml_end); // XML_SetCharacterDataHandler(xp, xrds_xml_chardata); const char *req = ChrPtr(WCC->upload); if (req) { req = strchr(req, '<'); /* hunt for the first tag */ } if (!req) { req = "ERROR"; /* force it to barf */ } i = XML_Parse(xp, req, strlen(req), 1); if (!i) { syslog(LOG_DEBUG, "XML_Parse() failed: %s", XML_ErrorString(XML_GetErrorCode(xp))); XML_ParserFree(xp); parse_success = 0; } else { parse_success = 1; } } if (!parse_success) { hprintf("HTTP/1.1 500 Internal Server Error\r\n"); dav_common_headers(); hprintf("Date: %s\r\n", datestring); hprintf("Content-Type: text/plain\r\n"); wc_printf("An internal error has occurred at %s:%d.\r\n", __FILE__ , __LINE__ ); end_burst(); return; } dav_roomname = NewStrBuf(); dav_uid = NewStrBuf(); StrBufExtract_token(dav_roomname, WCC->Hdr->HR.ReqLine, 0, '/'); StrBufExtract_token(dav_uid, WCC->Hdr->HR.ReqLine, 1, '/'); syslog(LOG_DEBUG, "PROPFIND requested for '%s' at depth %d", ChrPtr(dav_roomname), WCC->Hdr->HR.dav_depth ); /* * If the room name is blank, the client is requesting a folder list. */ if (StrLength(dav_roomname) == 0) { dav_collection_list(); FreeStrBuf(&dav_roomname); FreeStrBuf(&dav_uid); return; } /* Go to the correct room. */ if (strcasecmp(ChrPtr(WCC->CurRoom.name), ChrPtr(dav_roomname))) { gotoroom(dav_roomname); } if (strcasecmp(ChrPtr(WCC->CurRoom.name), ChrPtr(dav_roomname))) { hprintf("HTTP/1.1 404 not found\r\n"); dav_common_headers(); hprintf("Date: %s\r\n", datestring); hprintf("Content-Type: text/plain\r\n"); wc_printf("There is no folder called \"%s\" on this server.\r\n", ChrPtr(dav_roomname)); end_burst(); FreeStrBuf(&dav_roomname); FreeStrBuf(&dav_uid); return; } /* If dav_uid is non-empty, client is requesting a PROPFIND on * a specific item in the room. This is not valid GroupDAV, but * it is valid WebDAV (and probably CalDAV too). */ if (StrLength(dav_uid) != 0) { dav_msgnum = locate_message_by_uid(ChrPtr(dav_uid)); if (dav_msgnum < 0) { hprintf("HTTP/1.1 404 not found\r\n"); dav_common_headers(); hprintf("Content-Type: text/plain\r\n"); wc_printf("Object \"%s\" was not found in the \"%s\" folder.\r\n", ChrPtr(dav_uid), ChrPtr(dav_roomname) ); end_burst(); FreeStrBuf(&dav_roomname); FreeStrBuf(&dav_uid); return; } /* Be rude. Completely ignore the XML request and simply send them * everything we know about (which is going to simply be the ETag and * nothing else). Let the client-side parser sort it out. */ hprintf("HTTP/1.0 207 Multi-Status\r\n"); dav_common_headers(); hprintf("Date: %s\r\n", datestring); hprintf("Content-type: text/xml\r\n"); if (DisableGzip || (!WCC->Hdr->HR.gzip_ok)) hprintf("Content-encoding: identity\r\n"); begin_burst(); wc_printf("" "" ); wc_printf(""); wc_printf(""); dav_identify_host(); wc_printf("/groupdav/"); urlescputs(ChrPtr(WCC->CurRoom.name)); euid_escapize(encoded_uid, ChrPtr(dav_uid)); wc_printf("/%s", encoded_uid); wc_printf(""); wc_printf(""); wc_printf("HTTP/1.1 200 OK"); wc_printf(""); wc_printf("\"%ld\"", dav_msgnum); wc_printf(""); escputs(datestring); wc_printf(""); wc_printf(""); wc_printf(""); wc_printf("\n"); wc_printf("\n"); end_burst(); FreeStrBuf(&dav_roomname); FreeStrBuf(&dav_uid); return; } FreeStrBuf(&dav_roomname); FreeStrBuf(&dav_uid); /* * If we get to this point the client is performing a PROPFIND on the room itself. * * We call it a room; DAV calls it a "collection." We have to give it some properties * of the room itself and then offer a list of all items contained therein. * * Be rude. Completely ignore the XML request and simply send them * everything we know about (which is going to simply be the ETag and * nothing else). Let the client-side parser sort it out. */ //syslog(LOG_DEBUG, "BE RUDE AND IGNORE: \033[31m%s\033[0m", ChrPtr(WC->upload) ); hprintf("HTTP/1.0 207 Multi-Status\r\n"); dav_common_headers(); hprintf("Date: %s\r\n", datestring); hprintf("Content-type: text/xml\r\n"); if (DisableGzip || (!WCC->Hdr->HR.gzip_ok)) { hprintf("Content-encoding: identity\r\n"); } begin_burst(); wc_printf("" "" ); /* Transmit the collection resource */ wc_printf(""); wc_printf(""); dav_identify_host(); wc_printf("/groupdav/"); urlescputs(ChrPtr(WCC->CurRoom.name)); wc_printf(""); wc_printf(""); wc_printf("HTTP/1.1 200 OK"); wc_printf(""); wc_printf(""); escputs(ChrPtr(WCC->CurRoom.name)); wc_printf(""); wc_printf(""); /* empty owner ought to be legal; see rfc3744 section 5.1 */ wc_printf(""); switch(WCC->CurRoom.defview) { case VIEW_CALENDAR: wc_printf(""); wc_printf(""); break; case VIEW_TASKS: wc_printf(""); break; case VIEW_ADDRESSBOOK: wc_printf(""); break; } wc_printf(""); /* FIXME get the mtime wc_printf(""); escputs(datestring); wc_printf(""); */ wc_printf(""); wc_printf(""); wc_printf(""); /* If a depth greater than zero was specified, transmit the collection listing */ if (WCC->Hdr->HR.dav_depth > 0) { MsgNum = NewStrBuf(); serv_puts("MSGS ALL"); StrBuf_ServGetln(MsgNum); if (GetServerStatus(MsgNum, NULL) == 1) while (BufLen = StrBuf_ServGetln(MsgNum), ((BufLen >= 0) && ((BufLen != 3) || strcmp(ChrPtr(MsgNum), "000")) )) { msgs = realloc(msgs, ++num_msgs * sizeof(long)); msgs[num_msgs-1] = StrTol(MsgNum); } if (num_msgs > 0) for (i=0; i= 0) && ((BufLen != 3) || strcmp(ChrPtr(MsgNum), "000")) )) { if (!strncasecmp(ChrPtr(MsgNum), "exti=", 5)) { strcpy(uid, &ChrPtr(MsgNum)[5]); } else if (!strncasecmp(ChrPtr(MsgNum), "time=", 5)) { now = atol(&ChrPtr(MsgNum)[5]); } } if (!IsEmptyStr(uid)) { wc_printf(""); wc_printf(""); dav_identify_host(); wc_printf("/groupdav/"); urlescputs(ChrPtr(WCC->CurRoom.name)); euid_escapize(encoded_uid, uid); wc_printf("/%s", encoded_uid); wc_printf(""); switch(WCC->CurRoom.defview) { case VIEW_CALENDAR: wc_printf("text/x-ical"); break; case VIEW_TASKS: wc_printf("text/x-ical"); break; case VIEW_ADDRESSBOOK: wc_printf("text/x-vcard"); break; } wc_printf(""); wc_printf("HTTP/1.1 200 OK"); wc_printf(""); wc_printf("\"%ld\"", msgs[i]); if (now > 0L) { http_datestring(datestring, sizeof datestring, now); wc_printf(""); escputs(datestring); wc_printf(""); } wc_printf(""); wc_printf(""); wc_printf(""); } } FreeStrBuf(&MsgNum); } wc_printf("\n"); end_burst(); if (msgs != NULL) { free(msgs); } } int ParseMessageListHeaders_EUID(StrBuf *Line, const char **pos, message_summary *Msg, StrBuf *ConversionBuffer) { Msg->euid = NewStrBuf(); StrBufExtract_NextToken(Msg->euid, Line, pos, '|'); Msg->date = StrBufExtractNext_long(Line, pos, '|'); return StrLength(Msg->euid) > 0; } int DavUIDL_GetParamsGetServerCall(SharedMessageStatus *Stat, void **ViewSpecific, long oper, char *cmd, long len, char *filter, long flen) { Stat->defaultsortorder = 0; Stat->sortit = 0; Stat->load_seen = 0; Stat->maxmsgs = 9999999; snprintf(cmd, len, "MSGS ALL|||2"); return 200; } int DavUIDL_RenderView_or_Tail(SharedMessageStatus *Stat, void **ViewSpecific, long oper) { DoTemplate(HKEY("msg_listview"),NULL,&NoCtx); return 0; } int DavUIDL_Cleanup(void **ViewSpecific) { /* Note: wDumpContent() will output one additional tag. */ /* We ought to move this out into template */ wDumpContent(1); return 0; } void InitModule_PROPFIND (void) { RegisterReadLoopHandlerset( eReadEUIDS, DavUIDL_GetParamsGetServerCall, NULL, NULL, /// TODO: is this right? ParseMessageListHeaders_EUID, NULL, //// "" DavUIDL_RenderView_or_Tail, DavUIDL_Cleanup); } webcit-9.01-dfsg/dav_put.c000066400000000000000000000143541254743150300154620ustar00rootroot00000000000000/* * Handles GroupDAV PUT requests. * * Copyright (c) 2005-2012 by the citadel.org team * * This program is open source software; you can redistribute it and/or modify * it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" #include "dav.h" /* * This function is for uploading an ENTIRE calendar, not just one * component. This would be for webcal:// 'publish' operations, not * for GroupDAV. */ void dav_put_bigics(void) { wcsession *WCC = WC; char buf[1024]; /* * Tell the server that when we save a calendar event, we * do *not* want the server to generate invitations. */ serv_puts("ICAL sgi|0"); serv_getln(buf, sizeof buf); serv_puts("ICAL putics"); serv_getln(buf, sizeof buf); if (buf[0] != '4') { hprintf("HTTP/1.1 502 Bad Gateway\r\n"); dav_common_headers(); hprintf("Content-type: text/plain\r\n"); begin_burst(); wc_printf("%s\r\n", &buf[4]); end_burst(); return; } serv_putbuf(WCC->upload); serv_printf("\n000"); /* Report success and not much else. */ hprintf("HTTP/1.1 204 No Content\r\n"); syslog(LOG_DEBUG, "HTTP/1.1 204 No Content\r\n"); dav_common_headers(); begin_burst(); end_burst(); } /* * The pathname is always going to take one of two formats: * [/groupdav/]room_name/euid (GroupDAV) * [/groupdav/]room_name (webcal) */ void dav_put(void) { wcsession *WCC = WC; StrBuf *dav_roomname; StrBuf *dav_uid; long new_msgnum = (-2L); long old_msgnum = (-1L); char buf[SIZ]; int n = 0; if (StrBufNum_tokens(WCC->Hdr->HR.ReqLine, '/') < 2) { hprintf("HTTP/1.1 404 not found\r\n"); dav_common_headers(); hprintf("Content-Type: text/plain\r\n"); begin_burst(); wc_printf("The object you requested was not found.\r\n"); end_burst(); return; } dav_roomname = NewStrBuf();; dav_uid = NewStrBuf();; StrBufExtract_token(dav_roomname, WCC->Hdr->HR.ReqLine, 0, '/'); StrBufExtract_token(dav_uid, WCC->Hdr->HR.ReqLine, 1, '/'); if ((!strcasecmp(ChrPtr(dav_uid), "ics")) || (!strcasecmp(ChrPtr(dav_uid), "calendar.ics"))) { FlushStrBuf(dav_uid); } /* Go to the correct room. */ if (strcasecmp(ChrPtr(WC->CurRoom.name), ChrPtr(dav_roomname))) { gotoroom(dav_roomname); } if (strcasecmp(ChrPtr(WC->CurRoom.name), ChrPtr(dav_roomname))) { hprintf("HTTP/1.1 404 not found\r\n"); dav_common_headers(); hprintf("Content-Type: text/plain\r\n"); begin_burst(); wc_printf("There is no folder called \"%s\" on this server.\r\n", ChrPtr(dav_roomname)); end_burst(); FreeStrBuf(&dav_roomname); FreeStrBuf(&dav_uid); return; } /* * If an HTTP If-Match: header is present, the client is attempting * to replace an existing item. We have to check to see if the * message number associated with the supplied uid matches what the * client is expecting. If not, the server probably contains a newer * version, so we fail... */ if (StrLength(WCC->Hdr->HR.dav_ifmatch) > 0) { syslog(LOG_DEBUG, "dav_ifmatch: %s\n", ChrPtr(WCC->Hdr->HR.dav_ifmatch)); old_msgnum = locate_message_by_uid(ChrPtr(dav_uid)); syslog(LOG_DEBUG, "old_msgnum: %ld\n", old_msgnum); if (StrTol(WCC->Hdr->HR.dav_ifmatch) != old_msgnum) { hprintf("HTTP/1.1 412 Precondition Failed\r\n"); syslog(LOG_INFO, "HTTP/1.1 412 Precondition Failed (ifmatch=%ld, old_msgnum=%ld)\r\n", StrTol(WCC->Hdr->HR.dav_ifmatch), old_msgnum); dav_common_headers(); end_burst(); FreeStrBuf(&dav_roomname); FreeStrBuf(&dav_uid); return; } } /** PUT on the collection itself uploads an ICS of the entire collection. */ if (StrLength(dav_uid) == 0) { dav_put_bigics(); FreeStrBuf(&dav_roomname); FreeStrBuf(&dav_uid); return; } /* * We are cleared for upload! We use the new calling syntax for ENT0 * which allows a confirmation to be sent back to us. That's how we * extract the message ID. */ serv_puts("ENT0 1|||4|||1|"); serv_getln(buf, sizeof buf); if (buf[0] != '8') { hprintf("HTTP/1.1 502 Bad Gateway\r\n"); dav_common_headers(); hprintf("Content-type: text/plain\r\n"); begin_burst(); wc_printf("%s\r\n", &buf[4]); end_burst(); return; } /* Send the content to the Citadel server */ //serv_printf("Content-type: %s\n\n", WCC->upload_content_type); serv_putbuf(WCC->upload); serv_puts("\n000"); /* Fetch the reply from the Citadel server */ n = 0; FlushStrBuf(dav_uid); while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) { switch(n++) { case 0: new_msgnum = atol(buf); break; case 1: syslog(LOG_DEBUG, "new_msgnum=%ld (%s)\n", new_msgnum, buf); break; case 2: StrBufAppendBufPlain(dav_uid, buf, -1, 0); break; default: break; } } /* Tell the client what happened. */ /* Citadel failed in some way? */ if (new_msgnum < 0L) { hprintf("HTTP/1.1 502 Bad Gateway\r\n"); dav_common_headers(); hprintf("Content-type: text/plain\r\n"); begin_burst(); wc_printf("new_msgnum is %ld\r\n" "\r\n", new_msgnum); end_burst(); FreeStrBuf(&dav_roomname); FreeStrBuf(&dav_uid); return; } /* We created this item for the first time. */ if (old_msgnum < 0L) { char escaped_uid[1024]; hprintf("HTTP/1.1 201 Created\r\n"); syslog(LOG_DEBUG, "HTTP/1.1 201 Created\r\n"); dav_common_headers(); hprintf("etag: \"%ld\"\r\n", new_msgnum); hprintf("Location: "); dav_identify_hosthdr(); hprintf("/groupdav/");/* TODO */ hurlescputs(ChrPtr(dav_roomname)); euid_escapize(escaped_uid, ChrPtr(dav_uid)); hprintf("/%s\r\n", escaped_uid); end_burst(); FreeStrBuf(&dav_roomname); FreeStrBuf(&dav_uid); return; } /* We modified an existing item. */ hprintf("HTTP/1.1 204 No Content\r\n"); syslog(LOG_DEBUG, "HTTP/1.1 204 No Content\r\n"); dav_common_headers(); hprintf("Etag: \"%ld\"\r\n", new_msgnum); /* The item we replaced has probably already been deleted by * the Citadel server, but we'll do this anyway, just in case. */ serv_printf("DELE %ld", old_msgnum); serv_getln(buf, sizeof buf); begin_burst(); end_burst(); FreeStrBuf(&dav_roomname); FreeStrBuf(&dav_uid); return; } webcit-9.01-dfsg/dav_report.c000066400000000000000000000051441254743150300161620ustar00rootroot00000000000000/* * Handles GroupDAV REPORT requests. * * Copyright (c) 2005-2012 by the citadel.org team * * This program is open source software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3. * * 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. */ /* SAMPLE QUERIES TO WORK WITH * REPORT /groupdav/calendar/ HTTP/1.1 Content-type: application/xml Content-length: 349 REPORT /groupdav/calendar/ HTTP/1.1 Content-type: application/xml Content-length: 255 */ #include "webcit.h" #include "webserver.h" #include "dav.h" /* * The pathname is always going to be /groupdav/room_name/msg_num */ void dav_report(void) { char datestring[256]; time_t now = time(NULL); http_datestring(datestring, sizeof datestring, now); const char *req = ChrPtr(WC->upload); syslog(LOG_DEBUG, "REPORT: \033[31m%s\033[0m", req); hprintf("HTTP/1.1 500 Internal Server Error\r\n"); dav_common_headers(); hprintf("Date: %s\r\n", datestring); hprintf("Content-Type: text/plain\r\n"); wc_printf("An internal error has occurred at %s:%d.\r\n", __FILE__ , __LINE__ ); end_burst(); return; } extern int ParseMessageListHeaders_EUID(StrBuf *Line, const char **pos, message_summary *Msg, StrBuf *ConversionBuffer); extern int DavUIDL_GetParamsGetServerCall(SharedMessageStatus *Stat, void **ViewSpecific, long oper, char *cmd, long len, char *filter, long flen); extern int DavUIDL_RenderView_or_Tail(SharedMessageStatus *Stat, void **ViewSpecific, long oper); extern int DavUIDL_Cleanup(void **ViewSpecific); void InitModule_REPORT (void) { RegisterReadLoopHandlerset( eReadEUIDS, DavUIDL_GetParamsGetServerCall, NULL, NULL, ParseMessageListHeaders_EUID, NULL, DavUIDL_RenderView_or_Tail, DavUIDL_Cleanup ); } webcit-9.01-dfsg/decode.c000066400000000000000000000177251254743150300152500ustar00rootroot00000000000000/* * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #ifdef HAVE_ICONV /* * Wrapper around iconv_open() * Our version adds aliases for non-standard Microsoft charsets * such as 'MS950', aliasing them to names like 'CP950' * * tocode Target encoding * fromcode Source encoding * / iconv_t ctdl_iconv_open(const char *tocode, const char *fromcode) { iconv_t ic = (iconv_t)(-1) ; ic = iconv_open(tocode, fromcode); if (ic == (iconv_t)(-1) ) { char alias_fromcode[64]; if ( (strlen(fromcode) == 5) && (!strncasecmp(fromcode, "MS", 2)) ) { safestrncpy(alias_fromcode, fromcode, sizeof alias_fromcode); alias_fromcode[0] = 'C'; alias_fromcode[1] = 'P'; ic = iconv_open(tocode, alias_fromcode); } } return(ic); } */ static inline char *FindNextEnd (char *bptr) { char * end; /* Find the next ?Q? */ end = strchr(bptr + 2, '?'); if (end == NULL) return NULL; if (((*(end + 1) == 'B') || (*(end + 1) == 'Q')) && (*(end + 2) == '?')) { /* skip on to the end of the cluster, the next ?= */ end = strstr(end + 3, "?="); } else /* sort of half valid encoding, try to find an end. */ end = strstr(bptr, "?="); return end; } /* * Handle subjects with RFC2047 encoding such as: * =?koi8-r?B?78bP0s3Mxc7JxSDXz9rE1dvO2c3JINvB0sHNySDP?= */ void utf8ify_rfc822_string(char **buf) { char *start, *end, *next, *nextend, *ptr; char newbuf[1024]; char charset[128]; char encoding[16]; char istr[1024]; iconv_t ic = (iconv_t)(-1) ; char *ibuf; /* Buffer of characters to be converted */ char *obuf; /* Buffer for converted characters */ size_t ibuflen; /* Length of input buffer */ size_t obuflen; /* Length of output buffer */ char *isav; /* Saved pointer to input buffer */ char *osav; /* Saved pointer to output buffer */ int passes = 0; int i, len, delta; int illegal_non_rfc2047_encoding = 0; /* Sometimes, badly formed messages contain strings which were simply * written out directly in some foreign character set instead of * using RFC2047 encoding. This is illegal but we will attempt to * handle it anyway by converting from a user-specified default * charset to UTF-8 if we see any nonprintable characters. */ len = strlen(*buf); for (i=0; i 126)) { illegal_non_rfc2047_encoding = 1; i = len; /*< take a shortcut, it won't be more than one. */ } } if (illegal_non_rfc2047_encoding) { StrBuf *default_header_charset; get_preference("default_header_charset", &default_header_charset); if ( (strcasecmp(ChrPtr(default_header_charset), "UTF-8")) && (strcasecmp(ChrPtr(default_header_charset), "us-ascii")) ) { ctdl_iconv_open("UTF-8", ChrPtr(default_header_charset), &ic); if (ic != (iconv_t)(-1) ) { ibuf = malloc(1024); isav = ibuf; safestrncpy(ibuf, *buf, 1023); ibuflen = strlen(ibuf); obuflen = 1024; obuf = (char *) malloc(obuflen); osav = obuf; iconv(ic, &ibuf, &ibuflen, &obuf, &obuflen); osav[1023-obuflen] = 0; free(*buf); *buf = osav; iconv_close(ic); free(isav); } } } /* pre evaluate the first pair */ nextend = end = NULL; len = strlen(*buf); start = strstr(*buf, "=?"); if (start != NULL) end = FindNextEnd (start); while ((start != NULL) && (end != NULL)) { next = strstr(end, "=?"); if (next != NULL) nextend = FindNextEnd(next); if (nextend == NULL) next = NULL; /* did we find two partitions */ if ((next != NULL) && ((next - end) > 2)) { ptr = end + 2; while ((ptr < next) && (isspace(*ptr) || (*ptr == '\r') || (*ptr == '\n') || (*ptr == '\t'))) ptr ++; /* did we find a gab just filled with blanks? */ if (ptr == next) { memmove (end + 2, next, len - (next - start)); /* now terminate the gab at the end */ delta = (next - end) - 2; len -= delta; (*buf)[len] = '\0'; /* move next to its new location. */ next -= delta; nextend -= delta; } } /* our next-pair is our new first pair now. */ start = next; end = nextend; } /* Now we handle foreign character sets properly encoded * in RFC2047 format. */ while (start=strstr((*buf), "=?"), end=FindNextEnd((start != NULL)? start : (*buf)), ((start != NULL) && (end != NULL) && (end > start)) ) { extract_token(charset, start, 1, '?', sizeof charset); extract_token(encoding, start, 2, '?', sizeof encoding); extract_token(istr, start, 3, '?', sizeof istr); ibuf = malloc(1024); isav = ibuf; if (!strcasecmp(encoding, "B")) { /* base64 */ ibuflen = CtdlDecodeBase64(ibuf, istr, strlen(istr)); } else if (!strcasecmp(encoding, "Q")) { /* quoted-printable */ size_t len; long pos; len = strlen(istr); pos = 0; while (pos < len) { if (istr[pos] == '_') istr[pos] = ' '; pos++; } ibuflen = CtdlDecodeQuotedPrintable(ibuf, istr, len); } else { strcpy(ibuf, istr); /* unknown encoding */ ibuflen = strlen(istr); } ctdl_iconv_open("UTF-8", charset, &ic); if (ic != (iconv_t)(-1) ) { obuflen = 1024; obuf = (char *) malloc(obuflen); osav = obuf; iconv(ic, &ibuf, &ibuflen, &obuf, &obuflen); osav[1024-obuflen] = 0; end = start; end++; strcpy(start, ""); remove_token(end, 0, '?'); remove_token(end, 0, '?'); remove_token(end, 0, '?'); remove_token(end, 0, '?'); strcpy(end, &end[1]); snprintf(newbuf, sizeof newbuf, "%s%s%s", *buf, osav, end); strcpy(*buf, newbuf); free(osav); iconv_close(ic); } else { end = start; end++; strcpy(start, ""); remove_token(end, 0, '?'); remove_token(end, 0, '?'); remove_token(end, 0, '?'); remove_token(end, 0, '?'); strcpy(end, &end[1]); snprintf(newbuf, sizeof newbuf, "%s(unreadable)%s", *buf, end); strcpy(*buf, newbuf); } free(isav); /* * Since spammers will go to all sorts of absurd lengths to get their * messages through, there are LOTS of corrupt headers out there. * So, prevent a really badly formed RFC2047 header from throwing * this function into an infinite loop. */ ++passes; if (passes > 20) return; } } #else inline void utf8ify_rfc822_string(char **a){}; #endif /* * RFC2047-encode a header field if necessary. * If no non-ASCII characters are found, the string will be copied verbatim without encoding. * Returns encoded length; -1 if non success. * * target Target buffer. * maxlen Maximum size of target buffer. * source Source string to be encoded. * SourceLen Length of the source string */ int webcit_rfc2047encode(char *target, int maxlen, char *source, long SourceLen) { const char headerStr[] = "=?UTF-8?Q?"; int need_to_encode = 0; int i = 0; int len; unsigned char ch; if ((source == NULL) || (target == NULL) || (SourceLen > maxlen)) return -1; while ((!IsEmptyStr (&source[i])) && (need_to_encode == 0) && (i < SourceLen) ) { if (((unsigned char) source[i] < 32) || ((unsigned char) source[i] > 126)) { need_to_encode = 1; } i++; } if (!need_to_encode) { memcpy (target, source, SourceLen); target[SourceLen] = '\0'; return SourceLen; } if (sizeof (headerStr + SourceLen + 2) > maxlen) return -1; memcpy (target, headerStr, sizeof (headerStr)); len = sizeof (headerStr) - 1; for (i=0; (i < SourceLen) && (len + 3< maxlen) ; ++i) { ch = (unsigned char) source[i]; if ((ch < 32) || (ch > 126) || (ch == 61)) { sprintf(&target[len], "=%02X", ch); len += 3; } else { sprintf(&target[len], "%c", ch); len ++; } } if (len + 2 < maxlen) { strcat(&target[len], "?="); len +=2; return len; } else return -1; } webcit-9.01-dfsg/downloads.c000066400000000000000000000327461254743150300160170ustar00rootroot00000000000000/* * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" CtxType CTX_FILELIST = CTX_NONE; extern void output_static(const char* What); extern char* static_dirs[]; typedef struct _FileListStruct { StrBuf *Filename; long FileSize; StrBuf *MimeType; StrBuf *Comment; int IsPic; int Sequence; } FileListStruct; void FreeFiles(void *vFile) { FileListStruct *F = (FileListStruct*) vFile; FreeStrBuf(&F->Filename); FreeStrBuf(&F->MimeType); FreeStrBuf(&F->Comment); free(F); } /* -------------------------------------------------------------------------------- */ void tmplput_FILE_NAME(StrBuf *Target, WCTemplputParams *TP) { FileListStruct *F = (FileListStruct*) CTX(CTX_FILELIST); StrBufAppendTemplate(Target, TP, F->Filename, 0); } void tmplput_FILE_SIZE(StrBuf *Target, WCTemplputParams *TP) { FileListStruct *F = (FileListStruct*) CTX(CTX_FILELIST); StrBufAppendPrintf(Target, "%ld", F->FileSize); } void tmplput_FILEMIMETYPE(StrBuf *Target, WCTemplputParams *TP) { FileListStruct *F = (FileListStruct*) CTX(CTX_FILELIST); StrBufAppendTemplate(Target, TP, F->MimeType, 0); } void tmplput_FILE_COMMENT(StrBuf *Target, WCTemplputParams *TP) { FileListStruct *F = (FileListStruct*) CTX(CTX_FILELIST); StrBufAppendTemplate(Target, TP, F->Comment, 0); } /* -------------------------------------------------------------------------------- */ int Conditional_FILE_ISPIC(StrBuf *Target, WCTemplputParams *TP) { FileListStruct *F = (FileListStruct*) CTX(CTX_FILELIST); return F->IsPic; } /* -------------------------------------------------------------------------------- */ int CompareFilelistByMime(const void *vFile1, const void *vFile2) { FileListStruct *File1 = (FileListStruct*) GetSearchPayload(vFile1); FileListStruct *File2 = (FileListStruct*) GetSearchPayload(vFile2); if (File1->IsPic != File2->IsPic) return File1->IsPic > File2->IsPic; return strcasecmp(ChrPtr(File1->MimeType), ChrPtr(File2->MimeType)); } int CompareFilelistByMimeRev(const void *vFile1, const void *vFile2) { FileListStruct *File1 = (FileListStruct*) GetSearchPayload(vFile1); FileListStruct *File2 = (FileListStruct*) GetSearchPayload(vFile2); if (File1->IsPic != File2->IsPic) return File1->IsPic < File2->IsPic; return strcasecmp(ChrPtr(File2->MimeType), ChrPtr(File1->MimeType)); } int GroupchangeFilelistByMime(const void *vFile1, const void *vFile2) { FileListStruct *File1 = (FileListStruct*) vFile1; FileListStruct *File2 = (FileListStruct*) vFile2; if (File1->IsPic != File2->IsPic) return File1->IsPic > File2->IsPic; return strcasecmp(ChrPtr(File1->MimeType), ChrPtr(File2->MimeType)) != 0; } int CompareFilelistByName(const void *vFile1, const void *vFile2) { FileListStruct *File1 = (FileListStruct*) GetSearchPayload(vFile1); FileListStruct *File2 = (FileListStruct*) GetSearchPayload(vFile2); if (File1->IsPic != File2->IsPic) return File1->IsPic > File2->IsPic; return strcasecmp(ChrPtr(File1->Filename), ChrPtr(File2->Filename)); } int CompareFilelistByNameRev(const void *vFile1, const void *vFile2) { FileListStruct *File1 = (FileListStruct*) GetSearchPayload(vFile1); FileListStruct *File2 = (FileListStruct*) GetSearchPayload(vFile2); if (File1->IsPic != File2->IsPic) return File1->IsPic < File2->IsPic; return strcasecmp(ChrPtr(File2->Filename), ChrPtr(File1->Filename)); } int GroupchangeFilelistByName(const void *vFile1, const void *vFile2) { FileListStruct *File1 = (FileListStruct*) vFile1; FileListStruct *File2 = (FileListStruct*) vFile2; return ChrPtr(File1->Filename)[0] != ChrPtr(File2->Filename)[0]; } int CompareFilelistBySize(const void *vFile1, const void *vFile2) { FileListStruct *File1 = (FileListStruct*) GetSearchPayload(vFile1); FileListStruct *File2 = (FileListStruct*) GetSearchPayload(vFile2); if (File1->FileSize == File2->FileSize) return 0; return (File1->FileSize > File2->FileSize); } int CompareFilelistBySizeRev(const void *vFile1, const void *vFile2) { FileListStruct *File1 = (FileListStruct*) GetSearchPayload(vFile1); FileListStruct *File2 = (FileListStruct*) GetSearchPayload(vFile2); if (File1->FileSize == File2->FileSize) return 0; return (File1->FileSize < File2->FileSize); } int GroupchangeFilelistBySize(const void *vFile1, const void *vFile2) { return 0; } int CompareFilelistByComment(const void *vFile1, const void *vFile2) { FileListStruct *File1 = (FileListStruct*) GetSearchPayload(vFile1); FileListStruct *File2 = (FileListStruct*) GetSearchPayload(vFile2); return strcasecmp(ChrPtr(File1->Comment), ChrPtr(File2->Comment)); } int CompareFilelistByCommentRev(const void *vFile1, const void *vFile2) { FileListStruct *File1 = (FileListStruct*) GetSearchPayload(vFile1); FileListStruct *File2 = (FileListStruct*) GetSearchPayload(vFile2); return strcasecmp(ChrPtr(File2->Comment), ChrPtr(File1->Comment)); } int GroupchangeFilelistByComment(const void *vFile1, const void *vFile2) { FileListStruct *File1 = (FileListStruct*) vFile1; FileListStruct *File2 = (FileListStruct*) vFile2; return ChrPtr(File1->Comment)[9] != ChrPtr(File2->Comment)[0]; } int CompareFilelistBySequence(const void *vFile1, const void *vFile2) { FileListStruct *File1 = (FileListStruct*) GetSearchPayload(vFile1); FileListStruct *File2 = (FileListStruct*) GetSearchPayload(vFile2); return (File2->Sequence > File1->Sequence); } int GroupchangeFilelistBySequence(const void *vFile1, const void *vFile2) { return 0; } /* -------------------------------------------------------------------------------- */ HashList* LoadFileList(StrBuf *Target, WCTemplputParams *TP) { FileListStruct *Entry; StrBuf *Buf; HashList *Files; int Done = 0; int sequence = 0; char buf[1024]; CompareFunc SortIt; int HavePic = 0; WCTemplputParams SubTP; memset(&SubTP, 0, sizeof(WCTemplputParams)); serv_puts("RDIR"); serv_getln(buf, sizeof buf); if (buf[0] != '1') return NULL; Buf = NewStrBuf(); Files = NewHash(1, NULL); while (!Done && (StrBuf_ServGetln(Buf)>=0)) { if ( (StrLength(Buf)==3) && !strcmp(ChrPtr(Buf), "000")) { Done = 1; continue; } Entry = (FileListStruct*) malloc(sizeof (FileListStruct)); Entry->Filename = NewStrBufPlain(NULL, StrLength(Buf)); Entry->MimeType = NewStrBufPlain(NULL, StrLength(Buf)); Entry->Comment = NewStrBufPlain(NULL, StrLength(Buf)); Entry->Sequence = sequence++; StrBufExtract_token(Entry->Filename, Buf, 0, '|'); Entry->FileSize = StrBufExtract_long(Buf, 1, '|'); StrBufExtract_token(Entry->MimeType, Buf, 2, '|'); StrBufExtract_token(Entry->Comment, Buf, 3, '|'); Entry->IsPic = (strstr(ChrPtr(Entry->MimeType), "image") != NULL); if (Entry->IsPic) { HavePic = 1; } Put(Files, SKEY(Entry->Filename), Entry, FreeFiles); } if (HavePic) putbstr("__HAVE_PIC", NewStrBufPlain(HKEY("1"))); SubTP.Filter.ContextType = CTX_FILELIST; SortIt = RetrieveSort(&SubTP, NULL, 0, HKEY("fileunsorted"), 0); if (SortIt != NULL) SortByPayload(Files, SortIt); else SortByPayload(Files, CompareFilelistBySequence); FreeStrBuf(&Buf); return Files; } void display_mime_icon(void) { char FileBuf[SIZ]; const char *FileName; char *MimeType; size_t tlen; MimeType = xbstr("type", &tlen); FileName = GetIconFilename(MimeType, tlen); if (FileName == NULL) snprintf (FileBuf, SIZ, "%s%s", static_dirs[0], "/webcit_icons/essen/16x16/file.png"); else snprintf (FileBuf, SIZ, "%s%s", static_dirs[3], FileName); output_static(FileBuf); } void download_file(void) { wcsession *WCC = WC; StrBuf *Buf; off_t bytes; StrBuf *ContentType = NewStrBufPlain(HKEY("application/octet-stream")); /* Setting to nonzero forces a MIME type of application/octet-stream */ int force_download = 1; Buf = NewStrBuf(); StrBufExtract_token(Buf, WCC->Hdr->HR.ReqLine, 0, '/'); StrBufUnescape(Buf, 1); serv_printf("OPEN %s", ChrPtr(Buf)); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 2) { StrBufCutLeft(Buf, 4); bytes = StrBufExtract_long(Buf, 0, '|'); StrBufExtract_token(ContentType, Buf, 3, '|'); CheckGZipCompressionAllowed (SKEY(ContentType)); if (force_download) FlushStrBuf(ContentType); serv_read_binary_to_http(ContentType, bytes, 0, 0); serv_puts("CLOS"); StrBuf_ServGetln(Buf); // http_transmit_thing(ChrPtr(ContentType), 0); } else { StrBufCutLeft(Buf, 4); hprintf("HTTP/1.1 404 %s\n", ChrPtr(Buf)); output_headers(0, 0, 0, 0, 0, 0); hprintf("Content-Type: text/plain\r\n"); wc_printf(_("An error occurred while retrieving this file: %s\n"), ChrPtr(Buf)); end_burst(); } FreeStrBuf(&ContentType); FreeStrBuf(&Buf); } void delete_file(void) { const StrBuf *MimeType; StrBuf *Line; char buf[256]; safestrncpy(buf, bstr("file"), sizeof buf); unescape_input(buf); serv_printf("DELF %s", buf); StrBuf_ServGetln(Line); GetServerStatusMsg(Line, NULL, 1, 0); MimeType = DoTemplate(HKEY("files"), NULL, &NoCtx); http_transmit_thing(ChrPtr(MimeType), 0); FreeStrBuf(&Line); } void upload_file(void) { const StrBuf *RetMimeType; const char *MimeType; StrBuf *Line; long bytes_transmitted = 0; long blocksize; const StrBuf *Desc; wcsession *WCC = WC; /* stack this for faster access (WC is a function) */ MimeType = GuessMimeType(ChrPtr(WCC->upload), WCC->upload_length); Desc = sbstr("description"); serv_printf("UOPN %s|%s|%s", ChrPtr(WCC->upload_filename), MimeType, ChrPtr(Desc)); Line = NewStrBuf(); StrBuf_ServGetln(Line); if (GetServerStatusMsg(Line, NULL, 1, 2) != 2) { RetMimeType = DoTemplate(HKEY("files"), NULL, &NoCtx); http_transmit_thing(ChrPtr(RetMimeType), 0); FreeStrBuf(&Line); return; } while (bytes_transmitted < WCC->upload_length) { blocksize = 4096; if (blocksize > (WCC->upload_length - bytes_transmitted)) { blocksize = (WCC->upload_length - bytes_transmitted); } serv_printf("WRIT %ld", blocksize); StrBuf_ServGetln(Line); if (GetServerStatusMsg(Line, NULL, 0, 0) == 7) { blocksize = atoi(ChrPtr(Line) + 4); serv_write(&ChrPtr(WCC->upload)[bytes_transmitted], blocksize); bytes_transmitted += blocksize; } else break; } serv_puts("UCLS 1"); StrBuf_ServGetln(Line); GetServerStatusMsg(Line, NULL, 1, 0); RetMimeType = DoTemplate(HKEY("files"), NULL, &NoCtx); http_transmit_thing(ChrPtr(RetMimeType), 0); FreeStrBuf(&Line); } /* * When the browser requests an image file from the Citadel server, * this function is called to transmit it. */ void output_image(void) { StrBuf *Buf; wcsession *WCC = WC; off_t bytes; const char *MimeType; Buf = NewStrBuf(); serv_printf("OIMG %s|%s", bstr("name"), bstr("parm")); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 2) { int rc; StrBufCutLeft(Buf, 4); bytes = StrBufExtract_long(Buf, 0, '|'); /** Read it from the server */ rc = serv_read_binary(WCC->WBuf, bytes, Buf); serv_puts("CLOS"); StrBuf_ServGetln(Buf); if (rc > 0) { MimeType = GuessMimeType (ChrPtr(WCC->WBuf), StrLength(WCC->WBuf)); /** Write it to the browser */ if (!IsEmptyStr(MimeType)) { CheckGZipCompressionAllowed (MimeType, strlen(MimeType)); http_transmit_thing(MimeType, 0); FreeStrBuf(&Buf); return; } } /* hm... unknown mimetype? fallback to blank gif */ } else { syslog(LOG_DEBUG, "OIMG failed: %s", ChrPtr(Buf)); } /* * Instead of an ugly 404, send a 1x1 transparent GIF * when there's no such image on the server. */ StrBufPrintf (Buf, "%s%s", static_dirs[0], "/webcit_icons/blank.gif"); output_static(ChrPtr(Buf)); FreeStrBuf(&Buf); } void InitModule_DOWNLOAD (void) { RegisterCTX(CTX_FILELIST); RegisterIterator("ROOM:FILES", 0, NULL, LoadFileList, NULL, DeleteHash, CTX_FILELIST, CTX_NONE, IT_FLAG_DETECT_GROUPCHANGE); RegisterSortFunc(HKEY("filemime"), NULL, 0, CompareFilelistByMime, CompareFilelistByMimeRev, GroupchangeFilelistByMime, CTX_FILELIST); RegisterSortFunc(HKEY("filename"), NULL, 0, CompareFilelistByName, CompareFilelistByNameRev, GroupchangeFilelistByName, CTX_FILELIST); RegisterSortFunc(HKEY("filesize"), NULL, 0, CompareFilelistBySize, CompareFilelistBySizeRev, GroupchangeFilelistBySize, CTX_FILELIST); RegisterSortFunc(HKEY("filesubject"), NULL, 0, CompareFilelistByComment, CompareFilelistByCommentRev, GroupchangeFilelistByComment, CTX_FILELIST); RegisterSortFunc(HKEY("fileunsorted"), NULL, 0, CompareFilelistBySequence, CompareFilelistBySequence, GroupchangeFilelistBySequence, CTX_FILELIST); RegisterNamespace("FILE:NAME", 0, 2, tmplput_FILE_NAME, NULL, CTX_FILELIST); RegisterNamespace("FILE:SIZE", 0, 1, tmplput_FILE_SIZE, NULL, CTX_FILELIST); RegisterNamespace("FILE:MIMETYPE", 0, 2, tmplput_FILEMIMETYPE, NULL, CTX_FILELIST); RegisterNamespace("FILE:COMMENT", 0, 2, tmplput_FILE_COMMENT, NULL, CTX_FILELIST); RegisterConditional("COND:FILE:ISPIC", 0, Conditional_FILE_ISPIC, CTX_FILELIST); WebcitAddUrlHandler(HKEY("image"), "", 0, output_image, ANONYMOUS); WebcitAddUrlHandler(HKEY("display_mime_icon"), "", 0, display_mime_icon , ANONYMOUS); WebcitAddUrlHandler(HKEY("download_file"), "", 0, download_file, NEED_URL); WebcitAddUrlHandler(HKEY("delete_file"), "", 0, delete_file, NEED_URL); WebcitAddUrlHandler(HKEY("upload_file"), "", 0, upload_file, 0); } webcit-9.01-dfsg/epic/000077500000000000000000000000001254743150300145655ustar00rootroot00000000000000webcit-9.01-dfsg/epic/js/000077500000000000000000000000001254743150300152015ustar00rootroot00000000000000webcit-9.01-dfsg/epic/js/epiceditor.js000066400000000000000000002444261254743150300177020ustar00rootroot00000000000000/** * EpicEditor - An Embeddable JavaScript Markdown Editor (https://github.com/OscarGodson/EpicEditor) * Copyright (c) 2011-2012, Oscar Godson. (MIT Licensed) */ (function (window, undefined) { /** * Applies attributes to a DOM object * @param {object} context The DOM obj you want to apply the attributes to * @param {object} attrs A key/value pair of attributes you want to apply * @returns {undefined} */ function _applyAttrs(context, attrs) { for (var attr in attrs) { if (attrs.hasOwnProperty(attr)) { context[attr] = attrs[attr]; } } } /** * Applies styles to a DOM object * @param {object} context The DOM obj you want to apply the attributes to * @param {object} attrs A key/value pair of attributes you want to apply * @returns {undefined} */ function _applyStyles(context, attrs) { for (var attr in attrs) { if (attrs.hasOwnProperty(attr)) { context.style[attr] = attrs[attr]; } } } /** * Returns a DOM objects computed style * @param {object} el The element you want to get the style from * @param {string} styleProp The property you want to get from the element * @returns {string} Returns a string of the value. If property is not set it will return a blank string */ function _getStyle(el, styleProp) { var x = el , y = null; if (window.getComputedStyle) { y = document.defaultView.getComputedStyle(x, null).getPropertyValue(styleProp); } else if (x.currentStyle) { y = x.currentStyle[styleProp]; } return y; } /** * Saves the current style state for the styles requested, then applies styles * to overwrite the existing one. The old styles are returned as an object so * you can pass it back in when you want to revert back to the old style * @param {object} el The element to get the styles of * @param {string} type Can be "save" or "apply". apply will just apply styles you give it. Save will write styles * @param {object} styles Key/value style/property pairs * @returns {object} */ function _saveStyleState(el, type, styles) { var returnState = {} , style; if (type === 'save') { for (style in styles) { if (styles.hasOwnProperty(style)) { returnState[style] = _getStyle(el, style); } } // After it's all done saving all the previous states, change the styles _applyStyles(el, styles); } else if (type === 'apply') { _applyStyles(el, styles); } return returnState; } /** * Gets an elements total width including it's borders and padding * @param {object} el The element to get the total width of * @returns {int} */ function _outerWidth(el) { var b = parseInt(_getStyle(el, 'border-left-width'), 10) + parseInt(_getStyle(el, 'border-right-width'), 10) , p = parseInt(_getStyle(el, 'padding-left'), 10) + parseInt(_getStyle(el, 'padding-right'), 10) , w = el.offsetWidth , t; // For IE in case no border is set and it defaults to "medium" if (isNaN(b)) { b = 0; } t = b + p + w; return t; } /** * Gets an elements total height including it's borders and padding * @param {object} el The element to get the total width of * @returns {int} */ function _outerHeight(el) { var b = parseInt(_getStyle(el, 'border-top-width'), 10) + parseInt(_getStyle(el, 'border-bottom-width'), 10) , p = parseInt(_getStyle(el, 'padding-top'), 10) + parseInt(_getStyle(el, 'padding-bottom'), 10) , w = parseInt(_getStyle(el, 'height'), 10) , t; // For IE in case no border is set and it defaults to "medium" if (isNaN(b)) { b = 0; } t = b + p + w; return t; } /** * Inserts a tag specifically for CSS * @param {string} path The path to the CSS file * @param {object} context In what context you want to apply this to (document, iframe, etc) * @param {string} id An id for you to reference later for changing properties of the * @returns {undefined} */ function _insertCSSLink(path, context, id) { id = id || ''; var headID = context.getElementsByTagName("head")[0] , cssNode = context.createElement('link'); _applyAttrs(cssNode, { type: 'text/css' , id: id , rel: 'stylesheet' , href: path , name: path , media: 'screen' }); headID.appendChild(cssNode); } // Simply replaces a class (o), to a new class (n) on an element provided (e) function _replaceClass(e, o, n) { e.className = e.className.replace(o, n); } // Feature detects an iframe to get the inner document for writing to function _getIframeInnards(el) { return el.contentDocument || el.contentWindow.document; } // Grabs the text from an element and preserves whitespace function _getText(el) { var theText; // Make sure to check for type of string because if the body of the page // doesn't have any text it'll be "" which is falsey and will go into // the else which is meant for Firefox and shit will break if (typeof document.body.innerText == 'string') { theText = el.innerText; } else { // First replace
    s before replacing the rest of the HTML theText = el.innerHTML.replace(/
    /gi, "\n"); // Now we can clean the HTML theText = theText.replace(/<(?:.|\n)*?>/gm, ''); // Now fix HTML entities theText = theText.replace(/</gi, '<'); theText = theText.replace(/>/gi, '>'); } return theText; } function _setText(el, content) { // Don't convert lt/gt characters as HTML when viewing the editor window // TODO: Write a test to catch regressions for this content = content.replace(//g, '>'); content = content.replace(/\n/g, '
    '); // Make sure to there aren't two spaces in a row (replace one with  ) // If you find and replace every space with a   text will not wrap. // Hence the name (Non-Breaking-SPace). // TODO: Probably need to test this somehow... content = content.replace(/
    \s/g, '
     ') content = content.replace(/\s\s\s/g, '   ') content = content.replace(/\s\s/g, '  ') content = content.replace(/^ /, ' ') el.innerHTML = content; return true; } /** * Converts the 'raw' format of a file's contents into plaintext * @param {string} content Contents of the file * @returns {string} the sanitized content */ function _sanitizeRawContent(content) { // Get this, 2 spaces in a content editable actually converts to: // 0020 00a0, meaning, "space no-break space". So, manually convert // no-break spaces to spaces again before handing to marked. // Also, WebKit converts no-break to unicode equivalent and FF HTML. return content.replace(/\u00a0/g, ' ').replace(/ /g, ' '); } /** * Will return the version number if the browser is IE. If not will return -1 * TRY NEVER TO USE THIS AND USE FEATURE DETECTION IF POSSIBLE * @returns {Number} -1 if false or the version number if true */ function _isIE() { var rv = -1 // Return value assumes failure. , ua = navigator.userAgent , re; if (navigator.appName == 'Microsoft Internet Explorer') { re = /MSIE ([0-9]{1,}[\.0-9]{0,})/; if (re.exec(ua) != null) { rv = parseFloat(RegExp.$1, 10); } } return rv; } /** * Same as the isIE(), but simply returns a boolean * THIS IS TERRIBLE AND IS ONLY USED BECAUSE FULLSCREEN IN SAFARI IS BORKED * If some other engine uses WebKit and has support for fullscreen they * probably wont get native fullscreen until Safari's fullscreen is fixed * @returns {Boolean} true if Safari */ function _isSafari() { var n = window.navigator; return n.userAgent.indexOf('Safari') > -1 && n.userAgent.indexOf('Chrome') == -1; } /** * Same as the isIE(), but simply returns a boolean * THIS IS TERRIBLE ONLY USE IF ABSOLUTELY NEEDED * @returns {Boolean} true if Safari */ function _isFirefox() { var n = window.navigator; return n.userAgent.indexOf('Firefox') > -1 && n.userAgent.indexOf('Seamonkey') == -1; } /** * Determines if supplied value is a function * @param {object} object to determine type */ function _isFunction(functionToCheck) { var getType = {}; return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]'; } /** * Overwrites obj1's values with obj2's and adds obj2's if non existent in obj1 * @param {boolean} [deepMerge=false] If true, will deep merge meaning it will merge sub-objects like {obj:obj2{foo:'bar'}} * @param {object} first object * @param {object} second object * @returnss {object} a new object based on obj1 and obj2 */ function _mergeObjs() { // copy reference to target object var target = arguments[0] || {} , i = 1 , length = arguments.length , deep = false , options , name , src , copy // Handle a deep copy situation if (typeof target === "boolean") { deep = target; target = arguments[1] || {}; // skip the boolean and the target i = 2; } // Handle case when target is a string or something (possible in deep copy) if (typeof target !== "object" && !_isFunction(target)) { target = {}; } // extend jQuery itself if only one argument is passed if (length === i) { target = this; --i; } for (; i < length; i++) { // Only deal with non-null/undefined values if ((options = arguments[i]) != null) { // Extend the base object for (name in options) { // @NOTE: added hasOwnProperty check if (options.hasOwnProperty(name)) { src = target[name]; copy = options[name]; // Prevent never-ending loop if (target === copy) { continue; } // Recurse if we're merging object values if (deep && copy && typeof copy === "object" && !copy.nodeType) { target[name] = _mergeObjs(deep, // Never move original objects, clone them src || (copy.length != null ? [] : {}) , copy); } else if (copy !== undefined) { // Don't bring in undefined values target[name] = copy; } } } } } // Return the modified object return target; } /** * Initiates the EpicEditor object and sets up offline storage as well * @class Represents an EpicEditor instance * @param {object} options An optional customization object * @returns {object} EpicEditor will be returned */ function EpicEditor(options) { // Default settings will be overwritten/extended by options arg var self = this , opts = options || {} , _defaultFileSchema , _defaultFile , defaults = { container: 'epiceditor' , basePath: 'epiceditor' , textarea: undefined , clientSideStorage: true , localStorageName: 'epiceditor' , useNativeFullscreen: true , file: { name: null , defaultContent: '' , autoSave: 100 // Set to false for no auto saving } , theme: { base: '/themes/base/epiceditor.css' , preview: '/themes/preview/github.css' , editor: '/themes/editor/epic-dark.css' } , focusOnLoad: false , shortcut: { modifier: 18 // alt keycode , fullscreen: 70 // f keycode , preview: 80 // p keycode } , string: { togglePreview: 'Toggle Preview Mode' , toggleEdit: 'Toggle Edit Mode' , toggleFullscreen: 'Enter Fullscreen' } , parser: typeof marked == 'function' ? marked : null , autogrow: false , button: { fullscreen: true , preview: true , bar: "auto" } } , defaultStorage , autogrowDefaults = { minHeight: 80 , maxHeight: false , scroll: true }; self.settings = _mergeObjs(true, defaults, opts); var buttons = self.settings.button; self._fullscreenEnabled = typeof(buttons) === 'object' ? typeof buttons.fullscreen === 'undefined' || buttons.fullscreen : buttons === true; self._editEnabled = typeof(buttons) === 'object' ? typeof buttons.edit === 'undefined' || buttons.edit : buttons === true; self._previewEnabled = typeof(buttons) === 'object' ? typeof buttons.preview === 'undefined' || buttons.preview : buttons === true; if (!(typeof self.settings.parser == 'function' && typeof self.settings.parser('TEST') == 'string')) { self.settings.parser = function (str) { return str; } } if (self.settings.autogrow) { if (self.settings.autogrow === true) { self.settings.autogrow = autogrowDefaults; } else { self.settings.autogrow = _mergeObjs(true, autogrowDefaults, self.settings.autogrow); } self._oldHeight = -1; } // If you put an absolute link as the path of any of the themes ignore the basePath // preview theme if (!self.settings.theme.preview.match(/^https?:\/\//)) { self.settings.theme.preview = self.settings.basePath + self.settings.theme.preview; } // editor theme if (!self.settings.theme.editor.match(/^https?:\/\//)) { self.settings.theme.editor = self.settings.basePath + self.settings.theme.editor; } // base theme if (!self.settings.theme.base.match(/^https?:\/\//)) { self.settings.theme.base = self.settings.basePath + self.settings.theme.base; } // Grab the container element and save it to self.element // if it's a string assume it's an ID and if it's an object // assume it's a DOM element if (typeof self.settings.container == 'string') { self.element = document.getElementById(self.settings.container); } else if (typeof self.settings.container == 'object') { self.element = self.settings.container; } // Figure out the file name. If no file name is given we'll use the ID. // If there's no ID either we'll use a namespaced file name that's incremented // based on the calling order. As long as it doesn't change, drafts will be saved. if (!self.settings.file.name) { if (typeof self.settings.container == 'string') { self.settings.file.name = self.settings.container; } else if (typeof self.settings.container == 'object') { if (self.element.id) { self.settings.file.name = self.element.id; } else { if (!EpicEditor._data.unnamedEditors) { EpicEditor._data.unnamedEditors = []; } EpicEditor._data.unnamedEditors.push(self); self.settings.file.name = '__epiceditor-untitled-' + EpicEditor._data.unnamedEditors.length; } } } if (self.settings.button.bar === "show") { self.settings.button.bar = true; } if (self.settings.button.bar === "hide") { self.settings.button.bar = false; } // Protect the id and overwrite if passed in as an option // TODO: Put underscrore to denote that this is private self._instanceId = 'epiceditor-' + Math.round(Math.random() * 100000); self._storage = {}; self._canSave = true; // Setup local storage of files self._defaultFileSchema = function () { return { content: self.settings.file.defaultContent , created: new Date() , modified: new Date() } } if (localStorage && self.settings.clientSideStorage) { this._storage = localStorage; if (this._storage[self.settings.localStorageName] && self.getFiles(self.settings.file.name) === undefined) { _defaultFile = self._defaultFileSchema(); _defaultFile.content = self.settings.file.defaultContent; } } if (!this._storage[self.settings.localStorageName]) { defaultStorage = {}; defaultStorage[self.settings.file.name] = self._defaultFileSchema(); defaultStorage = JSON.stringify(defaultStorage); this._storage[self.settings.localStorageName] = defaultStorage; } // A string to prepend files with to save draft versions of files // and reset all preview drafts on each load! self._previewDraftLocation = '__draft-'; self._storage[self._previewDraftLocation + self.settings.localStorageName] = self._storage[self.settings.localStorageName]; // This needs to replace the use of classes to check the state of EE self._eeState = { fullscreen: false , preview: false , edit: false , loaded: false , unloaded: false } // Now that it exists, allow binding of events if it doesn't exist yet if (!self.events) { self.events = {}; } return this; } /** * Inserts the EpicEditor into the DOM via an iframe and gets it ready for editing and previewing * @returns {object} EpicEditor will be returned */ EpicEditor.prototype.load = function (callback) { // Get out early if it's already loaded if (this.is('loaded')) { return this; } // TODO: Gotta get the privates with underscores! // TODO: Gotta document what these are for... var self = this , _HtmlTemplates , iframeElement , baseTag , utilBtns , utilBar , utilBarTimer , keypressTimer , mousePos = { y: -1, x: -1 } , _elementStates , _isInEdit , nativeFs = false , nativeFsWebkit = false , nativeFsMoz = false , nativeFsW3C = false , fsElement , isMod = false , isCtrl = false , eventableIframes , i // i is reused for loops , boundAutogrow; // Startup is a way to check if this EpicEditor is starting up. Useful for // checking and doing certain things before EpicEditor emits a load event. self._eeState.startup = true; if (self.settings.useNativeFullscreen) { nativeFsWebkit = document.body.webkitRequestFullScreen ? true : false; nativeFsMoz = document.body.mozRequestFullScreen ? true : false; nativeFsW3C = document.body.requestFullscreen ? true : false; nativeFs = nativeFsWebkit || nativeFsMoz || nativeFsW3C; } // Fucking Safari's native fullscreen works terribly // REMOVE THIS IF SAFARI 7 WORKS BETTER if (_isSafari()) { nativeFs = false; nativeFsWebkit = false; } // It opens edit mode by default (for now); if (!self.is('edit') && !self.is('preview')) { self._eeState.edit = true; } callback = callback || function () {}; // The editor HTML // TODO: edit-mode class should be dynamically added _HtmlTemplates = { // This is wrapping iframe element. It contains the other two iframes and the utilbar chrome: '
    ' + '' + '' + '
    ' + (self._previewEnabled ? ' ' : '') + (self._editEnabled ? ' ' : '') + (self._fullscreenEnabled ? '' : '') + '
    ' + '
    ' // The previewer is just an empty box for the generated HTML to go into , previewer: '
    ' , editor: '' }; // Write an iframe and then select it for the editor self.element.innerHTML = ''; // Because browsers add things like invisible padding and margins and stuff // to iframes, we need to set manually set the height so that the height // doesn't keep increasing (by 2px?) every time reflow() is called. // FIXME: Figure out how to fix this without setting this self.element.style.height = self.element.offsetHeight + 'px'; iframeElement = document.getElementById(self._instanceId); // Store a reference to the iframeElement itself self.iframeElement = iframeElement; // Grab the innards of the iframe (returns the document.body) // TODO: Change self.iframe to self.iframeDocument self.iframe = _getIframeInnards(iframeElement); self.iframe.open(); self.iframe.write(_HtmlTemplates.chrome); // Now that we got the innards of the iframe, we can grab the other iframes self.editorIframe = self.iframe.getElementById('epiceditor-editor-frame') self.previewerIframe = self.iframe.getElementById('epiceditor-previewer-frame'); // Setup the editor iframe self.editorIframeDocument = _getIframeInnards(self.editorIframe); self.editorIframeDocument.open(); // Need something for... you guessed it, Firefox self.editorIframeDocument.write(_HtmlTemplates.editor); self.editorIframeDocument.close(); // Setup the previewer iframe self.previewerIframeDocument = _getIframeInnards(self.previewerIframe); self.previewerIframeDocument.open(); self.previewerIframeDocument.write(_HtmlTemplates.previewer); // Base tag is added so that links will open a new tab and not inside of the iframes baseTag = self.previewerIframeDocument.createElement('base'); baseTag.target = '_blank'; self.previewerIframeDocument.getElementsByTagName('head')[0].appendChild(baseTag); self.previewerIframeDocument.close(); self.reflow(); // Insert Base Stylesheet _insertCSSLink(self.settings.theme.base, self.iframe, 'theme'); // Insert Editor Stylesheet _insertCSSLink(self.settings.theme.editor, self.editorIframeDocument, 'theme'); // Insert Previewer Stylesheet _insertCSSLink(self.settings.theme.preview, self.previewerIframeDocument, 'theme'); // Add a relative style to the overall wrapper to keep CSS relative to the editor self.iframe.getElementById('epiceditor-wrapper').style.position = 'relative'; // Set the position to relative so we hide them with left: -999999px self.editorIframe.style.position = 'absolute'; self.previewerIframe.style.position = 'absolute'; // Now grab the editor and previewer for later use self.editor = self.editorIframeDocument.body; self.previewer = self.previewerIframeDocument.getElementById('epiceditor-preview'); self.editor.contentEditable = true; // Firefox's gets all fucked up so, to be sure, we need to hardcode it self.iframe.body.style.height = this.element.offsetHeight + 'px'; // Should actually check what mode it's in! self.previewerIframe.style.left = '-999999px'; // Keep long lines from being longer than the editor this.editorIframeDocument.body.style.wordWrap = 'break-word'; // FIXME figure out why it needs +2 px if (_isIE() > -1) { this.previewer.style.height = parseInt(_getStyle(this.previewer, 'height'), 10) + 2; } // If there is a file to be opened with that filename and it has content... this.open(self.settings.file.name); if (self.settings.focusOnLoad) { // We need to wait until all three iframes are done loading by waiting until the parent // iframe's ready state == complete, then we can focus on the contenteditable self.iframe.addEventListener('readystatechange', function () { if (self.iframe.readyState == 'complete') { self.focus(); } }); } // Because IE scrolls the whole window to hash links, we need our own // method of scrolling the iframe to an ID from clicking a hash self.previewerIframeDocument.addEventListener('click', function (e) { var el = e.target , body = self.previewerIframeDocument.body; if (el.nodeName == 'A') { // Make sure the link is a hash and the link is local to the iframe if (el.hash && el.hostname == window.location.hostname) { // Prevent the whole window from scrolling e.preventDefault(); // Prevent opening a new window el.target = '_self'; // Scroll to the matching element, if an element exists if (body.querySelector(el.hash)) { body.scrollTop = body.querySelector(el.hash).offsetTop; } } } }); utilBtns = self.iframe.getElementById('epiceditor-utilbar'); // TODO: Move into fullscreen setup function (_setupFullscreen) _elementStates = {} self._goFullscreen = function (el) { this._fixScrollbars('auto'); if (self.is('fullscreen')) { self._exitFullscreen(el); return; } if (nativeFs) { if (nativeFsWebkit) { el.webkitRequestFullScreen(); } else if (nativeFsMoz) { el.mozRequestFullScreen(); } else if (nativeFsW3C) { el.requestFullscreen(); } } _isInEdit = self.is('edit'); // Set the state of EE in fullscreen // We set edit and preview to true also because they're visible // we might want to allow fullscreen edit mode without preview (like a "zen" mode) self._eeState.fullscreen = true; self._eeState.edit = true; self._eeState.preview = true; // Cache calculations var windowInnerWidth = window.innerWidth , windowInnerHeight = window.innerHeight , windowOuterWidth = window.outerWidth , windowOuterHeight = window.outerHeight; // Without this the scrollbars will get hidden when scrolled to the bottom in faux fullscreen (see #66) if (!nativeFs) { windowOuterHeight = window.innerHeight; } // This MUST come first because the editor is 100% width so if we change the width of the iframe or wrapper // the editor's width wont be the same as before _elementStates.editorIframe = _saveStyleState(self.editorIframe, 'save', { 'width': windowOuterWidth / 2 + 'px' , 'height': windowOuterHeight + 'px' , 'float': 'left' // Most browsers , 'cssFloat': 'left' // FF , 'styleFloat': 'left' // Older IEs , 'display': 'block' , 'position': 'static' , 'left': '' }); // the previewer _elementStates.previewerIframe = _saveStyleState(self.previewerIframe, 'save', { 'width': windowOuterWidth / 2 + 'px' , 'height': windowOuterHeight + 'px' , 'float': 'right' // Most browsers , 'cssFloat': 'right' // FF , 'styleFloat': 'right' // Older IEs , 'display': 'block' , 'position': 'static' , 'left': '' }); // Setup the containing element CSS for fullscreen _elementStates.element = _saveStyleState(self.element, 'save', { 'position': 'fixed' , 'top': '0' , 'left': '0' , 'width': '100%' , 'z-index': '9999' // Most browsers , 'zIndex': '9999' // Firefox , 'border': 'none' , 'margin': '0' // Should use the base styles background! , 'background': _getStyle(self.editor, 'background-color') // Try to hide the site below , 'height': windowInnerHeight + 'px' }); // The iframe element _elementStates.iframeElement = _saveStyleState(self.iframeElement, 'save', { 'width': windowOuterWidth + 'px' , 'height': windowInnerHeight + 'px' }); // ...Oh, and hide the buttons and prevent scrolling utilBtns.style.visibility = 'hidden'; if (!nativeFs) { document.body.style.overflow = 'hidden'; } self.preview(); self.focus(); self.emit('fullscreenenter'); }; self._exitFullscreen = function (el) { this._fixScrollbars(); _saveStyleState(self.element, 'apply', _elementStates.element); _saveStyleState(self.iframeElement, 'apply', _elementStates.iframeElement); _saveStyleState(self.editorIframe, 'apply', _elementStates.editorIframe); _saveStyleState(self.previewerIframe, 'apply', _elementStates.previewerIframe); // We want to always revert back to the original styles in the CSS so, // if it's a fluid width container it will expand on resize and not get // stuck at a specific width after closing fullscreen. self.element.style.width = self._eeState.reflowWidth ? self._eeState.reflowWidth : ''; self.element.style.height = self._eeState.reflowHeight ? self._eeState.reflowHeight : ''; utilBtns.style.visibility = 'visible'; // Put the editor back in the right state // TODO: This is ugly... how do we make this nicer? // setting fullscreen to false here prevents the // native fs callback from calling this function again self._eeState.fullscreen = false; if (!nativeFs) { document.body.style.overflow = 'auto'; } else { if (nativeFsWebkit) { document.webkitCancelFullScreen(); } else if (nativeFsMoz) { document.mozCancelFullScreen(); } else if (nativeFsW3C) { document.exitFullscreen(); } } if (_isInEdit) { self.edit(); } else { self.preview(); } self.reflow(); self.emit('fullscreenexit'); }; // This setups up live previews by triggering preview() IF in fullscreen on keyup self.editor.addEventListener('keyup', function () { if (keypressTimer) { window.clearTimeout(keypressTimer); } keypressTimer = window.setTimeout(function () { if (self.is('fullscreen')) { self.preview(); } }, 250); }); fsElement = self.iframeElement; // Sets up the onclick event on utility buttons utilBtns.addEventListener('click', function (e) { var targetClass = e.target.className; if (targetClass.indexOf('epiceditor-toggle-preview-btn') > -1) { self.preview(); } else if (targetClass.indexOf('epiceditor-toggle-edit-btn') > -1) { self.edit(); } else if (targetClass.indexOf('epiceditor-fullscreen-btn') > -1) { self._goFullscreen(fsElement); } }); // Sets up the NATIVE fullscreen editor/previewer for WebKit if (nativeFsWebkit) { document.addEventListener('webkitfullscreenchange', function () { if (!document.webkitIsFullScreen && self._eeState.fullscreen) { self._exitFullscreen(fsElement); } }, false); } else if (nativeFsMoz) { document.addEventListener('mozfullscreenchange', function () { if (!document.mozFullScreen && self._eeState.fullscreen) { self._exitFullscreen(fsElement); } }, false); } else if (nativeFsW3C) { document.addEventListener('fullscreenchange', function () { if (document.fullscreenElement == null && self._eeState.fullscreen) { self._exitFullscreen(fsElement); } }, false); } // TODO: Move utilBar stuff into a utilBar setup function (_setupUtilBar) utilBar = self.iframe.getElementById('epiceditor-utilbar'); // Hide it at first until they move their mouse if (self.settings.button.bar !== true) { utilBar.style.display = 'none'; } utilBar.addEventListener('mouseover', function () { if (utilBarTimer) { clearTimeout(utilBarTimer); } }); function utilBarHandler(e) { if (self.settings.button.bar !== "auto") { return; } // Here we check if the mouse has moves more than 5px in any direction before triggering the mousemove code // we do this for 2 reasons: // 1. On Mac OS X lion when you scroll and it does the iOS like "jump" when it hits the top/bottom of the page itll fire off // a mousemove of a few pixels depending on how hard you scroll // 2. We give a slight buffer to the user in case he barely touches his touchpad or mouse and not trigger the UI if (Math.abs(mousePos.y - e.pageY) >= 5 || Math.abs(mousePos.x - e.pageX) >= 5) { utilBar.style.display = 'block'; // if we have a timer already running, kill it out if (utilBarTimer) { clearTimeout(utilBarTimer); } // begin a new timer that hides our object after 1000 ms utilBarTimer = window.setTimeout(function () { utilBar.style.display = 'none'; }, 1000); } mousePos = { y: e.pageY, x: e.pageX }; } // Add keyboard shortcuts for convenience. function shortcutHandler(e) { if (e.keyCode == self.settings.shortcut.modifier) { isMod = true } // check for modifier press(default is alt key), save to var if (e.keyCode == 17) { isCtrl = true } // check for ctrl/cmnd press, in order to catch ctrl/cmnd + s // Check for alt+p and make sure were not in fullscreen - default shortcut to switch to preview if (isMod === true && e.keyCode == self.settings.shortcut.preview && !self.is('fullscreen')) { e.preventDefault(); if (self.is('edit') && self._previewEnabled) { self.preview(); } else if (self._editEnabled) { self.edit(); } } // Check for alt+f - default shortcut to make editor fullscreen if (isMod === true && e.keyCode == self.settings.shortcut.fullscreen && self._fullscreenEnabled) { e.preventDefault(); self._goFullscreen(fsElement); } // Set the modifier key to false once *any* key combo is completed // or else, on Windows, hitting the alt key will lock the isMod state to true (ticket #133) if (isMod === true && e.keyCode !== self.settings.shortcut.modifier) { isMod = false; } // When a user presses "esc", revert everything! if (e.keyCode == 27 && self.is('fullscreen')) { self._exitFullscreen(fsElement); } // Check for ctrl + s (since a lot of people do it out of habit) and make it do nothing if (isCtrl === true && e.keyCode == 83) { self.save(); e.preventDefault(); isCtrl = false; } // Do the same for Mac now (metaKey == cmd). if (e.metaKey && e.keyCode == 83) { self.save(); e.preventDefault(); } } function shortcutUpHandler(e) { if (e.keyCode == self.settings.shortcut.modifier) { isMod = false } if (e.keyCode == 17) { isCtrl = false } } function pasteHandler(e) { var content; if (e.clipboardData) { //FF 22, Webkit, "standards" e.preventDefault(); content = e.clipboardData.getData("text/plain"); self.editorIframeDocument.execCommand("insertText", false, content); } else if (window.clipboardData) { //IE, "nasty" e.preventDefault(); content = window.clipboardData.getData("Text"); content = content.replace(//g, '>'); content = content.replace(/\n/g, '
    '); content = content.replace(/\r/g, ''); //fuck you, ie! content = content.replace(/
    \s/g, '
     ') content = content.replace(/\s\s\s/g, '   ') content = content.replace(/\s\s/g, '  ') self.editorIframeDocument.selection.createRange().pasteHTML(content); } } // Hide and show the util bar based on mouse movements eventableIframes = [self.previewerIframeDocument, self.editorIframeDocument]; for (i = 0; i < eventableIframes.length; i++) { eventableIframes[i].addEventListener('mousemove', function (e) { utilBarHandler(e); }); eventableIframes[i].addEventListener('scroll', function (e) { utilBarHandler(e); }); eventableIframes[i].addEventListener('keyup', function (e) { shortcutUpHandler(e); }); eventableIframes[i].addEventListener('keydown', function (e) { shortcutHandler(e); }); eventableIframes[i].addEventListener('paste', function (e) { pasteHandler(e); }); } // Save the document every 100ms by default // TODO: Move into autosave setup function (_setupAutoSave) if (self.settings.file.autoSave) { self._saveIntervalTimer = window.setInterval(function () { if (!self._canSave) { return; } self.save(false, true); }, self.settings.file.autoSave); } // Update a textarea automatically if a textarea is given so you don't need // AJAX to submit a form and instead fall back to normal form behavior if (self.settings.textarea) { self._setupTextareaSync(); } window.addEventListener('resize', function () { // If NOT webkit, and in fullscreen, we need to account for browser resizing // we don't care about webkit because you can't resize in webkit's fullscreen if (self.is('fullscreen')) { _applyStyles(self.iframeElement, { 'width': window.outerWidth + 'px' , 'height': window.innerHeight + 'px' }); _applyStyles(self.element, { 'height': window.innerHeight + 'px' }); _applyStyles(self.previewerIframe, { 'width': window.outerWidth / 2 + 'px' , 'height': window.innerHeight + 'px' }); _applyStyles(self.editorIframe, { 'width': window.outerWidth / 2 + 'px' , 'height': window.innerHeight + 'px' }); } // Makes the editor support fluid width when not in fullscreen mode else if (!self.is('fullscreen')) { self.reflow(); } }); // Set states before flipping edit and preview modes self._eeState.loaded = true; self._eeState.unloaded = false; if (self.is('preview')) { self.preview(); } else { self.edit(); } self.iframe.close(); self._eeState.startup = false; if (self.settings.autogrow) { self._fixScrollbars(); boundAutogrow = function () { setTimeout(function () { self._autogrow(); }, 1); }; //for if autosave is disabled or very slow ['keydown', 'keyup', 'paste', 'cut'].forEach(function (ev) { self.getElement('editor').addEventListener(ev, boundAutogrow); }); self.on('__update', boundAutogrow); self.on('edit', function () { setTimeout(boundAutogrow, 50) }); self.on('preview', function () { setTimeout(boundAutogrow, 50) }); //for browsers that have rendering delays setTimeout(boundAutogrow, 50); boundAutogrow(); } // The callback and call are the same thing, but different ways to access them callback.call(this); this.emit('load'); return this; } EpicEditor.prototype._setupTextareaSync = function () { var self = this , textareaFileName = self.settings.file.name , _syncTextarea; // Even if autoSave is false, we want to make sure to keep the textarea synced // with the editor's content. One bad thing about this tho is that we're // creating two timers now in some configurations. We keep the textarea synced // by saving and opening the textarea content from the draft file storage. self._textareaSaveTimer = window.setInterval(function () { if (!self._canSave) { return; } self.save(true); }, 100); _syncTextarea = function () { // TODO: Figure out root cause for having to do this ||. // This only happens for draft files. Probably has something to do with // the fact draft files haven't been saved by the time this is called. // TODO: Add test for this case. self._textareaElement.value = self.exportFile(textareaFileName, 'text', true) || self.settings.file.defaultContent; } if (typeof self.settings.textarea == 'string') { self._textareaElement = document.getElementById(self.settings.textarea); } else if (typeof self.settings.textarea == 'object') { self._textareaElement = self.settings.textarea; } // On page load, if there's content in the textarea that means one of two // different things: // // 1. The editor didn't load and the user was writing in the textarea and // now he refreshed the page or the JS loaded and the textarea now has // content. If this is the case the user probably expects his content is // moved into the editor and not lose what he typed. // // 2. The developer put content in the textarea from some server side // code. In this case, the textarea will take precedence. // // If the developer wants drafts to be recoverable they should check if // the local file in localStorage's modified date is newer than the server. if (self._textareaElement.value !== '') { self.importFile(textareaFileName, self._textareaElement.value); // manually save draft after import so there is no delay between the // import and exporting in _syncTextarea. Without this, _syncTextarea // will pull the saved data from localStorage which will be <=100ms old. self.save(true); } // Update the textarea on load and pull from drafts _syncTextarea(); // Make sure to keep it updated self.on('__update', _syncTextarea); } /** * Will NOT focus the editor if the editor is still starting up AND * focusOnLoad is set to false. This allows you to place this in code that * gets fired during .load() without worrying about it overriding the user's * option. For example use cases see preview() and edit(). * @returns {undefined} */ // Prevent focus when the user sets focusOnLoad to false by checking if the // editor is starting up AND if focusOnLoad is true EpicEditor.prototype._focusExceptOnLoad = function () { var self = this; if ((self._eeState.startup && self.settings.focusOnLoad) || !self._eeState.startup) { self.focus(); } } /** * Will remove the editor, but not offline files * @returns {object} EpicEditor will be returned */ EpicEditor.prototype.unload = function (callback) { // Make sure the editor isn't already unloaded. if (this.is('unloaded')) { throw new Error('Editor isn\'t loaded'); } var self = this , editor = window.parent.document.getElementById(self._instanceId); editor.parentNode.removeChild(editor); self._eeState.loaded = false; self._eeState.unloaded = true; callback = callback || function () {}; if (self.settings.textarea) { self._textareaElement.value = ""; self.removeListener('__update'); } if (self._saveIntervalTimer) { window.clearInterval(self._saveIntervalTimer); } if (self._textareaSaveTimer) { window.clearInterval(self._textareaSaveTimer); } callback.call(this); self.emit('unload'); return self; } /** * reflow allows you to dynamically re-fit the editor in the parent without * having to unload and then reload the editor again. * * reflow will also emit a `reflow` event and will return the new dimensions. * If it's called without params it'll return the new width and height and if * it's called with just width or just height it'll just return the width or * height. It's returned as an object like: { width: '100px', height: '1px' } * * @param {string|null} kind Can either be 'width' or 'height' or null * if null, both the height and width will be resized * @param {function} callback A function to fire after the reflow is finished. * Will return the width / height in an obj as the first param of the callback. * @returns {object} EpicEditor will be returned */ EpicEditor.prototype.reflow = function (kind, callback) { var self = this , widthDiff = _outerWidth(self.element) - self.element.offsetWidth , heightDiff = _outerHeight(self.element) - self.element.offsetHeight , elements = [self.iframeElement, self.editorIframe, self.previewerIframe] , eventData = {} , newWidth , newHeight; if (typeof kind == 'function') { callback = kind; kind = null; } if (!callback) { callback = function () {}; } for (var x = 0; x < elements.length; x++) { if (!kind || kind == 'width') { newWidth = self.element.offsetWidth - widthDiff + 'px'; elements[x].style.width = newWidth; self._eeState.reflowWidth = newWidth; eventData.width = newWidth; } if (!kind || kind == 'height') { newHeight = self.element.offsetHeight - heightDiff + 'px'; elements[x].style.height = newHeight; self._eeState.reflowHeight = newHeight eventData.height = newHeight; } } self.emit('reflow', eventData); callback.call(this, eventData); return self; } /** * Will take the markdown and generate a preview view based on the theme * @returns {object} EpicEditor will be returned */ EpicEditor.prototype.preview = function () { var self = this , x , theme = self.settings.theme.preview , anchors; _replaceClass(self.getElement('wrapper'), 'epiceditor-edit-mode', 'epiceditor-preview-mode'); // Check if no CSS theme link exists if (!self.previewerIframeDocument.getElementById('theme')) { _insertCSSLink(theme, self.previewerIframeDocument, 'theme'); } else if (self.previewerIframeDocument.getElementById('theme').name !== theme) { self.previewerIframeDocument.getElementById('theme').href = theme; } // Save a preview draft since it might not be saved to the real file yet self.save(true); // Add the generated draft HTML into the previewer self.previewer.innerHTML = self.exportFile(null, 'html', true); // Hide the editor and display the previewer if (!self.is('fullscreen')) { self.editorIframe.style.left = '-999999px'; self.previewerIframe.style.left = ''; self._eeState.preview = true; self._eeState.edit = false; self._focusExceptOnLoad(); } self.emit('preview'); return self; } /** * Helper to focus on the editor iframe. Will figure out which iframe to * focus on based on which one is active and will handle the cross browser * issues with focusing on the iframe vs the document body. * @returns {object} EpicEditor will be returned */ EpicEditor.prototype.focus = function (pageload) { var self = this , isPreview = self.is('preview') , focusElement = isPreview ? self.previewerIframeDocument.body : self.editorIframeDocument.body; if (_isFirefox() && isPreview) { focusElement = self.previewerIframe; } focusElement.focus(); return this; } /** * Puts the editor into fullscreen mode * @returns {object} EpicEditor will be returned */ EpicEditor.prototype.enterFullscreen = function () { if (this.is('fullscreen')) { return this; } this._goFullscreen(this.iframeElement); return this; } /** * Closes fullscreen mode if opened * @returns {object} EpicEditor will be returned */ EpicEditor.prototype.exitFullscreen = function () { if (!this.is('fullscreen')) { return this; } this._exitFullscreen(this.iframeElement); return this; } /** * Hides the preview and shows the editor again * @returns {object} EpicEditor will be returned */ EpicEditor.prototype.edit = function () { var self = this; _replaceClass(self.getElement('wrapper'), 'epiceditor-preview-mode', 'epiceditor-edit-mode'); self._eeState.preview = false; self._eeState.edit = true; self.editorIframe.style.left = ''; self.previewerIframe.style.left = '-999999px'; self._focusExceptOnLoad(); self.emit('edit'); return this; } /** * Grabs a specificed HTML node. Use it as a shortcut to getting the iframe contents * @param {String} name The name of the node (can be document, body, editor, previewer, or wrapper) * @returns {Object|Null} */ EpicEditor.prototype.getElement = function (name) { var available = { "container": this.element , "wrapper": this.iframe.getElementById('epiceditor-wrapper') , "wrapperIframe": this.iframeElement , "editor": this.editorIframeDocument , "editorIframe": this.editorIframe , "previewer": this.previewerIframeDocument , "previewerIframe": this.previewerIframe } // Check that the given string is a possible option and verify the editor isn't unloaded // without this, you'd be given a reference to an object that no longer exists in the DOM if (!available[name] || this.is('unloaded')) { return null; } else { return available[name]; } } /** * Returns a boolean of each "state" of the editor. For example "editor.is('loaded')" // returns true/false * @param {String} what the state you want to check for * @returns {Boolean} */ EpicEditor.prototype.is = function (what) { var self = this; switch (what) { case 'loaded': return self._eeState.loaded; case 'unloaded': return self._eeState.unloaded case 'preview': return self._eeState.preview case 'edit': return self._eeState.edit; case 'fullscreen': return self._eeState.fullscreen; // TODO: This "works", but the tests are saying otherwise. Come back to this // and figure out how to fix it. // case 'focused': // return document.activeElement == self.iframeElement; default: return false; } } /** * Opens a file * @param {string} name The name of the file you want to open * @returns {object} EpicEditor will be returned */ EpicEditor.prototype.open = function (name) { var self = this , defaultContent = self.settings.file.defaultContent , fileObj; name = name || self.settings.file.name; self.settings.file.name = name; if (this._storage[self.settings.localStorageName]) { fileObj = self.exportFile(name); if (fileObj !== undefined) { _setText(self.editor, fileObj); self.emit('read'); } else { _setText(self.editor, defaultContent); self.save(); // ensure a save self.emit('create'); } self.previewer.innerHTML = self.exportFile(null, 'html'); self.emit('open'); } return this; } /** * Saves content for offline use * @returns {object} EpicEditor will be returned */ EpicEditor.prototype.save = function (_isPreviewDraft, _isAuto) { var self = this , storage , isUpdate = false , file = self.settings.file.name , previewDraftName = '' , data = this._storage[previewDraftName + self.settings.localStorageName] , content = _getText(this.editor); if (_isPreviewDraft) { previewDraftName = self._previewDraftLocation; } // This could have been false but since we're manually saving // we know it's save to start autoSaving again this._canSave = true; // Guard against storage being wiped out without EpicEditor knowing // TODO: Emit saving error - storage seems to have been wiped if (data) { storage = JSON.parse(this._storage[previewDraftName + self.settings.localStorageName]); // If the file doesn't exist we need to create it if (storage[file] === undefined) { storage[file] = self._defaultFileSchema(); } // If it does, we need to check if the content is different and // if it is, send the update event and update the timestamp else if (content !== storage[file].content) { storage[file].modified = new Date(); isUpdate = true; } //don't bother autosaving if the content hasn't actually changed else if (_isAuto) { return; } storage[file].content = content; this._storage[previewDraftName + self.settings.localStorageName] = JSON.stringify(storage); // After the content is actually changed, emit update so it emits the updated content if (isUpdate) { self.emit('update'); // Emit a private update event so it can't get accidentally removed self.emit('__update'); } if (_isAuto) { this.emit('autosave'); } else if (!_isPreviewDraft) { this.emit('save'); } } return this; } /** * Removes a page * @param {string} name The name of the file you want to remove from localStorage * @returns {object} EpicEditor will be returned */ EpicEditor.prototype.remove = function (name) { var self = this , s; name = name || self.settings.file.name; // If you're trying to delete a page you have open, block saving if (name == self.settings.file.name) { self._canSave = false; } s = JSON.parse(this._storage[self.settings.localStorageName]); delete s[name]; this._storage[self.settings.localStorageName] = JSON.stringify(s); this.emit('remove'); return this; }; /** * Renames a file * @param {string} oldName The old file name * @param {string} newName The new file name * @returns {object} EpicEditor will be returned */ EpicEditor.prototype.rename = function (oldName, newName) { var self = this , s = JSON.parse(this._storage[self.settings.localStorageName]); s[newName] = s[oldName]; delete s[oldName]; this._storage[self.settings.localStorageName] = JSON.stringify(s); self.open(newName); return this; }; /** * Imports a file and it's contents and opens it * @param {string} name The name of the file you want to import (will overwrite existing files!) * @param {string} content Content of the file you want to import * @param {string} kind The kind of file you want to import (TBI) * @param {object} meta Meta data you want to save with your file. * @returns {object} EpicEditor will be returned */ EpicEditor.prototype.importFile = function (name, content, kind, meta) { var self = this , isNew = false; name = name || self.settings.file.name; content = content || ''; kind = kind || 'md'; meta = meta || {}; if (JSON.parse(this._storage[self.settings.localStorageName])[name] === undefined) { isNew = true; } // Set our current file to the new file and update the content self.settings.file.name = name; _setText(self.editor, content); if (isNew) { self.emit('create'); } self.save(); if (self.is('fullscreen')) { self.preview(); } //firefox has trouble with importing and working out the size right away if (self.settings.autogrow) { setTimeout(function () { self._autogrow(); }, 50); } return this; }; /** * Gets the local filestore * @param {string} name Name of the file in the store * @returns {object|undefined} the local filestore, or a specific file in the store, if a name is given */ EpicEditor.prototype._getFileStore = function (name, _isPreviewDraft) { var previewDraftName = '' , store; if (_isPreviewDraft) { previewDraftName = this._previewDraftLocation; } store = JSON.parse(this._storage[previewDraftName + this.settings.localStorageName]); if (name) { return store[name]; } else { return store; } } /** * Exports a file as a string in a supported format * @param {string} name Name of the file you want to export (case sensitive) * @param {string} kind Kind of file you want the content in (currently supports html and text, default is the format the browser "wants") * @returns {string|undefined} The content of the file in the content given or undefined if it doesn't exist */ EpicEditor.prototype.exportFile = function (name, kind, _isPreviewDraft) { var self = this , file , content; name = name || self.settings.file.name; kind = kind || 'text'; file = self._getFileStore(name, _isPreviewDraft); // If the file doesn't exist just return early with undefined if (file === undefined) { return; } content = file.content; switch (kind) { case 'html': content = _sanitizeRawContent(content); return self.settings.parser(content); case 'text': return _sanitizeRawContent(content); case 'json': file.content = _sanitizeRawContent(file.content); return JSON.stringify(file); case 'raw': return content; default: return content; } } /** * Gets the contents and metadata for files * @param {string} name Name of the file whose data you want (case sensitive) * @param {boolean} excludeContent whether the contents of files should be excluded * @returns {object} An object with the names and data of every file, or just the data of one file if a name was given */ EpicEditor.prototype.getFiles = function (name, excludeContent) { var file , data = this._getFileStore(name); if (name) { if (data !== undefined) { if (excludeContent) { delete data.content; } else { data.content = _sanitizeRawContent(data.content); } } return data; } else { for (file in data) { if (data.hasOwnProperty(file)) { if (excludeContent) { delete data[file].content; } else { data[file].content = _sanitizeRawContent(data[file].content); } } } return data; } } // EVENTS // TODO: Support for namespacing events like "preview.foo" /** * Sets up an event handler for a specified event * @param {string} ev The event name * @param {function} handler The callback to run when the event fires * @returns {object} EpicEditor will be returned */ EpicEditor.prototype.on = function (ev, handler) { var self = this; if (!this.events[ev]) { this.events[ev] = []; } this.events[ev].push(handler); return self; }; /** * This will emit or "trigger" an event specified * @param {string} ev The event name * @param {any} data Any data you want to pass into the callback * @returns {object} EpicEditor will be returned */ EpicEditor.prototype.emit = function (ev, data) { var self = this , x; data = data || self.getFiles(self.settings.file.name); if (!this.events[ev]) { return; } function invokeHandler(handler) { handler.call(self, data); } for (x = 0; x < self.events[ev].length; x++) { invokeHandler(self.events[ev][x]); } return self; }; /** * Will remove any listeners added from EpicEditor.on() * @param {string} ev The event name * @param {function} handler Handler to remove * @returns {object} EpicEditor will be returned */ EpicEditor.prototype.removeListener = function (ev, handler) { var self = this; if (!handler) { this.events[ev] = []; return self; } if (!this.events[ev]) { return self; } // Otherwise a handler and event exist, so take care of it this.events[ev].splice(this.events[ev].indexOf(handler), 1); return self; } /** * Handles autogrowing the editor */ EpicEditor.prototype._autogrow = function () { var editorHeight , newHeight , minHeight , maxHeight , el , style , maxedOut = false; //autogrow in fullscreen is nonsensical if (!this.is('fullscreen')) { if (this.is('edit')) { el = this.getElement('editor').documentElement; } else { el = this.getElement('previewer').documentElement; } editorHeight = _outerHeight(el); newHeight = editorHeight; //handle minimum minHeight = this.settings.autogrow.minHeight; if (typeof minHeight === 'function') { minHeight = minHeight(this); } if (minHeight && newHeight < minHeight) { newHeight = minHeight; } //handle maximum maxHeight = this.settings.autogrow.maxHeight; if (typeof maxHeight === 'function') { maxHeight = maxHeight(this); } if (maxHeight && newHeight > maxHeight) { newHeight = maxHeight; maxedOut = true; } if (maxedOut) { this._fixScrollbars('auto'); } else { this._fixScrollbars('hidden'); } //actual resize if (newHeight != this.oldHeight) { this.getElement('container').style.height = newHeight + 'px'; this.reflow(); if (this.settings.autogrow.scroll) { window.scrollBy(0, newHeight - this.oldHeight); } this.oldHeight = newHeight; } } } /** * Shows or hides scrollbars based on the autogrow setting * @param {string} forceSetting a value to force the overflow to */ EpicEditor.prototype._fixScrollbars = function (forceSetting) { var setting; if (this.settings.autogrow) { setting = 'hidden'; } else { setting = 'auto'; } setting = forceSetting || setting; this.getElement('editor').documentElement.style.overflow = setting; this.getElement('previewer').documentElement.style.overflow = setting; } EpicEditor.version = '0.2.2'; // Used to store information to be shared across editors EpicEditor._data = {}; window.EpicEditor = EpicEditor; })(window); /** * marked - a markdown parser * Copyright (c) 2011-2013, Christopher Jeffrey. (MIT Licensed) * https://github.com/chjj/marked */ ;(function() { /** * Block-Level Grammar */ var block = { newline: /^\n+/, code: /^( {4}[^\n]+\n*)+/, fences: noop, hr: /^( *[-*_]){3,} *(?:\n+|$)/, heading: /^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/, nptable: noop, lheading: /^([^\n]+)\n *(=|-){3,} *\n*/, blockquote: /^( *>[^\n]+(\n[^\n]+)*\n*)+/, list: /^( *)(bull) [\s\S]+?(?:hr|\n{2,}(?! )(?!\1bull )\n*|\s*$)/, html: /^ *(?:comment|closed|closing) *(?:\n{2,}|\s*$)/, def: /^ *\[([^\]]+)\]: *([^\s]+)(?: +["(]([^\n]+)[")])? *(?:\n+|$)/, table: noop, paragraph: /^([^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+\n*/, text: /^[^\n]+/ }; block.bullet = /(?:[*+-]|\d+\.)/; block.item = /^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/; block.item = replace(block.item, 'gm') (/bull/g, block.bullet) (); block.list = replace(block.list) (/bull/g, block.bullet) ('hr', /\n+(?=(?: *[-*_]){3,} *(?:\n+|$))/) (); block._tag = '(?!(?:' + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code' + '|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo' + '|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|@)\\b'; block.html = replace(block.html) ('comment', //) ('closed', /<(tag)[\s\S]+?<\/\1>/) ('closing', /])*?>/) (/tag/g, block._tag) (); block.paragraph = replace(block.paragraph) ('hr', block.hr) ('heading', block.heading) ('lheading', block.lheading) ('blockquote', block.blockquote) ('tag', '<' + block._tag) ('def', block.def) (); /** * Normal Block Grammar */ block.normal = merge({}, block); /** * GFM Block Grammar */ block.gfm = merge({}, block.normal, { fences: /^ *(`{3,}|~{3,}) *(\w+)? *\n([\s\S]+?)\s*\1 *(?:\n+|$)/, paragraph: /^/ }); block.gfm.paragraph = replace(block.paragraph) ('(?!', '(?!' + block.gfm.fences.source.replace('\\1', '\\2') + '|') (); /** * GFM + Tables Block Grammar */ block.tables = merge({}, block.gfm, { nptable: /^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/, table: /^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/ }); /** * Block Lexer */ function Lexer(options) { this.tokens = []; this.tokens.links = {}; this.options = options || marked.defaults; this.rules = block.normal; if (this.options.gfm) { if (this.options.tables) { this.rules = block.tables; } else { this.rules = block.gfm; } } } /** * Expose Block Rules */ Lexer.rules = block; /** * Static Lex Method */ Lexer.lex = function(src, options) { var lexer = new Lexer(options); return lexer.lex(src); }; /** * Preprocessing */ Lexer.prototype.lex = function(src) { src = src .replace(/\r\n|\r/g, '\n') .replace(/\t/g, ' ') .replace(/\u00a0/g, ' ') .replace(/\u2424/g, '\n'); return this.token(src, true); }; /** * Lexing */ Lexer.prototype.token = function(src, top) { var src = src.replace(/^ +$/gm, '') , next , loose , cap , item , space , i , l; while (src) { // newline if (cap = this.rules.newline.exec(src)) { src = src.substring(cap[0].length); if (cap[0].length > 1) { this.tokens.push({ type: 'space' }); } } // code if (cap = this.rules.code.exec(src)) { src = src.substring(cap[0].length); cap = cap[0].replace(/^ {4}/gm, ''); this.tokens.push({ type: 'code', text: !this.options.pedantic ? cap.replace(/\n+$/, '') : cap }); continue; } // fences (gfm) if (cap = this.rules.fences.exec(src)) { src = src.substring(cap[0].length); this.tokens.push({ type: 'code', lang: cap[2], text: cap[3] }); continue; } // heading if (cap = this.rules.heading.exec(src)) { src = src.substring(cap[0].length); this.tokens.push({ type: 'heading', depth: cap[1].length, text: cap[2] }); continue; } // table no leading pipe (gfm) if (top && (cap = this.rules.nptable.exec(src))) { src = src.substring(cap[0].length); item = { type: 'table', header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */), align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), cells: cap[3].replace(/\n$/, '').split('\n') }; for (i = 0; i < item.align.length; i++) { if (/^ *-+: *$/.test(item.align[i])) { item.align[i] = 'right'; } else if (/^ *:-+: *$/.test(item.align[i])) { item.align[i] = 'center'; } else if (/^ *:-+ *$/.test(item.align[i])) { item.align[i] = 'left'; } else { item.align[i] = null; } } for (i = 0; i < item.cells.length; i++) { item.cells[i] = item.cells[i].split(/ *\| */); } this.tokens.push(item); continue; } // lheading if (cap = this.rules.lheading.exec(src)) { src = src.substring(cap[0].length); this.tokens.push({ type: 'heading', depth: cap[2] === '=' ? 1 : 2, text: cap[1] }); continue; } // hr if (cap = this.rules.hr.exec(src)) { src = src.substring(cap[0].length); this.tokens.push({ type: 'hr' }); continue; } // blockquote if (cap = this.rules.blockquote.exec(src)) { src = src.substring(cap[0].length); this.tokens.push({ type: 'blockquote_start' }); cap = cap[0].replace(/^ *> ?/gm, ''); // Pass `top` to keep the current // "toplevel" state. This is exactly // how markdown.pl works. this.token(cap, top); this.tokens.push({ type: 'blockquote_end' }); continue; } // list if (cap = this.rules.list.exec(src)) { src = src.substring(cap[0].length); this.tokens.push({ type: 'list_start', ordered: isFinite(cap[2]) }); // Get each top-level item. cap = cap[0].match(this.rules.item); next = false; l = cap.length; i = 0; for (; i < l; i++) { item = cap[i]; // Remove the list item's bullet // so it is seen as the next token. space = item.length; item = item.replace(/^ *([*+-]|\d+\.) +/, ''); // Outdent whatever the // list item contains. Hacky. if (~item.indexOf('\n ')) { space -= item.length; item = !this.options.pedantic ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '') : item.replace(/^ {1,4}/gm, ''); } // Determine whether item is loose or not. // Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/ // for discount behavior. loose = next || /\n\n(?!\s*$)/.test(item); if (i !== l - 1) { next = item[item.length-1] === '\n'; if (!loose) loose = next; } this.tokens.push({ type: loose ? 'loose_item_start' : 'list_item_start' }); // Recurse. this.token(item, false); this.tokens.push({ type: 'list_item_end' }); } this.tokens.push({ type: 'list_end' }); continue; } // html if (cap = this.rules.html.exec(src)) { src = src.substring(cap[0].length); this.tokens.push({ type: this.options.sanitize ? 'paragraph' : 'html', pre: cap[1] === 'pre', text: cap[0] }); continue; } // def if (top && (cap = this.rules.def.exec(src))) { src = src.substring(cap[0].length); this.tokens.links[cap[1].toLowerCase()] = { href: cap[2], title: cap[3] }; continue; } // table (gfm) if (top && (cap = this.rules.table.exec(src))) { src = src.substring(cap[0].length); item = { type: 'table', header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */), align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), cells: cap[3].replace(/(?: *\| *)?\n$/, '').split('\n') }; for (i = 0; i < item.align.length; i++) { if (/^ *-+: *$/.test(item.align[i])) { item.align[i] = 'right'; } else if (/^ *:-+: *$/.test(item.align[i])) { item.align[i] = 'center'; } else if (/^ *:-+ *$/.test(item.align[i])) { item.align[i] = 'left'; } else { item.align[i] = null; } } for (i = 0; i < item.cells.length; i++) { item.cells[i] = item.cells[i] .replace(/^ *\| *| *\| *$/g, '') .split(/ *\| */); } this.tokens.push(item); continue; } // top-level paragraph if (top && (cap = this.rules.paragraph.exec(src))) { src = src.substring(cap[0].length); this.tokens.push({ type: 'paragraph', text: cap[0] }); continue; } // text if (cap = this.rules.text.exec(src)) { // Top-level should never reach here. src = src.substring(cap[0].length); this.tokens.push({ type: 'text', text: cap[0] }); continue; } if (src) { throw new Error('Infinite loop on byte: ' + src.charCodeAt(0)); } } return this.tokens; }; /** * Inline-Level Grammar */ var inline = { escape: /^\\([\\`*{}\[\]()#+\-.!_>|])/, autolink: /^<([^ >]+(@|:\/)[^ >]+)>/, url: noop, tag: /^|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/, link: /^!?\[(inside)\]\(href\)/, reflink: /^!?\[(inside)\]\s*\[([^\]]*)\]/, nolink: /^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/, strong: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/, em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/, code: /^(`+)([\s\S]*?[^`])\1(?!`)/, br: /^ {2,}\n(?!\s*$)/, del: noop, text: /^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/; inline.link = replace(inline.link) ('inside', inline._inside) ('href', inline._href) (); inline.reflink = replace(inline.reflink) ('inside', inline._inside) (); /** * Normal Inline Grammar */ inline.normal = merge({}, inline); /** * Pedantic Inline Grammar */ inline.pedantic = merge({}, inline.normal, { strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/ }); /** * GFM Inline Grammar */ inline.gfm = merge({}, inline.normal, { escape: replace(inline.escape)('])', '~])')(), url: /^(https?:\/\/[^\s]+[^.,:;"')\]\s])/, del: /^~{2,}([\s\S]+?)~{2,}/, text: replace(inline.text) (']|', '~]|') ('|', '|https?://|') () }); /** * GFM + Line Breaks Inline Grammar */ inline.breaks = merge({}, inline.gfm, { br: replace(inline.br)('{2,}', '*')(), text: replace(inline.gfm.text)('{2,}', '*')() }); /** * Inline Lexer & Compiler */ function InlineLexer(links, options) { this.options = options || marked.defaults; this.links = links; this.rules = inline.normal; if (!this.links) { throw new Error('Tokens array requires a `links` property.'); } if (this.options.gfm) { if (this.options.breaks) { this.rules = inline.breaks; } else { this.rules = inline.gfm; } } else if (this.options.pedantic) { this.rules = inline.pedantic; } } /** * Expose Inline Rules */ InlineLexer.rules = inline; /** * Static Lexing/Compiling Method */ InlineLexer.output = function(src, links, opt) { var inline = new InlineLexer(links, opt); return inline.output(src); }; /** * Lexing/Compiling */ InlineLexer.prototype.output = function(src) { var out = '' , link , text , href , cap; while (src) { // escape if (cap = this.rules.escape.exec(src)) { src = src.substring(cap[0].length); out += cap[1]; continue; } // autolink if (cap = this.rules.autolink.exec(src)) { src = src.substring(cap[0].length); if (cap[2] === '@') { text = cap[1][6] === ':' ? this.mangle(cap[1].substring(7)) : this.mangle(cap[1]); href = this.mangle('mailto:') + text; } else { text = escape(cap[1]); href = text; } out += '' + text + ''; continue; } // url (gfm) if (cap = this.rules.url.exec(src)) { src = src.substring(cap[0].length); text = escape(cap[1]); href = text; out += '' + text + ''; continue; } // tag if (cap = this.rules.tag.exec(src)) { src = src.substring(cap[0].length); out += this.options.sanitize ? escape(cap[0]) : cap[0]; continue; } // link if (cap = this.rules.link.exec(src)) { src = src.substring(cap[0].length); out += this.outputLink(cap, { href: cap[2], title: cap[3] }); continue; } // reflink, nolink if ((cap = this.rules.reflink.exec(src)) || (cap = this.rules.nolink.exec(src))) { src = src.substring(cap[0].length); link = (cap[2] || cap[1]).replace(/\s+/g, ' '); link = this.links[link.toLowerCase()]; if (!link || !link.href) { out += cap[0][0]; src = cap[0].substring(1) + src; continue; } out += this.outputLink(cap, link); continue; } // strong if (cap = this.rules.strong.exec(src)) { src = src.substring(cap[0].length); out += '' + this.output(cap[2] || cap[1]) + ''; continue; } // em if (cap = this.rules.em.exec(src)) { src = src.substring(cap[0].length); out += '' + this.output(cap[2] || cap[1]) + ''; continue; } // code if (cap = this.rules.code.exec(src)) { src = src.substring(cap[0].length); out += '' + escape(cap[2], true) + ''; continue; } // br if (cap = this.rules.br.exec(src)) { src = src.substring(cap[0].length); out += '
    '; continue; } // del (gfm) if (cap = this.rules.del.exec(src)) { src = src.substring(cap[0].length); out += '' + this.output(cap[1]) + ''; continue; } // text if (cap = this.rules.text.exec(src)) { src = src.substring(cap[0].length); out += escape(cap[0]); continue; } if (src) { throw new Error('Infinite loop on byte: ' + src.charCodeAt(0)); } } return out; }; /** * Compile Link */ InlineLexer.prototype.outputLink = function(cap, link) { if (cap[0][0] !== '!') { return '' + this.output(cap[1]) + ''; } else { return ''
      + escape(cap[1])
      + ''; } }; /** * Mangle Links */ InlineLexer.prototype.mangle = function(text) { var out = '' , l = text.length , i = 0 , ch; for (; i < l; i++) { ch = text.charCodeAt(i); if (Math.random() > 0.5) { ch = 'x' + ch.toString(16); } out += '&#' + ch + ';'; } return out; }; /** * Parsing & Compiling */ function Parser(options) { this.tokens = []; this.token = null; this.options = options || marked.defaults; } /** * Static Parse Method */ Parser.parse = function(src, options) { var parser = new Parser(options); return parser.parse(src); }; /** * Parse Loop */ Parser.prototype.parse = function(src) { this.inline = new InlineLexer(src.links, this.options); this.tokens = src.reverse(); var out = ''; while (this.next()) { out += this.tok(); } return out; }; /** * Next Token */ Parser.prototype.next = function() { return this.token = this.tokens.pop(); }; /** * Preview Next Token */ Parser.prototype.peek = function() { return this.tokens[this.tokens.length-1] || 0; }; /** * Parse Text Tokens */ Parser.prototype.parseText = function() { var body = this.token.text; while (this.peek().type === 'text') { body += '\n' + this.next().text; } return this.inline.output(body); }; /** * Parse Current Token */ Parser.prototype.tok = function() { switch (this.token.type) { case 'space': { return ''; } case 'hr': { return '
    \n'; } case 'heading': { return '' + this.inline.output(this.token.text) + '\n'; } case 'code': { if (this.options.highlight) { var code = this.options.highlight(this.token.text, this.token.lang); if (code != null && code !== this.token.text) { this.token.escaped = true; this.token.text = code; } } if (!this.token.escaped) { this.token.text = escape(this.token.text, true); } return '
    '
            + this.token.text
            + '
    \n'; } case 'table': { var body = '' , heading , i , row , cell , j; // header body += '\n\n'; for (i = 0; i < this.token.header.length; i++) { heading = this.inline.output(this.token.header[i]); body += this.token.align[i] ? '' + heading + '\n' : '' + heading + '\n'; } body += '\n\n'; // body body += '\n' for (i = 0; i < this.token.cells.length; i++) { row = this.token.cells[i]; body += '\n'; for (j = 0; j < row.length; j++) { cell = this.inline.output(row[j]); body += this.token.align[j] ? '' + cell + '\n' : '' + cell + '\n'; } body += '\n'; } body += '\n'; return '\n' + body + '
    \n'; } case 'blockquote_start': { var body = ''; while (this.next().type !== 'blockquote_end') { body += this.tok(); } return '
    \n' + body + '
    \n'; } case 'list_start': { var type = this.token.ordered ? 'ol' : 'ul' , body = ''; while (this.next().type !== 'list_end') { body += this.tok(); } return '<' + type + '>\n' + body + '\n'; } case 'list_item_start': { var body = ''; while (this.next().type !== 'list_item_end') { body += this.token.type === 'text' ? this.parseText() : this.tok(); } return '
  • ' + body + '
  • \n'; } case 'loose_item_start': { var body = ''; while (this.next().type !== 'list_item_end') { body += this.tok(); } return '
  • ' + body + '
  • \n'; } case 'html': { return !this.token.pre && !this.options.pedantic ? this.inline.output(this.token.text) : this.token.text; } case 'paragraph': { return '

    ' + this.inline.output(this.token.text) + '

    \n'; } case 'text': { return '

    ' + this.parseText() + '

    \n'; } } }; /** * Helpers */ function escape(html, encode) { return html .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&') .replace(//g, '>') .replace(/"/g, '"') .replace(/'/g, '''); } function replace(regex, opt) { regex = regex.source; opt = opt || ''; return function self(name, val) { if (!name) return new RegExp(regex, opt); val = val.source || val; val = val.replace(/(^|[^\[])\^/g, '$1'); regex = regex.replace(name, val); return self; }; } function noop() {} noop.exec = noop; function merge(obj) { var i = 1 , target , key; for (; i < arguments.length; i++) { target = arguments[i]; for (key in target) { if (Object.prototype.hasOwnProperty.call(target, key)) { obj[key] = target[key]; } } } return obj; } /** * Marked */ function marked(src, opt) { try { return Parser.parse(Lexer.lex(src, opt), opt); } catch (e) { e.message += '\nPlease report this to https://github.com/chjj/marked.'; if ((opt || marked.defaults).silent) { return 'An error occured:\n' + e.message; } throw e; } } /** * Options */ marked.options = marked.setOptions = function(opt) { marked.defaults = opt; return marked; }; marked.defaults = { gfm: true, tables: true, breaks: false, pedantic: false, sanitize: false, silent: false, highlight: null }; /** * Expose */ marked.Parser = Parser; marked.parser = Parser.parse; marked.Lexer = Lexer; marked.lexer = Lexer.lex; marked.InlineLexer = InlineLexer; marked.inlineLexer = InlineLexer.output; marked.parse = marked; if (typeof module !== 'undefined') { module.exports = marked; } else if (typeof define === 'function' && define.amd) { define(function() { return marked; }); } else { this.marked = marked; } }).call(function() { return this || (typeof window !== 'undefined' ? window : global); }()); webcit-9.01-dfsg/epic/js/epiceditor.min.js000066400000000000000000001022251254743150300204520ustar00rootroot00000000000000/** * EpicEditor - An Embeddable JavaScript Markdown Editor (https://github.com/OscarGodson/EpicEditor) * Copyright (c) 2011-2012, Oscar Godson. (MIT Licensed) */(function(e,t){function n(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])}function r(e,t){for(var n in t)t.hasOwnProperty(n)&&(e.style[n]=t[n])}function i(t,n){var r=t,i=null;return e.getComputedStyle?i=document.defaultView.getComputedStyle(r,null).getPropertyValue(n):r.currentStyle&&(i=r.currentStyle[n]),i}function s(e,t,n){var s={},o;if(t==="save"){for(o in n)n.hasOwnProperty(o)&&(s[o]=i(e,o));r(e,n)}else t==="apply"&&r(e,n);return s}function o(e){var t=parseInt(i(e,"border-left-width"),10)+parseInt(i(e,"border-right-width"),10),n=parseInt(i(e,"padding-left"),10)+parseInt(i(e,"padding-right"),10),r=e.offsetWidth,s;return isNaN(t)&&(t=0),s=t+n+r,s}function u(e){var t=parseInt(i(e,"border-top-width"),10)+parseInt(i(e,"border-bottom-width"),10),n=parseInt(i(e,"padding-top"),10)+parseInt(i(e,"padding-bottom"),10),r=parseInt(i(e,"height"),10),s;return isNaN(t)&&(t=0),s=t+n+r,s}function a(e,t,r){r=r||"";var i=t.getElementsByTagName("head")[0],s=t.createElement("link");n(s,{type:"text/css",id:r,rel:"stylesheet",href:e,name:e,media:"screen"}),i.appendChild(s)}function f(e,t,n){e.className=e.className.replace(t,n)}function l(e){return e.contentDocument||e.contentWindow.document}function c(e){var t;return typeof document.body.innerText=="string"?t=e.innerText:(t=e.innerHTML.replace(/
    /gi,"\n"),t=t.replace(/<(?:.|\n)*?>/gm,""),t=t.replace(/</gi,"<"),t=t.replace(/>/gi,">")),t}function h(e,t){return t=t.replace(//g,">"),t=t.replace(/\n/g,"
    "),t=t.replace(/
    \s/g,"
     "),t=t.replace(/\s\s\s/g,"   "),t=t.replace(/\s\s/g,"  "),t=t.replace(/^ /," "),e.innerHTML=t,!0}function p(e){return e.replace(/\u00a0/g," ").replace(/ /g," ")}function d(){var e=-1,t=navigator.userAgent,n;return navigator.appName=="Microsoft Internet Explorer"&&(n=/MSIE ([0-9]{1,}[\.0-9]{0,})/,n.exec(t)!=null&&(e=parseFloat(RegExp.$1,10))),e}function v(){var t=e.navigator;return t.userAgent.indexOf("Safari")>-1&&t.userAgent.indexOf("Chrome")==-1}function m(){var t=e.navigator;return t.userAgent.indexOf("Firefox")>-1&&t.userAgent.indexOf("Seamonkey")==-1}function g(e){var t={};return e&&t.toString.call(e)==="[object Function]"}function y(){var e=arguments[0]||{},n=1,r=arguments.length,i=!1,s,o,u,a;typeof e=="boolean"&&(i=e,e=arguments[1]||{},n=2),typeof e!="object"&&!g(e)&&(e={}),r===n&&(e=this,--n);for(;n=5||Math.abs(g.x-t.pageX)>=5)h.style.display="block",p&&clearTimeout(p),p=e.setTimeout(function(){h.style.display="none"},1e3);g={y:t.pageY,x:t.pageX}}function M(e){e.keyCode==n.settings.shortcut.modifier&&(N=!0),e.keyCode==17&&(C=!0),N===!0&&e.keyCode==n.settings.shortcut.preview&&!n.is("fullscreen")&&(e.preventDefault(),n.is("edit")&&n._previewEnabled?n.preview():n._editEnabled&&n.edit()),N===!0&&e.keyCode==n.settings.shortcut.fullscreen&&n._fullscreenEnabled&&(e.preventDefault(),n._goFullscreen(T)),N===!0&&e.keyCode!==n.settings.shortcut.modifier&&(N=!1),e.keyCode==27&&n.is("fullscreen")&&n._exitFullscreen(T),C===!0&&e.keyCode==83&&(n.save(),e.preventDefault(),C=!1),e.metaKey&&e.keyCode==83&&(n.save(),e.preventDefault())}function _(e){e.keyCode==n.settings.shortcut.modifier&&(N=!1),e.keyCode==17&&(C=!1)}function D(t){var r;t.clipboardData?(t.preventDefault(),r=t.clipboardData.getData("text/plain"),n.editorIframeDocument.execCommand("insertText",!1,r)):e.clipboardData&&(t.preventDefault(),r=e.clipboardData.getData("Text"),r=r.replace(//g,">"),r=r.replace(/\n/g,"
    "),r=r.replace(/\r/g,""),r=r.replace(/
    \s/g,"
     "),r=r.replace(/\s\s\s/g,"   "),r=r.replace(/\s\s/g,"  "),n.editorIframeDocument.selection.createRange().pasteHTML(r))}if(this.is("loaded"))return this;var n=this,o,u,f,c,h,p,m,g={y:-1,x:-1},y,b,w=!1,E=!1,S=!1,x=!1,T,N=!1,C=!1,k,L,A;n._eeState.startup=!0,n.settings.useNativeFullscreen&&(E=document.body.webkitRequestFullScreen?!0:!1,S=document.body.mozRequestFullScreen?!0:!1,x=document.body.requestFullscreen?!0:!1,w=E||S||x),v()&&(w=!1,E=!1),!n.is("edit")&&!n.is("preview")&&(n._eeState.edit=!0),t=t||function(){},o={chrome:'
    '+(n._previewEnabled?' ':"")+(n._editEnabled?' ':"")+(n._fullscreenEnabled?'':"")+"
    "+"
    ",previewer:'
    ',editor:""},n.element.innerHTML='',n.element.style.height=n.element.offsetHeight+"px",u=document.getElementById(n._instanceId),n.iframeElement=u,n.iframe=l(u),n.iframe.open(),n.iframe.write(o.chrome),n.editorIframe=n.iframe.getElementById("epiceditor-editor-frame"),n.previewerIframe=n.iframe.getElementById("epiceditor-previewer-frame"),n.editorIframeDocument=l(n.editorIframe),n.editorIframeDocument.open(),n.editorIframeDocument.write(o.editor),n.editorIframeDocument.close(),n.previewerIframeDocument=l(n.previewerIframe),n.previewerIframeDocument.open(),n.previewerIframeDocument.write(o.previewer),f=n.previewerIframeDocument.createElement("base"),f.target="_blank",n.previewerIframeDocument.getElementsByTagName("head")[0].appendChild(f),n.previewerIframeDocument.close(),n.reflow(),a(n.settings.theme.base,n.iframe,"theme"),a(n.settings.theme.editor,n.editorIframeDocument,"theme"),a(n.settings.theme.preview,n.previewerIframeDocument,"theme"),n.iframe.getElementById("epiceditor-wrapper").style.position="relative",n.editorIframe.style.position="absolute",n.previewerIframe.style.position="absolute",n.editor=n.editorIframeDocument.body,n.previewer=n.previewerIframeDocument.getElementById("epiceditor-preview"),n.editor.contentEditable=!0,n.iframe.body.style.height=this.element.offsetHeight+"px",n.previewerIframe.style.left="-999999px",this.editorIframeDocument.body.style.wordWrap="break-word",d()>-1&&(this.previewer.style.height=parseInt(i(this.previewer,"height"),10)+2),this.open(n.settings.file.name),n.settings.focusOnLoad&&n.iframe.addEventListener("readystatechange",function(){n.iframe.readyState=="complete"&&n.focus()}),n.previewerIframeDocument.addEventListener("click",function(t){var r=t.target,i=n.previewerIframeDocument.body;r.nodeName=="A"&&r.hash&&r.hostname==e.location.hostname&&(t.preventDefault(),r.target="_self",i.querySelector(r.hash)&&(i.scrollTop=i.querySelector(r.hash).offsetTop))}),c=n.iframe.getElementById("epiceditor-utilbar"),y={},n._goFullscreen=function(t){this._fixScrollbars("auto");if(n.is("fullscreen")){n._exitFullscreen(t);return}w&&(E?t.webkitRequestFullScreen():S?t.mozRequestFullScreen():x&&t.requestFullscreen()),b=n.is("edit"),n._eeState.fullscreen=!0,n._eeState.edit=!0,n._eeState.preview=!0;var r=e.innerWidth,o=e.innerHeight,u=e.outerWidth,a=e.outerHeight;w||(a=e.innerHeight),y.editorIframe=s(n.editorIframe,"save",{width:u/2+"px",height:a+"px","float":"left",cssFloat:"left",styleFloat:"left",display:"block",position:"static",left:""}),y.previewerIframe=s(n.previewerIframe,"save",{width:u/2+"px",height:a+"px","float":"right",cssFloat:"right",styleFloat:"right",display:"block",position:"static",left:""}),y.element=s(n.element,"save",{position:"fixed",top:"0",left:"0",width:"100%","z-index":"9999",zIndex:"9999",border:"none",margin:"0",background:i(n.editor,"background-color"),height:o+"px"}),y.iframeElement=s(n.iframeElement,"save",{width:u+"px",height:o+"px"}),c.style.visibility="hidden",w||(document.body.style.overflow="hidden"),n.preview(),n.focus(),n.emit("fullscreenenter")},n._exitFullscreen=function(e){this._fixScrollbars(),s(n.element,"apply",y.element),s(n.iframeElement,"apply",y.iframeElement),s(n.editorIframe,"apply",y.editorIframe),s(n.previewerIframe,"apply",y.previewerIframe),n.element.style.width=n._eeState.reflowWidth?n._eeState.reflowWidth:"",n.element.style.height=n._eeState.reflowHeight?n._eeState.reflowHeight:"",c.style.visibility="visible",n._eeState.fullscreen=!1,w?E?document.webkitCancelFullScreen():S?document.mozCancelFullScreen():x&&document.exitFullscreen():document.body.style.overflow="auto",b?n.edit():n.preview(),n.reflow(),n.emit("fullscreenexit")},n.editor.addEventListener("keyup",function(){m&&e.clearTimeout(m),m=e.setTimeout(function(){n.is("fullscreen")&&n.preview()},250)}),T=n.iframeElement,c.addEventListener("click",function(e){var t=e.target.className;t.indexOf("epiceditor-toggle-preview-btn")>-1?n.preview():t.indexOf("epiceditor-toggle-edit-btn")>-1?n.edit():t.indexOf("epiceditor-fullscreen-btn")>-1&&n._goFullscreen(T)}),E?document.addEventListener("webkitfullscreenchange",function(){!document.webkitIsFullScreen&&n._eeState.fullscreen&&n._exitFullscreen(T)},!1):S?document.addEventListener("mozfullscreenchange",function(){!document.mozFullScreen&&n._eeState.fullscreen&&n._exitFullscreen(T)},!1):x&&document.addEventListener("fullscreenchange",function(){document.fullscreenElement==null&&n._eeState.fullscreen&&n._exitFullscreen(T)},!1),h=n.iframe.getElementById("epiceditor-utilbar"),n.settings.button.bar!==!0&&(h.style.display="none"),h.addEventListener("mouseover",function(){p&&clearTimeout(p)}),k=[n.previewerIframeDocument,n.editorIframeDocument];for(L=0;Li&&(n=i,a=!0),a?this._fixScrollbars("auto"):this._fixScrollbars("hidden"),n!=this.oldHeight&&(this.getElement("container").style.height=n+"px",this.reflow(),this.settings.autogrow.scroll&&e.scrollBy(0,n-this.oldHeight),this.oldHeight=n))},b.prototype._fixScrollbars=function(e){var t;this.settings.autogrow?t="hidden":t="auto",t=e||t,this.getElement("editor").documentElement.style.overflow=t,this.getElement("previewer").documentElement.style.overflow=t},b.version="0.2.2",b._data={},e.EpicEditor=b})(window),function(){function t(t){this.tokens=[],this.tokens.links={},this.options=t||f.defaults,this.rules=e.normal,this.options.gfm&&(this.options.tables?this.rules=e.tables:this.rules=e.gfm)}function r(e,t){this.options=t||f.defaults,this.links=e,this.rules=n.normal;if(!this.links)throw new Error("Tokens array requires a `links` property.");this.options.gfm?this.options.breaks?this.rules=n.breaks:this.rules=n.gfm:this.options.pedantic&&(this.rules=n.pedantic)}function i(e){this.tokens=[],this.token=null,this.options=e||f.defaults}function s(e,t){return e.replace(t?/&/g:/&(?!#?\w+;)/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function o(e,t){return e=e.source,t=t||"",function n(r,i){return r?(i=i.source||i,i=i.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,i),n):new RegExp(e,t)}}function u(){}function a(e){var t=1,n,r;for(;t[^\n]+(\n[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment|closed|closing) *(?:\n{2,}|\s*$)/,def:/^ *\[([^\]]+)\]: *([^\s]+)(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:u,paragraph:/^([^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+\n*/,text:/^[^\n]+/};e.bullet=/(?:[*+-]|\d+\.)/,e.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,e.item=o(e.item,"gm")(/bull/g,e.bullet)(),e.list=o(e.list)(/bull/g,e.bullet)("hr",/\n+(?=(?: *[-*_]){3,} *(?:\n+|$))/)(),e._tag="(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|@)\\b",e.html=o(e.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,e._tag)(),e.paragraph=o(e.paragraph)("hr",e.hr)("heading",e.heading)("lheading",e.lheading)("blockquote",e.blockquote)("tag","<"+e._tag)("def",e.def)(),e.normal=a({},e),e.gfm=a({},e.normal,{fences:/^ *(`{3,}|~{3,}) *(\w+)? *\n([\s\S]+?)\s*\1 *(?:\n+|$)/,paragraph:/^/}),e.gfm.paragraph=o(e.paragraph)("(?!","(?!"+e.gfm.fences.source.replace("\\1","\\2")+"|")(),e.tables=a({},e.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),t.rules=e,t.lex=function(e,n){var r=new t(n);return r.lex(e)},t.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},t.prototype.token=function(e,t){var e=e.replace(/^ +$/gm,""),n,r,i,s,o,u,a;while(e){if(i=this.rules.newline.exec(e))e=e.substring(i[0].length),i[0].length>1&&this.tokens.push({type:"space"});if(i=this.rules.code.exec(e)){e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?i:i.replace(/\n+$/,"")});continue}if(i=this.rules.fences.exec(e)){e=e.substring(i[0].length),this.tokens.push({type:"code",lang:i[2],text:i[3]});continue}if(i=this.rules.heading.exec(e)){e=e.substring(i[0].length),this.tokens.push({type:"heading",depth:i[1].length,text:i[2]});continue}if(t&&(i=this.rules.nptable.exec(e))){e=e.substring(i[0].length),s={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/\n$/,"").split("\n")};for(u=0;u ?/gm,""),this.token(i,t),this.tokens.push({type:"blockquote_end"});continue}if(i=this.rules.list.exec(e)){e=e.substring(i[0].length),this.tokens.push({type:"list_start",ordered:isFinite(i[2])}),i=i[0].match(this.rules.item),n=!1,a=i.length,u=0;for(;u|])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:u,tag:/^|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)([\s\S]*?[^`])\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:u,text:/^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/,n.link=o(n.link)("inside",n._inside)("href",n._href)(),n.reflink=o(n.reflink)("inside",n._inside)(),n.normal=a({},n),n.pedantic=a({},n.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),n.gfm=a({},n.normal,{escape:o(n.escape)("])","~])")(),url:/^(https?:\/\/[^\s]+[^.,:;"')\]\s])/,del:/^~{2,}([\s\S]+?)~{2,}/,text:o(n.text)("]|","~]|")("|","|https?://|")()}),n.breaks=a({},n.gfm,{br:o(n.br)("{2,}","*")(),text:o(n.gfm.text)("{2,}","*")()}),r.rules=n,r.output=function(e,t,n){var i=new r(t,n);return i.output(e)},r.prototype.output=function(e){var t="",n,r,i,o;while(e){if(o=this.rules.escape.exec(e)){e=e.substring(o[0].length),t+=o[1];continue}if(o=this.rules.autolink.exec(e)){e=e.substring(o[0].length),o[2]==="@"?(r=o[1][6]===":"?this.mangle(o[1].substring(7)):this.mangle(o[1]),i=this.mangle("mailto:")+r):(r=s(o[1]),i=r),t+=''+r+"";continue}if(o=this.rules.url.exec(e)){e=e.substring(o[0].length),r=s(o[1]),i=r,t+=''+r+"";continue}if(o=this.rules.tag.exec(e)){e=e.substring(o[0].length),t+=this.options.sanitize?s(o[0]):o[0];continue}if(o=this.rules.link.exec(e)){e=e.substring(o[0].length),t+=this.outputLink(o,{href:o[2],title:o[3]});continue}if((o=this.rules.reflink.exec(e))||(o=this.rules.nolink.exec(e))){e=e.substring(o[0].length),n=(o[2]||o[1]).replace(/\s+/g," "),n=this.links[n.toLowerCase()];if(!n||!n.href){t+=o[0][0],e=o[0].substring(1)+e;continue}t+=this.outputLink(o,n);continue}if(o=this.rules.strong.exec(e)){e=e.substring(o[0].length),t+=""+this.output(o[2]||o[1])+"";continue}if(o=this.rules.em.exec(e)){e=e.substring(o[0].length),t+=""+this.output(o[2]||o[1])+"";continue}if(o=this.rules.code.exec(e)){e=e.substring(o[0].length),t+=""+s(o[2],!0)+"";continue}if(o=this.rules.br.exec(e)){e=e.substring(o[0].length),t+="
    ";continue}if(o=this.rules.del.exec(e)){e=e.substring(o[0].length),t+=""+this.output(o[1])+"";continue}if(o=this.rules.text.exec(e)){e=e.substring(o[0].length),t+=s(o[0]);continue}if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}return t},r.prototype.outputLink=function(e,t){return e[0][0]!=="!"?'"+this.output(e[1])+"":''+s(e[1])+'"},r.prototype.mangle=function(e){var t="",n=e.length,r=0,i;for(;r.5&&(i="x"+i.toString(16)),t+="&#"+i+";";return t},i.parse=function(e,t){var n=new i(t);return n.parse(e)},i.prototype.parse=function(e){this.inline=new r(e.links,this.options),this.tokens=e.reverse();var t="";while(this.next())t+=this.tok();return t},i.prototype.next=function(){return this.token=this.tokens.pop()},i.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},i.prototype.parseText=function(){var e=this.token.text;while(this.peek().type==="text")e+="\n"+this.next().text;return this.inline.output(e)},i.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return"
    \n";case"heading":return""+this.inline.output(this.token.text)+"\n";case"code":if(this.options.highlight){var e=this.options.highlight(this.token.text,this.token.lang);e!=null&&e!==this.token.text&&(this.token.escaped=!0,this.token.text=e)}return this.token.escaped||(this.token.text=s(this.token.text,!0)),"
    "+this.token.text+"
    \n";case"table":var t="",n,r,i,o,u;t+="\n\n";for(r=0;r'+n+"\n":""+n+"\n";t+="\n\n",t+="\n";for(r=0;r\n";for(u=0;u'+o+"\n":""+o+"\n";t+="\n"}return t+="\n","\n"+t+"
    \n";case"blockquote_start":var t="";while(this.next().type!=="blockquote_end" )t+=this.tok();return"
    \n"+t+"
    \n";case"list_start":var a=this.token.ordered?"ol":"ul",t="";while(this.next().type!=="list_end")t+=this.tok();return"<"+a+">\n"+t+"\n";case"list_item_start":var t="";while(this.next().type!=="list_item_end")t+=this.token.type==="text"?this.parseText():this.tok();return"
  • "+t+"
  • \n";case"loose_item_start":var t="";while(this.next().type!=="list_item_end")t+=this.tok();return"
  • "+t+"
  • \n";case"html":return!this.token.pre&&!this.options.pedantic?this.inline.output(this.token.text):this.token.text;case"paragraph":return"

    "+this.inline.output(this.token.text)+"

    \n";case"text":return"

    "+this.parseText()+"

    \n"}},u.exec=u,f.options=f.setOptions=function(e){return f.defaults=e,f},f.defaults={gfm:!0,tables:!0,breaks:!1,pedantic:!1,sanitize:!1,silent:!1,highlight:null},f.Parser=i,f.parser=i.parse,f.Lexer=t,f.lexer=t.lex,f.InlineLexer=r,f.inlineLexer=r.output,f.parse=f,typeof module!="undefined"?module.exports=f:typeof define=="function"&&define.amd?define(function(){return f}):this.marked=f}.call(function(){return this||(typeof window!="undefined"?window:global)}());webcit-9.01-dfsg/epic/themes/000077500000000000000000000000001254743150300160525ustar00rootroot00000000000000webcit-9.01-dfsg/epic/themes/base/000077500000000000000000000000001254743150300167645ustar00rootroot00000000000000webcit-9.01-dfsg/epic/themes/base/epiceditor.css000066400000000000000000000212731254743150300216320ustar00rootroot00000000000000html, body, iframe, div { margin:0; padding:0; } #epiceditor-utilbar { position:fixed; bottom:10px; right:10px; } #epiceditor-utilbar button { display:block; float:left; width:30px; height:30px; border:none; background:none; } #epiceditor-utilbar button.epiceditor-toggle-preview-btn { background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAf9JREFUeNrsVu1twjAQLZmAEcIGYYKGDWACkgkSkPiQ+CifAoEgyQTQDegEpROQDZoRMgH0HToj1yIglKr90Vg62T6f/e4d9gu50+n09BctlwFnwP8TOAgCA10VRr2ZELaHhbBXx3HCVMC+71voXmD6g4Qi2NB13e1DwAAkZhtmmKYRcxsJhHeBPc8bMMufbDU0PxF4vV4TSyth8477csI6lTV/a71er9tioonBarXaIAmLErliNWyqoM8nrJPpHFNLWLcI4xvj5XKpMo2ZgcvzIvs+75S0wKwPPB/CnpWXsG00Gra2WCwshekOVoC9Sb6IGN1ge2HNsWK+B0iJqxAL5oSpYeDJJW02mxVYLAWSGfDtebylA68Bc4wh+ahK5PcxLh6PR5GUpym/iTOfz89PqNVqhRI4iQf1/o174HNMVYDSGeTDmXQ3znogCGrtdpsYVBhER1aH2Wzm8iE7UR74DMTWGNxUQWmNYqTEzq8APoo9sJ8wKoR5eU7T6VQVjZAvx4YvDJWt1Ol0QsTqkppF8EW8/12OhTnSpT2LCe2/KiCTyUQVkJgPuwgb6XG32w05Xui4q0imLLNDxA/uSuZ4PNaZqZlSsejDYfd6veihj8RoNDK5XOUHAen3Dfr9/j7VZxEJ6AwuxCCvhMTM7oNAARhl/0Ay4Az419qXAAMAfBdK7281j6YAAAAASUVORK5CYII=); } #epiceditor-utilbar button.epiceditor-toggle-edit-btn { background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAnVJREFUeNrsV+lt4lAQNtEWAB2QCtZ0ABWsqYB1BU5AgDgkQOISl9cV4FQQtgLYCuKtIN4K4gogM9H3pMmLTTh24c+O9An7+XnOb8aP1G63M64hN8aV5GqGvxyyyfO8Y3S6hDtc2wTfcZyLRPwdvxEbPSviIwjIRtO49s9ONSRLMIGvwkBI+EPYEEqyQmcZdl2Xo3BgcJ90xPUGDh1veLFYWCBK9oQ6P4BgiXVO6fUjg5zCJcE6kVxsLEN4QTlWzO5yuRwlGp7P55zOxz1RRqK2SfKD8BvOG4IHxUqlEnxop9lsZpITa0KWndGwIeQIXswzHbynpK2xzjXbeBfxdDrlhbUWjYyuiJS9fBJxgL3PItKsprNQrVaD1GQyYUVP2oYelDziPoPnT5+k2QajleEC3usI/exM7oYiXor0hpxS8qhLv5FIVVrcBwkp5ueclbS27qNMvkj7kg3nZX1qtVqAaSUN5OGUwn2M4RUb3263plh700E6I7wTKn1suCAW3PF4zL1r1Ov1SBhXZLEJFqGTQCq5N1BZIp3s+DOi5fXcG7lGo1Ea5DIFSWzcq7a4R6uYqJmlkSqHoeGKeq+w905MtGKj0Yje9TE5ID9pqictQQwmXTfh82cIJ0NML0d0QY8MdhMn13A4zENB0hAJEYn6EnGL3MZ0hsyG3Ww2g70jU8lgMOhqHicJz+KfovVkz3J5/FardfhBgDZzS90SeoJ8cXjQJlUAEmZUCx30kYiTfr9vgFRc72+ChCHSzNH+Qgk+fA7b7fZZJ5AAiIRhT4zUv3/Y07LiaPW9yPE2L5jrI/p/d7wVEZe0U8bJkvr/F+ZS8irAAIorRozUvI0gAAAAAElFTkSuQmCC); } #epiceditor-utilbar button.epiceditor-fullscreen-btn { background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAY5JREFUeNrsV8tthDAQhYgCtoV04BKghK2En5AQBw4IITjwq2RLgBJcwpawHZAxMpGDYGwTFPaQkUbG1sybj58NmNM0GVfIh3GRXBbYEid932N9d1zXHWWAGAb4m+9VsUA0H5SubKkKIGA4qyUC2qKBxSCe541HKln7dV2nVbHRtq0Nw7CXGNtz/jzwqjZ5odtqTOagQRC82KRpGkcS/L2Ok7lXZV3Xp7Q6DMNR2mqNthMhKXLqzcUCc6Wgn3wU1wlX1PboHs8tjaLoyVtLT7JFK2ZZM6CZvWyE+X1Voaj3la3DMA63epGqqm4wfyCBH8xmz1+Z1WVZ2vyqU2HvHtv9OI4PsRpjL91YV2a7pcB8onmOifYFUhSFLQCTnQtkDpokyYv73JBtcAQsA3zGTXJBEgNXgrF3CcrBZGwnC+4uqxHnH+zN8/ybvexZwvZNhlsHbrt5CyCgDtu1XosUe58K4kuOF9EKnKYp20eVrxDUJssyreM0bDg4kIw0EfCbftvqQ6KKYf7/wvyVfAkwAMjqoFSaWbrBAAAAAElFTkSuQmCC); } @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and ( min--moz-device-pixel-ratio: 2), only screen and ( -o-min-device-pixel-ratio: 2/1), only screen and ( min-device-pixel-ratio: 2), only screen and ( min-resolution: 192dpi), only screen and ( min-resolution: 2dppx) { #epiceditor-utilbar button.epiceditor-toggle-preview-btn { background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAMAAAANIilAAAABrVBMVEWIiIiHh4eIiIiJiYmEhISEhISEhISMjIyNjY2MjIyNjY2MjIyFhYWDg4OFhYWKioqKioqBgYGJiYmJiYmJiYmKioqKioqFhYWIiIiJiYmIiIiJiYmIiIiGhoaIiIiGhoaIiIiHh4eHh4eGhoaFhYWKioqFhYWEhISFhYWEhISDg4ONjY2NjY2MjIyHh4eMjIyLi4uCgoKCgoKCgoKBgYGBgYGOjo6Ojo6BgYGPj4+Ojo6Hh4eNjY2Pj4+BgYGNjY2BgYGHh4eQkJCNjY2FhYWHh4eDg4OQkJCQkJCAgICCgoKAgICAgICQkJCQkJCQkJCAgICQkJCAgICQkJCFhYWHh4eHh4eGhoaKioqGhoaMjIyDg4OEhISDg4OEhISDg4OEhISKioqBgYGJiYmKioqKioqJiYmMjIyEhISCgoKGhoaLi4uPj4+Pj4+BgYGKioqDg4OGhoaGhoaMjIyHh4eEhISEhISDg4OIiIiJiYmGhoaHh4eJiYkAAACAgICFhYWQkJCIiIiEhISLi4uDg4OHh4eGhoaCgoKBgYGJiYmMjIyOjo6KioqNjY2Pj4+o6Lr0AAAAfnRSTlPfvxDPEL8gv5/Pr3AQ3++vn8+/cCCA34/vj8/vMJ+vgJ+vYN/fMIBAv4/v38/v39+PgBBg74DPgGAwMHDvrzBQj1AggJ8wIHC/IM9gjxBQgO+vv89Qz0C/70Bgz89ggIDvYN/fII8wIHDvMJ+/QBBAMBDPnxBgML9AEI/vQACT8cYwAAACXElEQVR42u2WV1caURRGJ73H9J7YW+y99957ARREURAFQRFEOFGMkybxN+eec2cWUwBnrTwli/1yvvnm7PvEuoMAf0FGzsj/nDwxOTUzdyoxNzM1OWFU7h0aPtUxPNRrQPZ0XKagw3OF7Nm9TMOuJ43cQmpavSWV3HRhgKakcmvjhSEaW/VyV/tvg7R3aeU+9ULZ/fLEQ/ndMvXbPrV88EvBvQdOMCsLMzjNd5TFgSTr3SpWOCuUTYWTVVV6m+Sdr0qqqVGxw6pqXUPyZlziFaU9Vi3HVSyzag+D/YlcbXLZLm+85AsOgMK4hkIABz/YkSVVdpS3fnKevQCIYgCcGqKslGd0g3dbIIR5fP8cZCkMdOANWeSLEJZklt5StxEWcmLIuw+AHGE+YiEWE67jGxnlO8xv8OGTEBGRRSACmNtYyBUjgcCCKJPLqjYMAeD04ENEGIjQ7AGikuUFNhdF8Vogj0T5bDyqEjh55AwI4N7/hmRTe4zRxEM+ZuKYFSYeEP9HzPtuEFjm9pKf9W5KQLbKhSVMbkymfHL90i+s/wR5PM9iCaYiLOcLTogCrKEIYwkLD19T25/4bR+unSG3bkOQwiG1QZfV6gryBaqL5c01XCCZ9lbOCOvNUpouUOGishSK+dpKUHMZ2M6Jz7ZHNEO+hOoLUWVZZROx6a8hn+VcRWh1EOtBUuhcPiy+pBdg3fZ3DaOj2ma7LtXVW1uj0XVqTW2aS9/bUP8jJfUN3is+N97mp8nV9Wavka9kZ/e6zuzuNP59Hhkbn53+QkzPjo+NZP6TZOSM/L/LfwAJ69Ba3fXmtwAAAABJRU5ErkJggg==); background-size: 30px 30px; } #epiceditor-utilbar button.epiceditor-toggle-edit-btn { background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAMAAAANIilAAAACNFBMVEWIiIiHh4eIiIiGhoaEhISDg4OCgoKDg4OMjIyNjY2MjIyMjIyLi4uMjIyKioqCgoKNjY2Ojo6Dg4ONjY2FhYWFhYWCgoKKioqKioqLi4uLi4uMjIyLi4uFhYWKioqKioqEhISJiYmJiYmEhISEhISFhYWEhISGhoaHh4eJiYmNjY2Hh4eKioqDg4ODg4OCgoKOjo6Ojo6Dg4OOjo6BgYGOjo6AgICCgoKNjY2Dg4OPj4+BgYGBgYGAgICOjo6BgYGOjo6AgICOjo6BgYGBgYGAgICPj4+QkJCQkJCQkJCQkJCPj4+NjY2IiIiIiIiFhYWFhYWEhISEhISGhoaDg4OGhoaDg4OHh4eDg4OCgoKMjIyLi4uLi4uKioqNjY2KioqNjY2NjY2NjY2Dg4OKioqGhoaJiYmIiIiGhoaFhYWEhISFhYWFhYWOjo6Pj4+FhYWGhoaPj4+Hh4eMjIyMjIyMjIyJiYmIiIiIiIiOjo6Ojo6CgoKBgYGPj4+QkJCHh4eHh4eEhISIiIiDg4OEhISDg4ODg4OLi4uHh4eEhISMjIyFhYWGhoaHh4eOjo6IiIiKioqKioqMjIyGhoaIiIiJiYmIiIiFhYWGhoaGhoaHh4eKioqJiYmLi4uIiIiGhoaJiYmHh4eGhoaGhoaJiYmFhYWKioqPj4+IiIiGhoYAAACAgICCgoKQkJCPj4+BgYGDg4OFhYWHh4eOjo6JiYmGhoaLi4uEhISIiIiNjY2MjIyKioqRGRgVAAAAq3RSTlNQz7+Pz4AQr4/vIK+Av99QICBQzyCv37/PcM+f378QgHAwgIBgnxBQMK+PgFCf34Bwn0BQv2Ag7zBwEFDvj4CAv1DvYK/f398gUICA39+fYHAwQHAQn78gz0DfYO8wgO+/YECPIK9gz89Av8/f31AwgK9A72AwIGCAMM+PICCvrxCfr+/fYCAgYO9QgGBQjyCPYM8QcM8wEEAgn58Qn+8w7+/fv0DvQEBA7wCxres+AAAC50lEQVR42u2XVUMbQRSFU3d3d3d3d8EpUKRoKbS40+LuDsEtQOFQKA2FEvhz3XsnS5IlJLB9a/s95J49M99sXpJsNPgD/st/oZwxJJGhTn4+RLxQJ78k9xnUyU+HJV6pk6OGiXR1ciy5sZizfPMrwzl9mIiak5x6/sLnUZmH9+9eqqAQCftyakXkqFUq7MpX6JbW2WBHDnxtmJUAIMiGfD3AYINArDdsCppNfmewxQqx4aRVObFm0ibLAW+aNYkz5ZL4SdusRIkI8SVKOcFyp/cu5ftYA6ySc4Kl3DZuxs4dhfAZV+CDQtNFm0lWuLsBFPoqXF9g9bjSZrlqypwqAC1TClqAtYprIVfLjT+f0gfAXyn7oY9GNZ/KiWVumX17OYYAIUp3O+AnDu7bZqxOk5zU+ZOpPwD0UABNBaEAaPYACBVCZ5Ik14vlg5ClVjFpC0NZ6lplGa0nxN2gSZkg2vtB9FOmKDUNCyemcTStMXXcpmh4yGUl5ToAORMOaGiflhtkoRKCfq41yTw+GFsHKeeIRUfwwbwKOo/eIATi3GQNivREVxyIZsqeADL1+swuvZEiAJ4UmsEUsVEODRAnNp2iulzekrVAbyJLPrYctJTJ7nGQjI7uMULXBIBjIyQWUWLeAGik0E39sQGKYU0QMmp1vGnADSjj0EFtk5uOjuKzOtgok8r34rxasMzEjDFhjdDJNsE7u2VXh9oYDgNllp/n8IgfzJbwXhq9zlRu5soZWtFFl/Zy8SkaljK0R6inJTEinLQo5aSFE889kkqUWvsCdM37ZcnHYnrNBhably5QyoJDtFuJK1xMF3mHgVlkHM2e4eYB02Xxfts/NwXBuSMWLIG7sTmbb/+Hzj3fy1wuQD6N3DMX5/g0VHDDQ3aXAR4jXsEb5/co9fbLN2KdlJbO/zmM5a0qH+KukXxOnfzoO5GmTr5M7mOoktP4xrfUyffIvQ118pNBiTvq5AeDxNV//W+CFX4Doxg1lHC8FNUAAAAASUVORK5CYII=); background-size: 30px 30px; } #epiceditor-utilbar button.epiceditor-fullscreen-btn { background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAMAAAANIilAAAAA5FBMVEWPj4+JiYmJiYmCgoKGhoaPj4+Li4uEhISAgICNjY2Li4uNjY2QkJCFhYWEhISLi4uHh4eHh4eIiIiHh4eGhoaHh4eEhISOjo6EhISJiYmFhYWJiYmFhYWNjY2NjY2Hh4eOjo6CgoKGhoaKioqKioqJiYmKioqDg4ODg4OBgYGGhoaKioqKioqLi4uMjIyMjIyIiIiIiIiMjIyOjo6GhoaDg4ONjY2EhISPj4+CgoIAAACJiYmHh4eIiIiFhYWCgoKPj4+Li4uAgICKioqEhISGhoaBgYGOjo6MjIyQkJCNjY2Dg4O2Jy/OAAAAO3RSTlMQz0DPEHDPz0DvMDBAQBBAQBAQz88wMM/v7zAw788Q7xAQQM9AEBDPEEAwMO/v7zDvMEBA70BAQEBAAAENmbYAAAG1SURBVHja7dftM0JREMdxD5GkEEqKpBJRSc8rQq7Q////2Dnm3t85jtkTmmGG75t7Z3c/t9fN0Tf6x1/Dz0ZrZGZf/BJ8a9QjM/vCwks9Px5aBcslC+P3nPVmi8dcczrcHHM2flug1CHRYcoYNd0YFlrAL1yHqPOC9g9IdbAfjHAjYFjoT+FI1MfRiAM/cZdEl0+oVidVvRaMcAOMgJWGBUYSVhrWjdfvjKqrq1Vzsu7Cy1Vo7XXZhYuj0ahwfHY+sjo/Oy7woyhitkTQsESsZawstG6VlvDCfIlUmfSVVjpDqtL8goBLbKFhsRcwalxcB100CDkxLLQbJxKwpvb3At7Y2iRuJzd4V26HuM2tDQkPWMOamu1Awkeetx2qtDy/lvZaCW173pGIWetA/xBbF+ZgiVgjGcdutLJ7xO1l9VnMiWGhJdzl4vx4CNpN+ifJXUy7RPEuZ2C1AIY1NG5kHI4Dx8MynnBtovYkqHzi25OyP8ONiKFh3djQsCIecn2i/lBvMU+UXxwi3HyE832jvD0RsLuP8CN3Oh0+feRmixE+g7CdLb43WiEz++Jb+M//x/gB/ArCl0G4nsFuEQAAAABJRU5ErkJggg==); background-size: 30px 30px; } } #epiceditor-utilbar button:last-child { margin-left:15px; } #epiceditor-utilbar button:hover { cursor:pointer; } .epiceditor-edit-mode #epiceditor-utilbar button.epiceditor-toggle-edit-btn { display:none; } .epiceditor-preview-mode #epiceditor-utilbar button.epiceditor-toggle-preview-btn { display:none; } webcit-9.01-dfsg/epic/themes/editor/000077500000000000000000000000001254743150300173405ustar00rootroot00000000000000webcit-9.01-dfsg/epic/themes/editor/epic-dark.css000066400000000000000000000003011254743150300217030ustar00rootroot00000000000000html { padding:10px; } body { border:0; background:rgb(41,41,41); font-family:monospace; font-size:14px; padding:10px; color:#ddd; line-height:1.35em; margin:0; padding:0; } webcit-9.01-dfsg/epic/themes/editor/epic-light.css000066400000000000000000000002551254743150300221010ustar00rootroot00000000000000html { padding:10px; } body { border:0; background:#fcfcfc; font-family:monospace; font-size:14px; padding:10px; line-height:1.35em; margin:0; padding:0; } webcit-9.01-dfsg/epic/themes/preview/000077500000000000000000000000001254743150300175335ustar00rootroot00000000000000webcit-9.01-dfsg/epic/themes/preview/bartik.css000066400000000000000000000042121254743150300215200ustar00rootroot00000000000000body { font-family: Georgia, "Times New Roman", Times, serif; line-height: 1.5; font-size: 87.5%; word-wrap: break-word; margin: 2em; padding: 0; border: 0; outline: 0; background: #fff; } h1, h2, h3, h4, h5, h6 { margin: 1.0em 0 0.5em; font-weight: inherit; } h1 { font-size: 1.357em; color: #000; } h2 { font-size: 1.143em; } p { margin: 0 0 1.2em; } del { text-decoration: line-through; } tr:nth-child(odd) { background-color: #dddddd; } img { outline: 0; } code { background-color: #f2f2f2; background-color: rgba(40, 40, 0, 0.06); } pre { background-color: #f2f2f2; background-color: rgba(40, 40, 0, 0.06); margin: 10px 0; overflow: hidden; padding: 15px; white-space: pre-wrap; } pre code { font-size: 100%; background-color: transparent; } blockquote { background: #f7f7f7; border-left: 1px solid #bbb; font-style: italic; margin: 1.5em 10px; padding: 0.5em 10px; } blockquote:before { color: #bbb; content: "\201C"; font-size: 3em; line-height: 0.1em; margin-right: 0.2em; vertical-align: -.4em; } blockquote:after { color: #bbb; content: "\201D"; font-size: 3em; line-height: 0.1em; vertical-align: -.45em; } blockquote > p:first-child { display: inline; } table { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; border: 0; border-spacing: 0; font-size: 0.857em; margin: 10px 0; width: 100%; } table table { font-size: 1em; } table tr th { background: #757575; background: rgba(0, 0, 0, 0.51); border-bottom-style: none; } table tr th, table tr th a, table tr th a:hover { color: #FFF; font-weight: bold; } table tbody tr th { vertical-align: top; } tr td, tr th { padding: 4px 9px; border: 1px solid #fff; text-align: left; /* LTR */ } tr:nth-child(odd) { background: #e4e4e4; background: rgba(0, 0, 0, 0.105); } tr, tr:nth-child(even) { background: #efefef; background: rgba(0, 0, 0, 0.063); } a { color: #0071B3; } a:hover, a:focus { color: #018fe2; } a:active { color: #23aeff; } a:link, a:visited { text-decoration: none; } a:hover, a:active, a:focus { text-decoration: underline; } webcit-9.01-dfsg/epic/themes/preview/github.css000066400000000000000000000137631254743150300215410ustar00rootroot00000000000000html { padding:0 10px; } body { margin:0; padding:0; background:#fff; } #epiceditor-wrapper{ background:white; } #epiceditor-preview{ padding-top:10px; padding-bottom:10px; font-family: Helvetica,arial,freesans,clean,sans-serif; font-size:13px; line-height:1.6; } #epiceditor-preview>*:first-child{ margin-top:0!important; } #epiceditor-preview>*:last-child{ margin-bottom:0!important; } #epiceditor-preview a{ color:#4183C4; text-decoration:none; } #epiceditor-preview a:hover{ text-decoration:underline; } #epiceditor-preview h1, #epiceditor-preview h2, #epiceditor-preview h3, #epiceditor-preview h4, #epiceditor-preview h5, #epiceditor-preview h6{ margin:20px 0 10px; padding:0; font-weight:bold; -webkit-font-smoothing:antialiased; } #epiceditor-preview h1 tt, #epiceditor-preview h1 code, #epiceditor-preview h2 tt, #epiceditor-preview h2 code, #epiceditor-preview h3 tt, #epiceditor-preview h3 code, #epiceditor-preview h4 tt, #epiceditor-preview h4 code, #epiceditor-preview h5 tt, #epiceditor-preview h5 code, #epiceditor-preview h6 tt, #epiceditor-preview h6 code{ font-size:inherit; } #epiceditor-preview h1{ font-size:28px; color:#000; } #epiceditor-preview h2{ font-size:24px; border-bottom:1px solid #ccc; color:#000; } #epiceditor-preview h3{ font-size:18px; } #epiceditor-preview h4{ font-size:16px; } #epiceditor-preview h5{ font-size:14px; } #epiceditor-preview h6{ color:#777; font-size:14px; } #epiceditor-preview p, #epiceditor-preview blockquote, #epiceditor-preview ul, #epiceditor-preview ol, #epiceditor-preview dl, #epiceditor-preview li, #epiceditor-preview table, #epiceditor-preview pre{ margin:15px 0; } #epiceditor-preview hr{ background:transparent url('../../images/modules/pulls/dirty-shade.png') repeat-x 0 0; border:0 none; color:#ccc; height:4px; padding:0; } #epiceditor-preview>h2:first-child, #epiceditor-preview>h1:first-child, #epiceditor-preview>h1:first-child+h2, #epiceditor-preview>h3:first-child, #epiceditor-preview>h4:first-child, #epiceditor-preview>h5:first-child, #epiceditor-preview>h6:first-child{ margin-top:0; padding-top:0; } #epiceditor-preview h1+p, #epiceditor-preview h2+p, #epiceditor-preview h3+p, #epiceditor-preview h4+p, #epiceditor-preview h5+p, #epiceditor-preview h6+p{ margin-top:0; } #epiceditor-preview li p.first{ display:inline-block; } #epiceditor-preview ul, #epiceditor-preview ol{ padding-left:30px; } #epiceditor-preview ul li>:first-child, #epiceditor-preview ol li>:first-child{ margin-top:0; } #epiceditor-preview ul li>:last-child, #epiceditor-preview ol li>:last-child{ margin-bottom:0; } #epiceditor-preview dl{ padding:0; } #epiceditor-preview dl dt{ font-size:14px; font-weight:bold; font-style:italic; padding:0; margin:15px 0 5px; } #epiceditor-preview dl dt:first-child{ padding:0; } #epiceditor-preview dl dt>:first-child{ margin-top:0; } #epiceditor-preview dl dt>:last-child{ margin-bottom:0; } #epiceditor-preview dl dd{ margin:0 0 15px; padding:0 15px; } #epiceditor-preview dl dd>:first-child{ margin-top:0; } #epiceditor-preview dl dd>:last-child{ margin-bottom:0; } #epiceditor-preview blockquote{ border-left:4px solid #DDD; padding:0 15px; color:#777; } #epiceditor-preview blockquote>:first-child{ margin-top:0; } #epiceditor-preview blockquote>:last-child{ margin-bottom:0; } #epiceditor-preview table{ padding:0; border-collapse: collapse; border-spacing: 0; font-size: 100%; font: inherit; } #epiceditor-preview table tr{ border-top:1px solid #ccc; background-color:#fff; margin:0; padding:0; } #epiceditor-preview table tr:nth-child(2n){ background-color:#f8f8f8; } #epiceditor-preview table tr th{ font-weight:bold; } #epiceditor-preview table tr th, #epiceditor-preview table tr td{ border:1px solid #ccc; text-align:left; margin:0; padding:6px 13px; } #epiceditor-preview table tr th>:first-child, #epiceditor-preview table tr td>:first-child{ margin-top:0; } #epiceditor-preview table tr th>:last-child, #epiceditor-preview table tr td>:last-child{ margin-bottom:0; } #epiceditor-preview img{ max-width:100%; } #epiceditor-preview span.frame{ display:block; overflow:hidden; } #epiceditor-preview span.frame>span{ border:1px solid #ddd; display:block; float:left; overflow:hidden; margin:13px 0 0; padding:7px; width:auto; } #epiceditor-preview span.frame span img{ display:block; float:left; } #epiceditor-preview span.frame span span{ clear:both; color:#333; display:block; padding:5px 0 0; } #epiceditor-preview span.align-center{ display:block; overflow:hidden; clear:both; } #epiceditor-preview span.align-center>span{ display:block; overflow:hidden; margin:13px auto 0; text-align:center; } #epiceditor-preview span.align-center span img{ margin:0 auto; text-align:center; } #epiceditor-preview span.align-right{ display:block; overflow:hidden; clear:both; } #epiceditor-preview span.align-right>span{ display:block; overflow:hidden; margin:13px 0 0; text-align:right; } #epiceditor-preview span.align-right span img{ margin:0; text-align:right; } #epiceditor-preview span.float-left{ display:block; margin-right:13px; overflow:hidden; float:left; } #epiceditor-preview span.float-left span{ margin:13px 0 0; } #epiceditor-preview span.float-right{ display:block; margin-left:13px; overflow:hidden; float:right; } #epiceditor-preview span.float-right>span{ display:block; overflow:hidden; margin:13px auto 0; text-align:right; } #epiceditor-preview code, #epiceditor-preview tt{ margin:0 2px; padding:0 5px; white-space:nowrap; border:1px solid #eaeaea; background-color:#f8f8f8; border-radius:3px; } #epiceditor-preview pre>code{ margin:0; padding:0; white-space:pre; border:none; background:transparent; } #epiceditor-preview .highlight pre, #epiceditor-preview pre{ background-color:#f8f8f8; border:1px solid #ccc; font-size:13px; line-height:19px; overflow:auto; padding:6px 10px; border-radius:3px; } #epiceditor-preview pre code, #epiceditor-preview pre tt{ background-color:transparent; border:none; } webcit-9.01-dfsg/epic/themes/preview/preview-dark.css000066400000000000000000000046261254743150300226550ustar00rootroot00000000000000html { padding:0 10px; } body { margin:0; padding:10px 0; background:#000; } #epiceditor-preview h1, #epiceditor-preview h2, #epiceditor-preview h3, #epiceditor-preview h4, #epiceditor-preview h5, #epiceditor-preview h6, #epiceditor-preview p, #epiceditor-preview blockquote { margin: 0; padding: 0; } #epiceditor-preview { background:#000; font-family: "Helvetica Neue", Helvetica, "Hiragino Sans GB", Arial, sans-serif; font-size: 13px; line-height: 18px; color: #ccc; } #epiceditor-preview a { color: #fff; } #epiceditor-preview a:hover { color: #00ff00; text-decoration: none; } #epiceditor-preview a img { border: none; } #epiceditor-preview p { margin-bottom: 9px; } #epiceditor-preview h1, #epiceditor-preview h2, #epiceditor-preview h3, #epiceditor-preview h4, #epiceditor-preview h5, #epiceditor-preview h6 { color: #cdcdcd; line-height: 36px; } #epiceditor-preview h1 { margin-bottom: 18px; font-size: 30px; } #epiceditor-preview h2 { font-size: 24px; } #epiceditor-preview h3 { font-size: 18px; } #epiceditor-preview h4 { font-size: 16px; } #epiceditor-preview h5 { font-size: 14px; } #epiceditor-preview h6 { font-size: 13px; } #epiceditor-preview hr { margin: 0 0 19px; border: 0; border-bottom: 1px solid #ccc; } #epiceditor-preview blockquote { padding: 13px 13px 21px 15px; margin-bottom: 18px; font-family:georgia,serif; font-style: italic; } #epiceditor-preview blockquote:before { content:"\201C"; font-size:40px; margin-left:-10px; font-family:georgia,serif; color:#eee; } #epiceditor-preview blockquote p { font-size: 14px; font-weight: 300; line-height: 18px; margin-bottom: 0; font-style: italic; } #epiceditor-preview code, #epiceditor-preview pre { font-family: Monaco, Andale Mono, Courier New, monospace; } #epiceditor-preview code { background-color: #000; color: #f92672; padding: 1px 3px; font-size: 12px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; } #epiceditor-preview pre { display: block; padding: 14px; color:#66d9ef; margin: 0 0 18px; line-height: 16px; font-size: 11px; border: 1px solid #d9d9d9; white-space: pre-wrap; word-wrap: break-word; } #epiceditor-preview pre code { background-color: #000; color:#ccc; font-size: 11px; padding: 0; } webcit-9.01-dfsg/event.c000066400000000000000000001044761254743150300151460ustar00rootroot00000000000000/* * Editing calendar events. * * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" #include "calendar.h" /* * Display an event by itself (for editing) * supplied_vevent the event to edit * msgnum reference on the citserver */ void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum, char *from, int unread, calview *calv) { wcsession *WCC = WC; icalcomponent *vevent; icalproperty *p; icalvalue *v; struct icaltimetype t_start, t_end; time_t now; struct tm tm_now; int created_new_vevent = 0; icalproperty *organizer = NULL; char organizer_string[SIZ]; icalproperty *attendee = NULL; char attendee_string[SIZ]; char buf[SIZ]; int organizer_is_me = 0; int i, j = 0; /************************************************************ * Uncomment this to see the UID in calendar events for debugging int sequence = 0; */ char weekday_labels[7][32]; char month_labels[12][32]; long weekstart = 0; icalproperty *rrule = NULL; struct icalrecurrencetype recur; char weekday_is_selected[7]; int which_rrmonthtype_is_preselected = 0; int rrmday; int rrmweekday; icaltimetype day1; int weekbase; int rrmweek; int rrymweek; int rrymweekday; int rrymonth; int which_rrend_is_preselected; int which_rryeartype_is_preselected; const char *ch; char *tabnames[3]; const char *frequency_units[8]; const char *ordinals[6]; frequency_units[0] = _("seconds"); frequency_units[1] = _("minutes"); frequency_units[2] = _("hours"); frequency_units[3] = _("days"); frequency_units[4] = _("weeks"); frequency_units[5] = _("months"); frequency_units[6] = _("years"); frequency_units[7] = _("never"); ordinals[0] = "0"; ordinals[1] = _("first"); ordinals[2] = _("second"); ordinals[3] = _("third"); ordinals[4] = _("fourth"); ordinals[5] = _("fifth"); tabnames[0] = _("Event"); tabnames[1] = _("Attendees"); tabnames[2] = _("Recurrence"); get_pref_long("weekstart", &weekstart, 17); if (weekstart > 6) weekstart = 0; syslog(LOG_DEBUG, "display_edit_individual_event(%ld) calview=%s year=%s month=%s day=%s\n", msgnum, bstr("calview"), bstr("year"), bstr("month"), bstr("day") ); /* populate the weekday names - begin */ now = time(NULL); localtime_r(&now, &tm_now); while (tm_now.tm_wday != 0) { now -= 86400L; localtime_r(&now, &tm_now); } for (i=0; i<7; ++i) { localtime_r(&now, &tm_now); wc_strftime(weekday_labels[i], 32, "%A", &tm_now); now += 86400L; } /* populate the weekday names - end */ /* populate the month names - begin */ now = 259200L; /* 1970-jan-04 is the first Sunday ever */ localtime_r(&now, &tm_now); for (i=0; i<12; ++i) { localtime_r(&now, &tm_now); wc_strftime(month_labels[i], 32, "%B", &tm_now); now += 2678400L; } /* populate the month names - end */ now = time(NULL); strcpy(organizer_string, ""); strcpy(attendee_string, ""); if (supplied_vevent != NULL) { vevent = supplied_vevent; /* Convert all timestamps to UTC to make them easier to process. */ ical_dezonify(vevent); /* * If we're looking at a fully encapsulated VCALENDAR * rather than a VEVENT component, attempt to use the first * relevant VEVENT subcomponent. If there is none, the * NULL returned by icalcomponent_get_first_component() will * tell the next iteration of this function to create a * new one. */ if (icalcomponent_isa(vevent) == ICAL_VCALENDAR_COMPONENT) { display_edit_individual_event( icalcomponent_get_first_component( vevent, ICAL_VEVENT_COMPONENT), msgnum, from, unread, NULL ); return; } } else { vevent = icalcomponent_new(ICAL_VEVENT_COMPONENT); created_new_vevent = 1; } /* Learn the sequence */ p = icalcomponent_get_first_property(vevent, ICAL_SEQUENCE_PROPERTY); /************************************************************ * Uncomment this to see the UID in calendar events for debugging if (p != NULL) { sequence = icalproperty_get_sequence(p); } */ /* Begin output */ output_headers(1, 1, 1, 0, 0, 0); wc_printf("
    \n"); wc_printf("

    "); wc_printf(_("Add or edit an event")); wc_printf("

    "); wc_printf("
    \n"); wc_printf("
    \n"); /************************************************************ * Uncomment this to see the UID in calendar events for debugging wc_printf("UID == "); p = icalcomponent_get_first_property(vevent, ICAL_UID_PROPERTY); if (p != NULL) { escputs((char *)icalproperty_get_comment(p)); } wc_printf("
    \n"); wc_printf("SEQUENCE == %d
    \n", sequence); *************************************************************/ wc_printf("
    \n"); wc_printf("\n", WC->nonce); wc_printf("WBuf, WCC->CurRoom.name, NULL, 0, 0); wc_printf("\">\n"); wc_printf("\n", msgnum); wc_printf("\n", bstr("calview")); wc_printf("\n", bstr("year")); wc_printf("\n", bstr("month")); wc_printf("\n", bstr("day")); tabbed_dialog(3, tabnames); begin_tab(0, 3); /* Put it in a borderless table so it lines up nicely */ wc_printf("\n"); wc_printf("\n"); wc_printf("\n"); wc_printf("\n"); wc_printf("\n"); wc_printf(""); /* * For a new event, the user creating the event should be the * organizer. Set this field accordingly. */ if (icalcomponent_get_first_property(vevent, ICAL_ORGANIZER_PROPERTY) == NULL) { sprintf(organizer_string, "mailto:%s", ChrPtr(WC->cs_inet_email)); icalcomponent_add_property(vevent, icalproperty_new_organizer(organizer_string) ); } /* * Determine who is the organizer of this event. * We need to determine "me" or "not me." */ organizer = icalcomponent_get_first_property(vevent, ICAL_ORGANIZER_PROPERTY); if (organizer != NULL) { strcpy(organizer_string, icalproperty_get_organizer(organizer)); if (!strncasecmp(organizer_string, "mailto:", 7)) { strcpy(organizer_string, &organizer_string[7]); striplt(organizer_string); serv_printf("ISME %s", organizer_string); serv_getln(buf, sizeof buf); if (buf[0] == '2') { organizer_is_me = 1; } } } wc_printf("\n"); /* Transparency */ wc_printf("\n"); /* Done with properties. */ wc_printf("
    "); wc_printf(_("Summary")); wc_printf("\n" "
    "); wc_printf(_("Location")); wc_printf("\n" "
    "); wc_printf(_("Start")); wc_printf("\n"); p = icalcomponent_get_first_property(vevent, ICAL_DTSTART_PROPERTY); if (p != NULL) { t_start = icalproperty_get_dtstart(p); if (t_start.is_date) { t_start.hour = 0; t_start.minute = 0; t_start.second = 0; } } else { localtime_r(&now, &tm_now); if (havebstr("year")) { tm_now.tm_year = ibstr("year") - 1900; tm_now.tm_mon = ibstr("month") - 1; tm_now.tm_mday = ibstr("day"); } if (havebstr("hour")) { tm_now.tm_hour = ibstr("hour"); tm_now.tm_min = ibstr("minute"); tm_now.tm_sec = 0; } else { tm_now.tm_hour = 0; tm_now.tm_min = 0; tm_now.tm_sec = 0; } t_start = icaltime_from_timet_with_zone( mktime(&tm_now), ((yesbstr("alldayevent")) ? 1 : 0), icaltimezone_get_utc_timezone() ); t_start.is_utc = 1; } display_icaltimetype_as_webform(&t_start, "dtstart", 0); wc_printf("%s", (t_start.is_date ? "checked=\"checked\"" : "" ), _("All day event") ); wc_printf("
    "); wc_printf(_("End")); wc_printf("\n"); p = icalcomponent_get_first_property(vevent, ICAL_DTEND_PROPERTY); if (p != NULL) { t_end = icalproperty_get_dtend(p); /* * If this is an all-day-event, the end time is set to real end * day + 1, so we have to adjust accordingly. */ if (t_start.is_date) { icaltime_adjust(&t_end, -1, 0, 0, 0); } } else { if (created_new_vevent == 1) { /* set default duration */ if (t_start.is_date) { /* * If this is an all-day-event, set the end time to be identical to * the start time (the hour/minute/second will be set to midnight). */ t_end = t_start; } else { /* * If this is not an all-day event and there is no * end time specified, make the default one hour * from the start time. */ t_end = t_start; t_end.hour += 1; t_end.second = 0; t_end = icaltime_normalize(t_end); /* t_end = icaltime_from_timet(now, 0); */ } } else { /* * If an existing event has no end date/time this is * supposed to mean end = start. */ t_end = t_start; } } display_icaltimetype_as_webform(&t_end, "dtend", 0); wc_printf("
    "); wc_printf(_("Notes")); wc_printf("\n" "
    "); wc_printf(_("Organizer")); wc_printf(""); escputs(organizer_string); if (organizer_is_me) { wc_printf(" "); wc_printf(_("(you are the organizer)")); wc_printf("\n"); } /* * Transmit the organizer as a hidden field. We don't want the user * to be able to change it, but we do want it fed back to the server, * especially if this is a new event and there is no organizer already * in the calendar object. */ wc_printf(""); wc_printf("
    "); wc_printf(_("Show time as:")); wc_printf(""); p = icalcomponent_get_first_property(vevent, ICAL_TRANSP_PROPERTY); if (p == NULL) { /* No transparency found. Default to opaque (busy). */ p = icalproperty_new_transp(ICAL_TRANSP_OPAQUE); if (p != NULL) { icalcomponent_add_property(vevent, p); } } if (p != NULL) { v = icalproperty_get_value(p); } else { v = NULL; } wc_printf(""); wc_printf(_("Free")); wc_printf("  "); wc_printf(""); wc_printf(_("Busy")); wc_printf("
    \n"); end_tab(0, 3); /* Attendees tab (need to move things here) */ begin_tab(1, 3); wc_printf("\n"); /* same table style as the event tab */ wc_printf("\n"); wc_printf("
    "); wc_printf(_("Attendees")); wc_printf("
    " ""); wc_printf(_("(One per line)")); wc_printf("\n"); /* Pop open an address book -- begin */ wc_printf( " " "" "", _("Attendees"), _("Contacts") ); /* Pop open an address book -- end */ wc_printf("
    " "
    \n"); end_tab(1, 3); /* Recurrence tab */ begin_tab(2, 3); rrule = icalcomponent_get_first_property(vevent, ICAL_RRULE_PROPERTY); if (rrule) { recur = icalproperty_get_rrule(rrule); } else { /* blank recurrence with some sensible defaults */ memset(&recur, 0, sizeof(struct icalrecurrencetype)); recur.count = 3; recur.until = icaltime_null_time(); recur.interval = 1; recur.freq = ICAL_WEEKLY_RECURRENCE; } wc_printf("%s", (rrule ? "checked=\"checked\"" : "" ), _("This is a recurring event") ); wc_printf("
    \n"); /* begin 'rrule_div' div */ wc_printf("\n"); wc_printf("\n"); which_rrend_is_preselected = 0; if (!icaltime_is_null_time(recur.until)) which_rrend_is_preselected = 2; if (recur.count > 0) which_rrend_is_preselected = 1; wc_printf("\n"); wc_printf("
    "); wc_printf(_("Recurrence rule")); wc_printf(""); if ((recur.freq < 0) || (recur.freq > 6)) recur.freq = 4; wc_printf("%s ", _("Repeats every")); wc_printf(" ", recur.interval); wc_printf("\n"); wc_printf("
    "); /* begin 'weekday_selector' div */ wc_printf("%s
    ", _("on these weekdays:")); memset(weekday_is_selected, 0, 7); for (i=0; i%s\n", weekday_labels[i]); } wc_printf("
    \n"); /* end 'weekday_selector' div */ wc_printf("
    "); /* begin 'monthday_selector' div */ wc_printf("", ((which_rrmonthtype_is_preselected == 0) ? "checked='checked'" : "") ); rrmday = t_start.day; rrmweekday = icaltime_day_of_week(t_start) - 1; /* Figure out what week of the month we're in */ day1 = t_start; day1.day = 1; weekbase = icaltime_week_number(day1); rrmweek = icaltime_week_number(t_start) - weekbase + 1; /* Are we going by day of the month or week/day? */ if (recur.by_month_day[0] != ICAL_RECURRENCE_ARRAY_MAX) { which_rrmonthtype_is_preselected = 0; rrmday = recur.by_month_day[0]; } else if (recur.by_day[0] != ICAL_RECURRENCE_ARRAY_MAX) { which_rrmonthtype_is_preselected = 1; rrmweek = icalrecurrencetype_day_position(recur.by_day[0]); rrmweekday = icalrecurrencetype_day_day_of_week(recur.by_day[0]) - 1; } wc_printf(_("on day %s%d%s of the month"), "", rrmday, ""); wc_printf("
    \n"); wc_printf("", ((which_rrmonthtype_is_preselected == 1) ? "checked='checked'" : "") ); wc_printf(_("on the ")); wc_printf(" \n"); wc_printf(""); wc_printf(" %s
    \n", _("of the month")); wc_printf("
    \n"); /* end 'monthday_selector' div */ rrymweek = rrmweek; rrymweekday = rrmweekday; rrymonth = t_start.month; which_rryeartype_is_preselected = 0; if ( (recur.by_day[0] != ICAL_RECURRENCE_ARRAY_MAX) && (recur.by_day[0] != 0) && (recur.by_month[0] != ICAL_RECURRENCE_ARRAY_MAX) && (recur.by_month[0] != 0) ) { which_rryeartype_is_preselected = 1; rrymweek = icalrecurrencetype_day_position(recur.by_day[0]); rrymweekday = icalrecurrencetype_day_day_of_week(recur.by_day[0]) - 1; rrymonth = recur.by_month[0]; } wc_printf("
    "); /* begin 'yearday_selector' div */ wc_printf("", ((which_rryeartype_is_preselected == 0) ? "checked='checked'" : "") ); wc_printf(_("every ")); wc_printf("%s
    ", _("year on this date")); wc_printf("", ((which_rryeartype_is_preselected == 1) ? "checked='checked'" : "") ); wc_printf(_("on the ")); wc_printf(" \n"); wc_printf(""); wc_printf(" %s ", _("of")); wc_printf(""); wc_printf("
    \n"); wc_printf("
    \n"); /* end 'yearday_selector' div */ wc_printf("
    "); wc_printf(_("Recurrence range")); wc_printf("\n"); wc_printf("", ((which_rrend_is_preselected == 0) ? "checked='checked'" : "") ); wc_printf("%s
    \n", _("No ending date")); wc_printf("", ((which_rrend_is_preselected == 1) ? "checked='checked'" : "") ); wc_printf(_("Repeat this event")); wc_printf(" ", recur.count); wc_printf(_("times")); wc_printf("
    \n"); wc_printf("", ((which_rrend_is_preselected == 2) ? "checked='checked'" : "") ); wc_printf(_("Repeat this event until ")); if (icaltime_is_null_time(recur.until)) { recur.until = icaltime_add(t_start, icaldurationtype_from_int(604800)); } display_icaltimetype_as_webform(&recur.until, "rruntil", 1); wc_printf("
    \n"); wc_printf("
    \n"); wc_printf("
    \n"); /* end 'rrule' div */ end_tab(2, 3); /* submit buttons (common area beneath the tabs) */ begin_tab(3, 3); wc_printf("
    " "" "  " "\n" "  " "\n" "  " "\n" "
    \n", _("Save"), _("Delete"), _("Check attendee availability"), _("Cancel") ); end_tab(3, 3); wc_printf("
    \n"); StrBufAppendPrintf(WC->trailing_javascript, "eventEditAllDay(); \n" "RecurrenceShowHide(); \n" "EnableOrDisableCheckButton(); \n" ); do_template("addressbook_popup"); wDumpContent(1); if (created_new_vevent) { icalcomponent_free(vevent); } } /* * Save an edited event * * supplied_vevent: the event to save * msgnum: the index on the citserver */ void save_individual_event(icalcomponent *supplied_vevent, long msgnum, char *from, int unread, calview *calv) { StrBuf *Buf; char buf[SIZ]; icalproperty *prop; icalcomponent *vevent, *encaps; int created_new_vevent = 0; int all_day_event = 0; struct icaltimetype event_start, t; icalproperty *attendee = NULL; char attendee_string[SIZ]; int i, j; int foundit; char form_attendees[SIZ]; char organizer_string[SIZ]; int sequence = 0; enum icalproperty_transp formtransp = ICAL_TRANSP_NONE; const char *ch; if (supplied_vevent != NULL) { vevent = supplied_vevent; /* Convert all timestamps to UTC to make them easier to process. */ ical_dezonify(vevent); /* * If we're looking at a fully encapsulated VCALENDAR * rather than a VEVENT component, attempt to use the first * relevant VEVENT subcomponent. If there is none, the * NULL returned by icalcomponent_get_first_component() will * tell the next iteration of this function to create a * new one. */ if (icalcomponent_isa(vevent) == ICAL_VCALENDAR_COMPONENT) { save_individual_event( icalcomponent_get_first_component( vevent, ICAL_VEVENT_COMPONENT), msgnum, from, unread, NULL ); return; } } else { vevent = icalcomponent_new(ICAL_VEVENT_COMPONENT); created_new_vevent = 1; } if ( (havebstr("save_button")) || (havebstr("check_button")) ) { /* Replace values in the component with ones from the form */ while (prop = icalcomponent_get_first_property(vevent, ICAL_SUMMARY_PROPERTY), prop != NULL) { icalcomponent_remove_property(vevent, prop); icalproperty_free(prop); } /* Add NOW() to the calendar object... */ icalcomponent_set_dtstamp(vevent, icaltime_from_timet( time(NULL), 0)); if (havebstr("summary")) { icalcomponent_add_property(vevent, icalproperty_new_summary(bstr("summary"))); } else { icalcomponent_add_property(vevent, icalproperty_new_summary(_("Untitled Event"))); } while (prop = icalcomponent_get_first_property(vevent, ICAL_LOCATION_PROPERTY), prop != NULL) { icalcomponent_remove_property(vevent, prop); icalproperty_free(prop); } if (havebstr("location")) { icalcomponent_add_property(vevent, icalproperty_new_location(bstr("location"))); } while (prop = icalcomponent_get_first_property(vevent, ICAL_DESCRIPTION_PROPERTY), prop != NULL) { icalcomponent_remove_property(vevent, prop); icalproperty_free(prop); } if (havebstr("description")) { icalcomponent_add_property(vevent, icalproperty_new_description(bstr("description"))); } while (prop = icalcomponent_get_first_property(vevent, ICAL_DTSTART_PROPERTY), prop != NULL) { icalcomponent_remove_property(vevent, prop); icalproperty_free(prop); } if (yesbstr("alldayevent")) { all_day_event = 1; } else { all_day_event = 0; } if (all_day_event) { icaltime_from_webform_dateonly(&event_start, "dtstart"); } else { icaltime_from_webform(&event_start, "dtstart"); } prop = icalproperty_new_dtstart(event_start); if (all_day_event) { /* Force it to serialize as a date-only rather than date/time */ icalproperty_set_value(prop, icalvalue_new_date(event_start)); } if (prop) icalcomponent_add_property(vevent, prop); else icalproperty_free(prop); while (prop = icalcomponent_get_first_property(vevent, ICAL_DTEND_PROPERTY), prop != NULL) { icalcomponent_remove_property(vevent, prop); icalproperty_free(prop); } while (prop = icalcomponent_get_first_property(vevent, ICAL_DURATION_PROPERTY), prop != NULL) { icalcomponent_remove_property(vevent, prop); icalproperty_free(prop); } if (all_day_event) { icaltime_from_webform_dateonly(&t, "dtend"); /* with this field supposed to be non-inclusive we have to add one day */ icaltime_adjust(&t, 1, 0, 0, 0); } else { icaltime_from_webform(&t, "dtend"); } icalcomponent_add_property(vevent, icalproperty_new_dtend(icaltime_normalize(t) ) ); /* recurrence rules -- begin */ /* remove any existing rule */ while (prop = icalcomponent_get_first_property(vevent, ICAL_RRULE_PROPERTY), prop != NULL) { icalcomponent_remove_property(vevent, prop); icalproperty_free(prop); } if (yesbstr("is_recur")) { struct icalrecurrencetype recur; icalrecurrencetype_clear(&recur); recur.interval = atoi(bstr("interval")); recur.freq = atoi(bstr("freq")); switch(recur.freq) { /* These can't happen; they're disabled. */ case ICAL_SECONDLY_RECURRENCE: break; case ICAL_MINUTELY_RECURRENCE: break; case ICAL_HOURLY_RECURRENCE: break; /* Daily is valid but there are no further inputs. */ case ICAL_DAILY_RECURRENCE: break; /* These are the real options. */ case ICAL_WEEKLY_RECURRENCE: j=0; for (i=0; i<7; ++i) { snprintf(buf, sizeof buf, "weekday%d", i); if (YESBSTR(buf)) recur.by_day[j++] = icalrecurrencetype_day_day_of_week(i+1); } recur.by_day[j++] = ICAL_RECURRENCE_ARRAY_MAX; break; case ICAL_MONTHLY_RECURRENCE: if (!strcasecmp(bstr("rrmonthtype"), "rrmonthtype_mday")) { recur.by_month_day[0] = event_start.day; recur.by_month_day[1] = ICAL_RECURRENCE_ARRAY_MAX; } else if (!strcasecmp(bstr("rrmonthtype"), "rrmonthtype_wday")) { recur.by_day[0] = (atoi(bstr("rrmweek")) * 8) + atoi(bstr("rrmweekday")) + 1; recur.by_day[1] = ICAL_RECURRENCE_ARRAY_MAX; } break; case ICAL_YEARLY_RECURRENCE: if (!strcasecmp(bstr("rryeartype"), "rryeartype_ymday")) { /* no further action is needed here */ } else if (!strcasecmp(bstr("rryeartype"), "rryeartype_ywday")) { recur.by_month[0] = atoi(bstr("rrymonth")); recur.by_month[1] = ICAL_RECURRENCE_ARRAY_MAX; recur.by_day[0] = (atoi(bstr("rrymweek")) * 8) + atoi(bstr("rrymweekday")) + 1; recur.by_day[1] = ICAL_RECURRENCE_ARRAY_MAX; } break; /* This one can't happen either. */ case ICAL_NO_RECURRENCE: break; } if (!strcasecmp(bstr("rrend"), "rrend_count")) { recur.count = atoi(bstr("rrcount")); } else if (!strcasecmp(bstr("rrend"), "rrend_until")) { icaltime_from_webform_dateonly(&recur.until, "rruntil"); } icalcomponent_add_property(vevent, icalproperty_new_rrule(recur)); } /* recurrence rules -- end */ /* See if transparency is indicated */ if (havebstr("transp")) { if (!strcasecmp(bstr("transp"), "opaque")) { formtransp = ICAL_TRANSP_OPAQUE; } else if (!strcasecmp(bstr("transp"), "transparent")) { formtransp = ICAL_TRANSP_TRANSPARENT; } while (prop = icalcomponent_get_first_property(vevent, ICAL_TRANSP_PROPERTY), (prop != NULL)) { icalcomponent_remove_property(vevent, prop); icalproperty_free(prop); } icalcomponent_add_property(vevent, icalproperty_new_transp(formtransp)); } /* Give this event a UID if it doesn't have one. */ if (icalcomponent_get_first_property(vevent, ICAL_UID_PROPERTY) == NULL) { generate_uuid(buf); icalcomponent_add_property(vevent, icalproperty_new_uid(buf)); } /* Increment the sequence ID */ while (prop = icalcomponent_get_first_property(vevent, ICAL_SEQUENCE_PROPERTY), (prop != NULL) ) { i = icalproperty_get_sequence(prop); if (i > sequence) sequence = i; icalcomponent_remove_property(vevent, prop); icalproperty_free(prop); } ++sequence; icalcomponent_add_property(vevent, icalproperty_new_sequence(sequence) ); /* * Set the organizer, only if one does not already exist *and* * the form is supplying one */ strcpy(buf, bstr("organizer")); if ( (icalcomponent_get_first_property(vevent, ICAL_ORGANIZER_PROPERTY) == NULL) && (!IsEmptyStr(buf)) ) { /* set new organizer */ sprintf(organizer_string, "MAILTO:%s", buf); icalcomponent_add_property(vevent, icalproperty_new_organizer(organizer_string) ); } /* * Add any new attendees listed in the web form */ /* First, strip out the parenthesized partstats. */ strcpy(form_attendees, bstr("attendees")); while ( stripout(form_attendees, '(', ')') != 0); /* Next, change any commas to newlines, because we want newline-separated attendees. */ j = strlen(form_attendees); for (i=0; i 0L) ) { serv_printf("DELE %ld", lbstr("msgnum")); serv_getln(buf, sizeof buf); } if (created_new_vevent) { icalcomponent_free(vevent); } /* If this was a save or delete, go back to the calendar or summary view. */ if (!havebstr("check_button")) { if (!strcasecmp(bstr("calview"), "summary")) { display_summary_page(); } else { readloop(readfwd, eUseDefault); } } } webcit-9.01-dfsg/feed_generator.c000066400000000000000000000163711254743150300167720ustar00rootroot00000000000000/* * RSS feed generator (could be adapted in the future to feed both RSS and Atom) * * Copyright (c) 2010-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" /* * RSS feed generator -- do one message */ void feed_rss_one_message(long msgnum) { int in_body = 0; int in_messagetext = 0; int found_title = 0; int found_guid = 0; char pubdate[128]; StrBuf *messagetext = NULL; int is_top_level_post = 1; const char *BufPtr = NULL; StrBuf *Line = NewStrBufPlain(NULL, 1024); char buf[1024]; int permalink_hash = 0; /* Phase 1: read the message into memory */ serv_printf("MSG4 %ld", msgnum); serv_getln(buf, sizeof buf); if (buf[0] != '1') return; StrBuf *ServerResponse = NewStrBuf(); while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) { StrBufAppendPrintf(ServerResponse, "%s\n", buf); } /* Phase 2: help SkyNet become self-aware */ BufPtr = NULL; while (StrBufSipLine(Line, ServerResponse, &BufPtr), ((BufPtr!=StrBufNOTNULL)&&(BufPtr!=NULL)) ) { if (in_body) { /* do nothing */ } else if (StrLength(Line) == 0) { ++in_body; } else if ((StrLength(Line) > 5) && (!strncasecmp(ChrPtr(Line), "wefw=", 5))) { is_top_level_post = 0; /* presence of references means it's a reply/comment */ } else if ((StrLength(Line) > 5) && (!strncasecmp(ChrPtr(Line), "msgn=", 5))) { StrBufCutLeft(Line, 5); permalink_hash = ThreadIdHash(Line); } } /* * Phase 3: output the message in RSS form * (suppress replies [comments] if this is a blog room) */ if ( (WC->CurRoom.view != VIEW_BLOG) || (is_top_level_post == 1) ) { wc_printf(""); wc_printf("%s/readfwd?go=", ChrPtr(site_prefix)); urlescputs(ChrPtr(WC->CurRoom.name)); if ((WC->CurRoom.view == VIEW_BLOG) && (permalink_hash != 0)) { wc_printf("?p=%d", permalink_hash); } else { wc_printf("?start_reading_at=%ld", msgnum); } wc_printf(""); BufPtr = NULL; in_body = 0; in_messagetext = 0; while (StrBufSipLine(Line, ServerResponse, &BufPtr), ((BufPtr!=StrBufNOTNULL)&&(BufPtr!=NULL)) ) { safestrncpy(buf, ChrPtr(Line), sizeof buf); /* XML parsers can be picky; strip out nonprintable header characters */ if ((strlen(buf)>=6) && (buf[4]=='=')) { char *p = &buf[5]; while (*p) { if (!isprint(*p)) { *p = 0; } ++p; } } /* Now output fields */ if (in_body) { if (in_messagetext) { StrBufAppendBufPlain(messagetext, buf, -1, 0); StrBufAppendBufPlain(messagetext, HKEY("\r\n"), 0); } else if (IsEmptyStr(buf)) { in_messagetext = 1; } } else if (!strncasecmp(buf, "subj=", 5)) { wc_printf(""); escputs(&buf[5]); wc_printf(""); ++found_title; } else if (!strncasecmp(buf, "exti=", 5)) { wc_printf(""); escputs(&buf[5]); wc_printf(""); ++found_guid; } else if (!strncasecmp(buf, "time=", 5)) { http_datestring(pubdate, sizeof pubdate, atol(&buf[5])); wc_printf("%s", pubdate); } else if (!strncasecmp(buf, "text", 4)) { if (!found_title) { wc_printf("Message #%ld", msgnum); } if (!found_guid) { wc_printf("%ld@%s", msgnum, ChrPtr(WC->serv_info->serv_humannode) ); } wc_printf(""); in_body = 1; messagetext = NewStrBuf(); } } if (in_body) { cdataout((char*)ChrPtr(messagetext)); FreeStrBuf(&messagetext); wc_printf(""); } wc_printf(""); } FreeStrBuf(&Line); FreeStrBuf(&ServerResponse); return; } /* * RSS feed generator -- go through the message list */ void feed_rss_do_messages(void) { wcsession *WCC = WC; int num_msgs = 0; int i; SharedMessageStatus Stat; message_summary *Msg = NULL; memset(&Stat, 0, sizeof Stat); Stat.maxload = INT_MAX; Stat.lowest_found = (-1); Stat.highest_found = (-1); num_msgs = load_msg_ptrs("MSGS ALL", NULL, &Stat, NULL); if (num_msgs < 1) return; i = num_msgs; /* convention is to feed newest-to-oldest */ while (i > 0) { Msg = GetMessagePtrAt(i-1, WCC->summ); if (Msg != NULL) { feed_rss_one_message(Msg->msgnum); } --i; } } /* * Output the room info file of the current room as a for the channel */ void feed_rss_do_room_info_as_description(void) { wc_printf(""); escputs(ChrPtr(WC->CurRoom.name)); /* FIXME use the output of RINF instead */ wc_printf("\r\n"); } /* * Entry point for RSS feed generator */ void feed_rss(void) { char buf[1024]; output_headers(0, 0, 0, 0, 1, 0); hprintf("Content-type: text/xml; charset=utf-8\r\n"); hprintf( "Server: %s / %s\r\n" "Connection: close\r\n" , PACKAGE_STRING, ChrPtr(WC->serv_info->serv_software) ); begin_burst(); wc_printf("" "" "" ); wc_printf(""); escputs(ChrPtr(WC->CurRoom.name)); wc_printf(""); wc_printf(""); escputs(ChrPtr(site_prefix)); wc_printf("/"); serv_puts("RINF"); serv_getln(buf, sizeof buf); if (buf[0] == '1') { wc_printf("\r\n"); while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) { escputs(buf); wc_printf("\r\n"); } wc_printf(""); } wc_printf(""); escputs(ChrPtr(WC->CurRoom.name)); wc_printf(""); escputs(ChrPtr(site_prefix)); wc_printf("/image?name=_roompic_?go="); urlescputs(ChrPtr(WC->CurRoom.name)); wc_printf(""); escputs(ChrPtr(site_prefix)); wc_printf("/\r\n"); feed_rss_do_room_info_as_description(); feed_rss_do_messages(); wc_printf("" "" "\r\n\r\n" ); wDumpContent(0); } /* * Offer the RSS feed meta tag for this room */ void tmplput_rssmeta(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; char feed_link[1024]; strcpy(feed_link, "/feed_rss?go="); urlesc(&feed_link[20], sizeof(feed_link) - 20, (char *)ChrPtr(WCC->CurRoom.name) ); StrBufAppendPrintf(Target, "", feed_link ); } /* * Offer the RSS feed button for this room */ void tmplput_rssbutton(StrBuf *Target, WCTemplputParams *TP) { StrBuf *FeedLink = NULL; FeedLink = NewStrBufPlain(HKEY("/feed_rss?go=")); StrBufUrlescAppend(FeedLink, WC->CurRoom.name, NULL); StrBufAppendPrintf(Target, "\"RSS\""); StrBufAppendPrintf(Target, ""); FreeStrBuf(&FeedLink); } void InitModule_RSS (void) { WebcitAddUrlHandler(HKEY("feed_rss"), "", 0, feed_rss, ANONYMOUS|COOKIEUNNEEDED); RegisterNamespace("THISROOM:FEED:RSS", 0, 0, tmplput_rssbutton, NULL, CTX_NONE); RegisterNamespace("THISROOM:FEED:RSSMETA", 0, 0, tmplput_rssmeta, NULL, CTX_NONE); } webcit-9.01-dfsg/fmt_date.c000066400000000000000000000154241254743150300156020ustar00rootroot00000000000000/* * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" #ifdef HAVE_USELOCALE extern locale_t *wc_locales; #endif typedef unsigned char byte; #define FALSE 0 /**< no. */ #define TRUE 1 /**< yes. */ /* * Wrapper around strftime() or strftime_l() * depending upon how our build is configured. * * s String target buffer * max Maximum size of string target buffer * format strftime() format * tm Input date/time */ size_t wc_strftime(char *s, size_t max, const char *format, const struct tm *tm) { #ifdef ENABLE_NLS #ifdef HAVE_USELOCALE if (wc_locales[WC->selected_language] == NULL) { return strftime(s, max, format, tm); } else { return strftime_l(s, max, format, tm, wc_locales[WC->selected_language]); } #else return strftime(s, max, format, tm); #endif #else return strftime(s, max, format, tm); #endif } /* * Format a date/time stamp for output */ long webcit_fmt_date(char *buf, size_t siz, time_t thetime, int Format) { long retlen = 0; struct tm tm; struct tm today_tm; time_t today_timet; int time_format; time_format = get_time_format_cached (); today_timet = time(NULL); localtime_r(&today_timet, &today_tm); localtime_r(&thetime, &tm); /* * DATEFMT_FULL: full display * DATEFMT_BRIEF: if date == today, show only the time * otherwise, for messages up to 6 months old, * show the month and day, and the time * older than 6 months, show only the date * DATEFMT_RAWDATE: show full date, regardless of age * DATEFMT_LOCALEDATE: show full date as prefered for the locale */ switch (Format) { case DATEFMT_BRIEF: if ((tm.tm_year == today_tm.tm_year) &&(tm.tm_mon == today_tm.tm_mon) &&(tm.tm_mday == today_tm.tm_mday)) { if (time_format == WC_TIMEFORMAT_24) retlen = wc_strftime(buf, siz, "%k:%M", &tm); else retlen = wc_strftime(buf, siz, "%l:%M%p", &tm); } else if (today_timet - thetime < 15552000) { if (time_format == WC_TIMEFORMAT_24) retlen = wc_strftime(buf, siz, "%b %d %k:%M", &tm); else retlen = wc_strftime(buf, siz, "%b %d %l:%M%p", &tm); } else { retlen = wc_strftime(buf, siz, "%b %d %Y", &tm); } break; case DATEFMT_FULL: if (time_format == WC_TIMEFORMAT_24) retlen = wc_strftime(buf, siz, "%a %b %d %Y %T %Z", &tm); else retlen = wc_strftime(buf, siz, "%a %b %d %Y %r %Z", &tm); break; case DATEFMT_RAWDATE: retlen = wc_strftime(buf, siz, "%a %b %d %Y", &tm); break; case DATEFMT_LOCALEDATE: retlen = wc_strftime(buf, siz, "%x", &tm); break; } return retlen; } /* * Try to guess whether the user will prefer 12 hour or 24 hour time based on the locale. */ long guess_calhourformat(void) { char buf[64]; struct tm tm; memset(&tm, 0, sizeof tm); wc_strftime(buf, 64, "%X", &tm); if (buf[strlen(buf)-1] == 'M') { return 12; } return 24; } /* * learn the users timeformat preference. */ int get_time_format_cached (void) { long calhourformat; int *time_format_cache; time_format_cache = &(WC->time_format_cache); if (*time_format_cache == WC_TIMEFORMAT_NONE) { get_pref_long("calhourformat", &calhourformat, 99); /* If we don't know the user's time format preference yet, * make a guess based on the locale. */ if (calhourformat == 99) { calhourformat = guess_calhourformat(); } /* Now set the preference */ if (calhourformat == 24) *time_format_cache = WC_TIMEFORMAT_24; else *time_format_cache = WC_TIMEFORMAT_AMPM; } return *time_format_cache; } /* * Format TIME ONLY for output * buf the output buffer * thetime time to format into buf */ void fmt_time(char *buf, size_t siz, time_t thetime) { struct tm *tm; int hour; int time_format; time_format = get_time_format_cached (); buf[0] = 0; tm = localtime(&thetime); hour = tm->tm_hour; if (hour == 0) hour = 12; else if (hour > 12) hour = hour - 12; if (time_format == WC_TIMEFORMAT_24) { snprintf(buf, siz, "%d:%02d", tm->tm_hour, tm->tm_min ); } else { snprintf(buf, siz, "%d:%02d%s", hour, tm->tm_min, ((tm->tm_hour > 12) ? "pm" : "am") ); } } /* * Break down the timestamp used in HTTP headers * Should read rfc1123 and rfc850 dates OK * FIXME won't read asctime * Doesn't understand timezone, but we only should be using GMT/UTC anyway */ time_t httpdate_to_timestamp(StrBuf *buf) { time_t t = 0; struct tm tt; const char *c; /** Skip day of week, to number */ for (c = ChrPtr(buf); *c != ' '; c++) ; c++; memset(&tt, 0, sizeof(tt)); /* Get day of month */ tt.tm_mday = atoi(c); for (; *c != ' ' && *c != '-'; c++); c++; /* Get month */ switch (*c) { case 'A': /* April, August */ tt.tm_mon = (c[1] == 'p') ? 3 : 7; break; case 'D': /* December */ tt.tm_mon = 11; break; case 'F': /* February */ tt.tm_mon = 1; break; case 'M': /* March, May */ tt.tm_mon = (c[2] == 'r') ? 2 : 4; break; case 'J': /* January, June, July */ tt.tm_mon = (c[2] == 'n') ? ((c[1] == 'a') ? 0 : 5) : 6; break; case 'N': /* November */ tt.tm_mon = 10; break; case 'O': /* October */ tt.tm_mon = 9; break; case 'S': /* September */ tt.tm_mon = 8; break; default: return 42; break; /* NOTREACHED */ } c += 4; tt.tm_year = 0; /* Get year */ tt.tm_year = atoi(c); for (; *c != ' '; c++); c++; if (tt.tm_year >= 1900) tt.tm_year -= 1900; /* Get hour */ tt.tm_hour = atoi(c); for (; *c != ':'; c++); c++; /* Get minute */ tt.tm_min = atoi(c); for (; *c != ':'; c++); c++; /* Get second */ tt.tm_sec = atoi(c); for (; *c && *c != ' '; c++); /* Got everything; let's go. The global 'timezone' variable contains the * local timezone's offset from UTC, in seconds, so we apply that to tm_sec. * This produces an illegal value for tm_sec, but mktime() will normalize * it for us. This eliminates the need to temporarily switch the environment * variable TZ to UTC, which is good because it fails to switch back on * some systems. */ tzset(); tt.tm_sec = tt.tm_sec - (int)timezone; t = mktime(&tt); return t; } void LoadTimeformatSettingsCache(StrBuf *Preference, long lvalue) { int *time_format_cache; time_format_cache = &(WC->time_format_cache); if (lvalue == 24) *time_format_cache = WC_TIMEFORMAT_24; else *time_format_cache = WC_TIMEFORMAT_AMPM; } void InitModule_DATETIME (void) { RegisterPreference("calhourformat", _("Time format"), PRF_INT, LoadTimeformatSettingsCache); } webcit-9.01-dfsg/gettext.c000066400000000000000000000265121254743150300155030ustar00rootroot00000000000000/* * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License version 3. * * 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. */ #include "webcit.h" #include "webserver.h" #define SEARCH_LANG 20 /* how many langs should we parse? */ #ifdef ENABLE_NLS /* actual supported locales */ const char *AvailLang[] = { "en_US", "ar_AE", "bg_BG", "cs_CZ", "en_US", "da_DK", "de_DE", "el_GR", "en_GB", "es_ES", "et_EE", "fi_FI", "fr_FR", "hu_HU", "it_IT", "ko_KO", "nl_NL", "pl_PL", "pt_BR", "ru_RU", "zh_CN", "he_IL", "kk_KK", "ro_RO", "sl_SL", "tr_TR", "" }; const char **AvailLangLoaded; long nLocalesLoaded = 0; #ifdef HAVE_USELOCALE locale_t *wc_locales; /* here we keep the parsed stuff */ #endif /* Keep information about one locale */ typedef struct _lang_pref { char lang[16]; /* the language locale string */ char region[16]; /* the region locale string */ long priority; /* which priority does it have */ int availability; /* do we know it? */ int selectedlang; /* is this the selected language? */ } LangStruct; /* parse browser locale header * * seems as most browsers just do a one after comma value even if more than 10 locales are available. Sample strings: * opera: * Accept-Language: sq;q=1.0,de;q=0.9,as;q=0.8,ar;q=0.7,bn;q=0.6,zh-cn;q=0.5,kn;q=0.4,ch;q=0.3,fo;q=0.2,gn;q=0.1,ce;q=0.1,ie;q=0.1 * Firefox * Accept-Language: 'de-de,en-us;q=0.7,en;q=0.3' * Accept-Language: de,en-ph;q=0.8,en-us;q=0.5,de-at;q=0.3 * Accept-Language: de,en-us;q=0.9,it;q=0.9,de-de;q=0.8,en-ph;q=0.7,de-at;q=0.7,zh-cn;q=0.6,cy;q=0.5,ar-om;q=0.5,en-tt;q=0.4,xh;q=0.3,nl-be;q=0.3,cs;q=0.2,sv;q=0.1,tk;q=0.1 */ void httplang_to_locale(StrBuf *LocaleString, wcsession *sess) { LangStruct wanted_locales[SEARCH_LANG]; LangStruct *ls; long len; int i = 0; int j = 0; /* size_t len = strlen(LocaleString); */ long prio; int av; int nBest; int nParts; StrBuf *Buf = NULL; StrBuf *SBuf = NULL; nParts = StrBufNum_tokens(LocaleString, ','); for (i=0; ((ipriority = StrTol(SBuf); } else { ls->priority = 1000; } /* get the locale part */ StrBufExtract_token(SBuf, Buf, 0, ';'); /* get the lang part, which should be allways there */ extract_token(ls->lang, ChrPtr(SBuf), 0, '-', sizeof(ls->lang)); /* get the area code if any. */ if (StrBufNum_tokens(SBuf, '-') > 1) { extract_token(ls->region, ChrPtr(SBuf), 1, '-', sizeof(ls->region) ); } else { /* no ara code? use lang code */ blen = strlen(ls->lang); memcpy(ls->region, ls->lang, blen); ls->region[blen] = '\0'; } /* area codes are uppercase */ blen = strlen(&ls->region[0]); for (j = 0; j < blen; j++) { int chars; chars = toupper(ls->region[j]); ls->region[j] = (char)chars; /* todo ? */ } snprintf(lbuf, sizeof(lbuf), "%s_%s", ls->lang, ls->region); /* check if we have this lang */ ls->availability = 1; ls->selectedlang = -1; len = strlen(ls->lang); for (j = 0; j < nLocalesLoaded; j++) { int result; /* match against the LANG part */ result = strncasecmp(ls->lang, AvailLangLoaded[j], len); if ((result == 0) && (result < ls->availability)){ ls->availability = result; ls->selectedlang = j; } /* match against lang and locale */ if (0 == strcasecmp(lbuf, AvailLangLoaded[j])){ ls->availability = 0; ls->selectedlang = j; j = nLocalesLoaded; } } } prio = 0; av = -1000; nBest = -1; for (i = 0; ((i < nParts) && (iavailability <= 0) && (av < ls->availability) && (prio < ls->priority) && (ls->selectedlang != -1) ) { nBest = ls->selectedlang; av = ls->availability; prio = ls->priority; } } if (nBest == -1) { /* fall back to C */ nBest=0; } sess->selected_language = nBest; syslog(LOG_DEBUG, "language found: %s", AvailLangLoaded[sess->selected_language]); FreeStrBuf(&Buf); FreeStrBuf(&SBuf); } /* * show the language chooser on the login dialog * depending on the browser locale change the sequence of the * language chooser. */ void tmplput_offer_languages(StrBuf *Target, WCTemplputParams *TP) { int i; #ifndef HAVE_USELOCALE char *Lang = getenv("LANG"); if (Lang == NULL) Lang = "C"; #endif if (nLocalesLoaded == 1) { wc_printf("

    %s

    ", AvailLangLoaded[0]); return; } wc_printf("\n"); } /* * Set the selected language for this session. */ void set_selected_language(const char *lang) { #ifdef HAVE_USELOCALE int i; for (i = 0; iselected_language = i; break; } } #endif } /* * Activate the selected language for this session. */ void go_selected_language(void) { #ifdef HAVE_USELOCALE wcsession *WCC = WC; if (WCC->selected_language < 0) { httplang_to_locale(WCC->Hdr->HR.browser_language, WCC); if (WCC->selected_language < 0) return; } uselocale(wc_locales[WCC->selected_language]); /* switch locales */ textdomain(textdomain(NULL)); /* clear the cache */ #else char *language; language = getenv("LANG"); setlocale(LC_MESSAGES, language); #endif } /* * Deactivate the selected language for this session. */ void stop_selected_language(void) { #ifdef HAVE_USELOCALE uselocale(LC_GLOBAL_LOCALE); /* switch locales */ textdomain(textdomain(NULL)); /* clear the cache */ #endif } #ifdef HAVE_USELOCALE locale_t Empty_Locale; #endif /* * Create a locale_t for each available language */ void initialize_locales(void) { int nLocales; int i; char buf[32]; char *language = NULL; nLocales = 0; while (!IsEmptyStr(AvailLang[nLocales])) nLocales++; language = getenv("WEBCIT_LANG"); if ((language) && (!IsEmptyStr(language)) && (strcmp(language, "UNLIMITED") != 0)) { syslog(LOG_INFO, "Nailing locale to %s", language); } else language = NULL; AvailLangLoaded = malloc (sizeof(char*) * nLocales); memset(AvailLangLoaded, 0, sizeof(char*) * nLocales); #ifdef HAVE_USELOCALE wc_locales = malloc (sizeof(locale_t) * nLocales); memset(wc_locales,0, sizeof(locale_t) * nLocales); /* create default locale */ Empty_Locale = newlocale(LC_ALL_MASK, NULL, NULL); #endif for (i = 0; i < nLocales; ++i) { if ((language != NULL) && (strcmp(AvailLang[i], language) != 0)) continue; if (i == 0) { sprintf(buf, "C"); /* locale 0 (C) is ascii, not utf-8 */ } else { sprintf(buf, "%s.UTF8", AvailLang[i]); } #ifdef HAVE_USELOCALE wc_locales[nLocalesLoaded] = newlocale( (LC_MESSAGES_MASK|LC_TIME_MASK), buf, (((i > 0) && (wc_locales[0] != NULL)) ? wc_locales[0] : Empty_Locale) ); if (wc_locales[nLocalesLoaded] == NULL) { syslog(LOG_NOTICE, "locale for %s disabled: %s", buf, strerror(errno)); } else { syslog(LOG_INFO, "Found locale: %s - %s", buf, AvailLang[i]); AvailLangLoaded[nLocalesLoaded] = AvailLang[i]; nLocalesLoaded++; } #else if ((language != NULL) && (strcmp(language, AvailLang[i]) == 0)) { setenv("LANG", buf, 1); AvailLangLoaded[nLocalesLoaded] = AvailLang[i]; setlocale(LC_MESSAGES, AvailLang[i]); nLocalesLoaded++; } else if (nLocalesLoaded == 0) { setenv("LANG", buf, 1); AvailLangLoaded[nLocalesLoaded] = AvailLang[i]; nLocalesLoaded++; } #endif } if ((language != NULL) && (nLocalesLoaded == 0)) { syslog(LOG_WARNING, "Your selected locale [%s] isn't available on your system. falling back to C", language); #ifdef HAVE_USELOCALE wc_locales[0] = newlocale( (LC_MESSAGES_MASK|LC_TIME_MASK), AvailLang[0], Empty_Locale ); #else setlocale(LC_MESSAGES, AvailLang[0]); setenv("LANG", AvailLang[0], 1); #endif AvailLangLoaded[0] = AvailLang[0]; nLocalesLoaded = 1; } #ifdef ENABLE_NLS setlocale(LC_ALL, ""); syslog(LOG_DEBUG, "Text domain: %s", textdomain("webcit")); syslog(LOG_DEBUG, "Text domain Charset: %s", bind_textdomain_codeset("webcit", "UTF8")); syslog(LOG_DEBUG, "Message catalog directory: %s", bindtextdomain(textdomain(NULL), LOCALEDIR"/locale")); #endif } void ServerShutdownModule_GETTEXT (void) { #ifdef HAVE_USELOCALE int i; for (i = 0; i < nLocalesLoaded; ++i) { if (Empty_Locale != wc_locales[i]) { freelocale(wc_locales[i]); } } free(wc_locales); #endif free(AvailLangLoaded); } #else /* ENABLE_NLS */ const char *AvailLang[] = { "C", "" }; /* dummy for non NLS enabled systems */ void ServerShutdownModule_GETTEXT (void) { } void tmplput_offer_languages(StrBuf *Target, WCTemplputParams *TP) { wc_printf("English (US)"); } /* dummy for non NLS enabled systems */ void set_selected_language(const char *lang) { } /* dummy for non NLS enabled systems */ void go_selected_language(void) { } /* dummy for non NLS enabled systems */ void stop_selected_language(void) { } void initialize_locales(void) { } #endif /* ENABLE_NLS */ void TmplGettext(StrBuf *Target, WCTemplputParams *TP) { const char *Text = _(TP->Tokens->Params[0]->Start); StrBufAppendTemplateStr(Target, TP, Text, 1); } /* * Returns the language currently in use. * This function returns a static string, so don't do anything stupid please. */ const char *get_selected_language(void) { #ifdef ENABLE_NLS #ifdef HAVE_USELOCALE return AvailLangLoaded[WC->selected_language]; #else return "en"; #endif #else return "en"; #endif } void Header_HandleAcceptLanguage(StrBuf *Line, ParsedHttpHdrs *hdr) { hdr->HR.browser_language = Line; } void InitModule_GETTEXT (void) { initialize_locales(); RegisterHeaderHandler(HKEY("ACCEPT-LANGUAGE"), Header_HandleAcceptLanguage); RegisterNamespace("LANG:SELECT", 0, 0, tmplput_offer_languages, NULL, CTX_NONE); } void SessionNewModule_GETTEXT (wcsession *sess) { #ifdef ENABLE_NLS if ( (sess != NULL) && (!sess->Hdr->HR.Static) && (sess->Hdr->HR.browser_language != NULL) ) { httplang_to_locale(sess->Hdr->HR.browser_language, sess); } #endif } void SessionAttachModule_GETTEXT (wcsession *sess) { #ifdef ENABLE_NLS go_selected_language(); /* set locale */ #endif } void SessionDestroyModule_GETTEXT (wcsession *sess) { #ifdef ENABLE_NLS stop_selected_language(); /* unset locale */ #endif } webcit-9.01-dfsg/graphics.c000066400000000000000000000120031254743150300156050ustar00rootroot00000000000000/* * Handles HTTP upload of graphics files into the system. * * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" extern void output_static(const char* What); void display_graphics_upload(char *filename) { StrBuf *Line; Line = NewStrBuf(); serv_printf("UIMG 0||%s", filename); StrBuf_ServGetln(Line); if (GetServerStatusMsg(Line, NULL, 1, 2) != 2) { display_main_menu(); return; } else { output_headers(1, 0, 0, 0, 1, 0); do_template("files_graphicsupload"); end_burst(); } FreeStrBuf(&Line); } void do_graphics_upload(char *filename) { StrBuf *Line; const char *MimeType; wcsession *WCC = WC; int bytes_remaining; int pos = 0; int thisblock; bytes_remaining = WCC->upload_length; if (havebstr("cancel_button")) { AppendImportantMessage(_("Graphics upload has been cancelled."), -1); display_main_menu(); return; } if (WCC->upload_length == 0) { AppendImportantMessage(_("You didn't upload a file."), -1); display_main_menu(); return; } MimeType = GuessMimeType(ChrPtr(WCC->upload), bytes_remaining); serv_printf("UIMG 1|%s|%s", MimeType, filename); Line = NewStrBuf(); StrBuf_ServGetln(Line); if (GetServerStatusMsg(Line, NULL, 1, 2) != 2) { display_main_menu(); FreeStrBuf(&Line); return; } while (bytes_remaining) { thisblock = ((bytes_remaining > 4096) ? 4096 : bytes_remaining); serv_printf("WRIT %d", thisblock); StrBuf_ServGetln(Line); if (GetServerStatusMsg(Line, NULL, 1, 7) != 7) { serv_puts("UCLS 0"); StrBuf_ServGetln(Line); display_main_menu(); FreeStrBuf(&Line); return; } thisblock = extract_int(ChrPtr(Line) +4, 0); serv_write(&ChrPtr(WCC->upload)[pos], thisblock); pos += thisblock; bytes_remaining -= thisblock; } serv_puts("UCLS 1"); StrBuf_ServGetln(Line); if (*ChrPtr(Line) != 'x') { display_success(ChrPtr(Line) + 4); } FreeStrBuf(&Line); } void edithellopic(void) { do_graphics_upload("hello"); } void editpic(void) { do_graphics_upload("_userpic_"); } void editgoodbuyepic(void) { do_graphics_upload("UIMG 1|%s|goodbuye"); } /* The users photo display / upload facility */ void display_editpic(void) { putbstr("__WHICHPIC", NewStrBufPlain(HKEY("_userpic_"))); putbstr("__PICDESC", NewStrBufPlain(_("your photo"), -1)); putbstr("__UPLURL", NewStrBufPlain(HKEY("editpic"))); display_graphics_upload("editpic"); } /* room picture dispay / upload facility */ void display_editroompic(void) { putbstr("__WHICHPIC", NewStrBufPlain(HKEY("_roompic_"))); putbstr("__PICDESC", NewStrBufPlain(_("the icon for this room"), -1)); putbstr("__UPLURL", NewStrBufPlain(HKEY("editroompic"))); display_graphics_upload("editroompic"); } /* the greetingpage hello pic */ void display_edithello(void) { putbstr("__WHICHPIC", NewStrBufPlain(HKEY("hello"))); putbstr("__PICDESC", NewStrBufPlain(_("the Greetingpicture for the login prompt"), -1)); putbstr("__UPLURL", NewStrBufPlain(HKEY("edithellopic"))); display_graphics_upload("edithellopic"); } /* the logoff banner */ void display_editgoodbyepic(void) { putbstr("__WHICHPIC", NewStrBufPlain(HKEY("UIMG 0|%s|goodbuye"))); putbstr("__PICDESC", NewStrBufPlain(_("the Logoff banner picture"), -1)); putbstr("__UPLURL", NewStrBufPlain(HKEY("editgoodbuyepic"))); display_graphics_upload("editgoodbuyepic"); } void display_editfloorpic(void) { StrBuf *PicAction; PicAction = NewStrBuf(); StrBufPrintf(PicAction, "_floorpic_|%s", bstr("which_floor")); putbstr("__WHICHPIC", PicAction); putbstr("__PICDESC", NewStrBufPlain(_("the icon for this floor"), -1)); putbstr("__UPLURL", NewStrBufPlain(HKEY("editfloorpic"))); display_graphics_upload("editfloorpic"); } void editroompic(void) { char buf[SIZ]; snprintf(buf, SIZ, "_roompic_|%s", bstr("which_room")); do_graphics_upload(buf); } void editfloorpic(void){ char buf[SIZ]; snprintf(buf, SIZ, "_floorpic_|%s", bstr("which_floor")); do_graphics_upload(buf); } void InitModule_GRAPHICS (void) { WebcitAddUrlHandler(HKEY("display_editpic"), "", 0, display_editpic, 0); WebcitAddUrlHandler(HKEY("editpic"), "", 0, editpic, 0); WebcitAddUrlHandler(HKEY("display_editroompic"), "", 0, display_editroompic, 0); WebcitAddUrlHandler(HKEY("editroompic"), "", 0, editroompic, 0); WebcitAddUrlHandler(HKEY("display_edithello"), "", 0, display_edithello, 0); WebcitAddUrlHandler(HKEY("edithellopic"), "", 0, edithellopic, 0); WebcitAddUrlHandler(HKEY("display_editgoodbuye"), "", 0, display_editgoodbyepic, 0); WebcitAddUrlHandler(HKEY("editgoodbuyepic"), "", 0, editgoodbuyepic, 0); WebcitAddUrlHandler(HKEY("display_editfloorpic"), "", 0, display_editfloorpic, 0); WebcitAddUrlHandler(HKEY("editfloorpic"), "", 0, editfloorpic, 0); } webcit-9.01-dfsg/html2html.c000066400000000000000000000450101254743150300157240ustar00rootroot00000000000000/* * Output an HTML message, modifying it slightly to make sure it plays nice * with the rest of our web framework. * * Copyright (c) 2005-2012 by the citadel.org team * * This program is open source software; you can redistribute it and/or modify * it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" /* * Strip surrounding single or double quotes from a string. */ void stripquotes(char *s) { int len; if (!s) return; len = strlen(s); if (len < 2) return; if ( ( (s[0] == '\"') && (s[len-1] == '\"') ) || ( (s[0] == '\'') && (s[len-1] == '\'') ) ) { s[len-1] = 0; strcpy(s, &s[1]); } } /* * Check to see if a META tag has overridden the declared MIME character set. * * charset Character set name (left unchanged if we don't do anything) * meta_http_equiv Content of the "http-equiv" portion of the META tag * meta_content Content of the "content" portion of the META tag */ void extract_charset_from_meta(char *charset, char *meta_http_equiv, char *meta_content) { char *ptr; char buf[64]; if (!charset) return; if (!meta_http_equiv) return; if (!meta_content) return; if (strcasecmp(meta_http_equiv, "Content-type")) return; ptr = strchr(meta_content, ';'); if (!ptr) return; safestrncpy(buf, ++ptr, sizeof buf); striplt(buf); if (!strncasecmp(buf, "charset=", 8)) { strcpy(charset, &buf[8]); /* * The brain-damaged webmail program in Microsoft Exchange declares * a charset of "unicode" when they really mean "UTF-8". GNU iconv * treats "unicode" as an alias for "UTF-16" so we have to manually * fix this here, otherwise messages generated in Exchange webmail * show up as a big pile of weird characters. */ if (!strcasecmp(charset, "unicode")) { strcpy(charset, "UTF-8"); } /* Remove wandering punctuation */ if ((ptr=strchr(charset, '\"'))) *ptr = 0; striplt(charset); } } /* * Sanitize and enhance an HTML message for display. * Also convert weird character sets to UTF-8 if necessary. * Also fixup img src="cid:..." type inline images to fetch the image * */ void output_html(const char *supplied_charset, int treat_as_wiki, int msgnum, StrBuf *Source, StrBuf *Target) { char buf[SIZ]; char *msg; char *ptr; char *msgstart; char *msgend; StrBuf *converted_msg; int buffer_length = 1; int line_length = 0; int content_length = 0; char new_window[SIZ]; int brak = 0; int alevel = 0; int scriptlevel = 0; int script_start_pos = (-1); int i; int linklen; char charset[128]; StrBuf *BodyArea = NULL; #ifdef HAVE_ICONV iconv_t ic = (iconv_t)(-1) ; char *ibuf; /* Buffer of characters to be converted */ char *obuf; /* Buffer for converted characters */ size_t ibuflen; /* Length of input buffer */ size_t obuflen; /* Length of output buffer */ char *osav; /* Saved pointer to output buffer */ #endif if (Target == NULL) Target = WC->WBuf; safestrncpy(charset, supplied_charset, sizeof charset); msg = strdup(""); sprintf(new_window, ""); StrBufAppendPrintf(Target, _("realloc() error! couldn't get %d bytes: %s"), buffer_length + 1, strerror(errno)); StrBufAppendPrintf(Target, "

    \n"); while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) { /** flush */ } free(msg); return; } msg = ptr; strcpy(&msg[content_length], buf); content_length += line_length; strcpy(&msg[content_length], "\n"); content_length += 1; } else { content_length = StrLength(Source); free(msg); msg = (char*) ChrPtr(Source);/* TODO: remove cast */ buffer_length = content_length; } /** Do a first pass to isolate the message body */ ptr = msg + 1; msgstart = msg; msgend = &msg[content_length]; while (ptr < msgend) { /** Advance to next tag */ ptr = strchr(ptr, '<'); if ((ptr == NULL) || (ptr >= msgend)) break; ++ptr; if ((ptr == NULL) || (ptr >= msgend)) break; /* * Look for META tags. Some messages (particularly in * Asian locales) illegally declare a message's character * set in the HTML instead of in the MIME headers. This * is wrong but we have to work around it anyway. */ if (!strncasecmp(ptr, "META", 4)) { char *meta_start; char *meta_end; int meta_length; char *meta; char *meta_http_equiv; char *meta_content; char *spaceptr; meta_start = &ptr[4]; meta_end = strchr(ptr, '>'); if ((meta_end != NULL) && (meta_end <= msgend)) { meta_length = meta_end - meta_start + 1; meta = malloc(meta_length + 1); safestrncpy(meta, meta_start, meta_length); meta[meta_length] = 0; striplt(meta); if (!strncasecmp(meta, "HTTP-EQUIV=", 11)) { meta_http_equiv = strdup(&meta[11]); spaceptr = strchr(meta_http_equiv, ' '); if (spaceptr != NULL) { *spaceptr = 0; meta_content = strdup(++spaceptr); if (!strncasecmp(meta_content, "content=", 8)) { strcpy(meta_content, &meta_content[8]); stripquotes(meta_http_equiv); stripquotes(meta_content); extract_charset_from_meta(charset, meta_http_equiv, meta_content); } free(meta_content); } free(meta_http_equiv); } free(meta); } } /* * Any of these tags cause everything up to and including * the tag to be removed. */ if ( (!strncasecmp(ptr, "HTML", 4)) ||(!strncasecmp(ptr, "HEAD", 4)) ||(!strncasecmp(ptr, "/HEAD", 5)) ||(!strncasecmp(ptr, "BODY", 4)) ) { char *pBody = NULL; if (!strncasecmp(ptr, "BODY", 4)) { pBody = ptr; } ptr = strchr(ptr, '>'); if ((ptr == NULL) || (ptr >= msgend)) break; if ((pBody != NULL) && (ptr - pBody > 4)) { char* src; char *cid_start, *cid_end; *ptr = '\0'; pBody += 4; while ((isspace(*pBody)) && (pBody < ptr)) pBody ++; BodyArea = NewStrBufPlain(NULL, ptr - pBody); if (pBody < ptr) { src = strstr(pBody, "cid:"); if (src) { cid_start = src + 4; cid_end = cid_start; while ((*cid_end != '"') && !isspace(*cid_end) && (cid_end < ptr)) cid_end ++; /* copy tag and attributes up to src="cid: */ StrBufAppendBufPlain(BodyArea, pBody, src - pBody, 0); /* add in /webcit/mimepart//CID/ trailing / stops dumb URL filters getting excited */ StrBufAppendPrintf(BodyArea, "/webcit/mimepart/%d/",msgnum); StrBufAppendBufPlain(BodyArea, cid_start, cid_end - cid_start, 0); if (ptr - cid_end > 0) StrBufAppendBufPlain(BodyArea, cid_end + 1, ptr - cid_end, 0); } else StrBufAppendBufPlain(BodyArea, pBody, ptr - pBody, 0); } *ptr = '>'; } ++ptr; if ((ptr == NULL) || (ptr >= msgend)) break; msgstart = ptr; } /* * Any of these tags cause everything including and following * the tag to be removed. */ if ( (!strncasecmp(ptr, "/HTML", 5)) ||(!strncasecmp(ptr, "/BODY", 5)) ) { --ptr; msgend = ptr; strcpy(ptr, ""); } ++ptr; } if (msgstart > msg) { strcpy(msg, msgstart); } /* Now go through the message, parsing tags as necessary. */ converted_msg = NewStrBufPlain(NULL, content_length + 8192); /** Convert foreign character sets to UTF-8 if necessary. */ #ifdef HAVE_ICONV if ( (strcasecmp(charset, "us-ascii")) && (strcasecmp(charset, "UTF-8")) && (strcasecmp(charset, "")) ) { syslog(LOG_DEBUG, "Converting %s to UTF-8\n", charset); ctdl_iconv_open("UTF-8", charset, &ic); if (ic == (iconv_t)(-1) ) { syslog(LOG_WARNING, "%s:%d iconv_open() failed: %s\n", __FILE__, __LINE__, strerror(errno)); } } if (Source == NULL) { if (ic != (iconv_t)(-1) ) { ibuf = msg; ibuflen = content_length; obuflen = content_length + (content_length / 2) ; obuf = (char *) malloc(obuflen); osav = obuf; iconv(ic, &ibuf, &ibuflen, &obuf, &obuflen); content_length = content_length + (content_length / 2) - obuflen; osav[content_length] = 0; free(msg); msg = osav; iconv_close(ic); } } else { if (ic != (iconv_t)(-1) ) { StrBuf *Buf = NewStrBufPlain(NULL, StrLength(Source) + 8096);; StrBufConvert(Source, Buf, &ic); FreeStrBuf(&Buf); iconv_close(ic); msg = (char*)ChrPtr(Source); /* TODO: get rid of this. */ } } #endif /* * At this point, the message has been stripped down to * only the content inside the tags, and has * been converted to UTF-8 if it was originally in a foreign * character set. The text is also guaranteed to be null * terminated now. */ if (converted_msg == NULL) { StrBufAppendPrintf(Target, "Error %d: %s
    %s:%d", errno, strerror(errno), __FILE__, __LINE__); goto BAIL; } if (BodyArea != NULL) { StrBufAppendBufPlain(converted_msg, HKEY("
    "), 0); } ptr = msg; msgend = strchr(msg, 0); while (ptr < msgend) { /** Try to sanitize the html of any rogue scripts */ if (!strncasecmp(ptr, "'))) ) { /* open external links to new window */ StrBufAppendPrintf(converted_msg, new_window); ptr = &ptr[8]; } else if ( (treat_as_wiki) && (strncasecmp(ptr, "CurRoom.name, NULL); StrBufAppendPrintf(converted_msg, "?page="); ptr = &ptr[9]; } else { StrBufAppendPrintf(converted_msg, "'); char* src; /* FIXME - handle this situation (maybe someone opened an ') ||(ptr[i]=='[') ||(ptr[i]==']') ||(ptr[i]=='"') ||(ptr[i]=='\'') ) linklen = i; /* did s.b. send us an entity? */ if (ptr[i] == '&') { if ((ptr[i+2] ==';') || (ptr[i+3] ==';') || (ptr[i+5] ==';') || (ptr[i+6] ==';') || (ptr[i+7] ==';')) linklen = i; } if (linklen > 0) break; } if (linklen > 0) { char *ltreviewptr; char *nbspreviewptr; char linkedchar; int len; len = linklen; linkedchar = ptr[len]; ptr[len] = '\0'; /* spot for some subject strings tinymce tends to give us. */ ltreviewptr = strchr(ptr, '<'); if (ltreviewptr != NULL) { *ltreviewptr = '\0'; linklen = ltreviewptr - ptr; } nbspreviewptr = strstr(ptr, " "); if (nbspreviewptr != NULL) { /* nbspreviewptr = '\0'; */ linklen = nbspreviewptr - ptr; } if (ltreviewptr != 0) *ltreviewptr = '<'; ptr[len] = linkedchar; content_length += (32 + linklen); StrBufAppendPrintf(converted_msg, "%s\"", new_window); StrBufAppendBufPlain(converted_msg, ptr, linklen, 0); StrBufAppendPrintf(converted_msg, "\">"); StrBufAppendBufPlain(converted_msg, ptr, linklen, 0); ptr += linklen; StrBufAppendPrintf(converted_msg, ""); } } else { StrBufAppendBufPlain(converted_msg, ptr, 1, 0); ptr++; } if ((ptr >= msg) && (ptr <= msgend)) { /* * We need to know when we're inside a tag, * so we don't turn things that look like URL's into * links, when they're already links - or image sources. */ if ((ptr > msg) && (*(ptr-1) == '<')) { ++brak; } if ((ptr > msg) && (*(ptr-1) == '>')) { --brak; if ((scriptlevel == 0) && (script_start_pos >= 0)) { StrBufCutRight(converted_msg, StrLength(converted_msg) - script_start_pos); script_start_pos = (-1); } } if (!strncasecmp(ptr, "", 3)) --alevel; } } if (BodyArea != NULL) { StrBufAppendBufPlain(converted_msg, HKEY("
    "), 0); FreeStrBuf(&BodyArea); } /** uncomment these two lines to override conversion */ /** memcpy(converted_msg, msg, content_length); */ /** output_length = content_length; */ /** Output our big pile of markup */ StrBufAppendBuf(Target, converted_msg, 0); BAIL: /** A little trailing vertical whitespace... */ StrBufAppendPrintf(Target, "

    \n"); /** Now give back the memory */ FreeStrBuf(&converted_msg); if ((msg != NULL) && (Source == NULL)) free(msg); } /* * Look for URL's embedded in a buffer and make them linkable. We use a * target window in order to keep the Citadel session in its own window. */ void UrlizeText(StrBuf* Target, StrBuf *Source, StrBuf *WrkBuf) { int len, UrlLen, Offset, TrailerLen; const char *start, *end, *pos; FlushStrBuf(Target); start = NULL; len = StrLength(Source); end = ChrPtr(Source) + len; for (pos = ChrPtr(Source); (pos < end) && (start == NULL); ++pos) { if (!strncasecmp(pos, "http://", 7)) start = pos; else if (!strncasecmp(pos, "ftp://", 6)) start = pos; } if (start == NULL) { StrBufAppendBuf(Target, Source, 0); return; } FlushStrBuf(WrkBuf); for (pos = ChrPtr(Source) + len; pos > start; --pos) { if ( (!isprint(*pos)) || (isspace(*pos)) || (*pos == '{') || (*pos == '}') || (*pos == '|') || (*pos == '\\') || (*pos == '^') || (*pos == '[') || (*pos == ']') || (*pos == '`') || (*pos == '<') || (*pos == '>') || (*pos == '(') || (*pos == ')') ) { end = pos; } } UrlLen = end - start; StrBufAppendBufPlain(WrkBuf, start, UrlLen, 0); Offset = start - ChrPtr(Source); if (Offset != 0) StrBufAppendBufPlain(Target, ChrPtr(Source), Offset, 0); StrBufAppendPrintf(Target, "%ca href=%c%s%c TARGET=%c%s%c%c%s%c/A%c", LB, QU, ChrPtr(WrkBuf), QU, QU, TARGET, QU, RB, ChrPtr(WrkBuf), LB, RB); TrailerLen = StrLength(Source) - (end - ChrPtr(Source)); if (TrailerLen > 0) StrBufAppendBufPlain(Target, end, TrailerLen, 0); } void url(char *buf, size_t bufsize) { int len, UrlLen, Offset, TrailerLen, outpos; char *start, *end, *pos; char urlbuf[SIZ]; char outbuf[SIZ]; start = NULL; len = strlen(buf); if (len > bufsize) { syslog(LOG_WARNING, "URL: content longer than buffer!"); return; } end = buf + len; for (pos = buf; (pos < end) && (start == NULL); ++pos) { if (!strncasecmp(pos, "http://", 7)) start = pos; if (!strncasecmp(pos, "ftp://", 6)) start = pos; } if (start == NULL) return; for (pos = buf+len; pos > start; --pos) { if ( (!isprint(*pos)) || (isspace(*pos)) || (*pos == '{') || (*pos == '}') || (*pos == '|') || (*pos == '\\') || (*pos == '^') || (*pos == '[') || (*pos == ']') || (*pos == '`') || (*pos == '<') || (*pos == '>') || (*pos == '(') || (*pos == ')') ) { end = pos; } } UrlLen = end - start; if (UrlLen > sizeof(urlbuf)){ syslog(LOG_WARNING, "URL: content longer than buffer!"); return; } memcpy(urlbuf, start, UrlLen); urlbuf[UrlLen] = '\0'; Offset = start - buf; if ((Offset != 0) && (Offset < sizeof(outbuf))) memcpy(outbuf, buf, Offset); outpos = snprintf(&outbuf[Offset], sizeof(outbuf) - Offset, "%ca href=%c%s%c TARGET=%c%s%c%c%s%c/A%c", LB, QU, urlbuf, QU, QU, TARGET, QU, RB, urlbuf, LB, RB); if (outpos >= sizeof(outbuf) - Offset) { syslog(LOG_WARNING, "URL: content longer than buffer!"); return; } TrailerLen = len - (end - start); if (TrailerLen > 0) memcpy(outbuf + Offset + outpos, end, TrailerLen); if (Offset + outpos + TrailerLen > bufsize) { syslog(LOG_WARNING, "URL: content longer than buffer!"); return; } memcpy (buf, outbuf, Offset + outpos + TrailerLen); *(buf + Offset + outpos + TrailerLen) = '\0'; } webcit-9.01-dfsg/http_datestring.c000066400000000000000000000036501254743150300172200ustar00rootroot00000000000000#include "webcit.h" /** HTTP Months - do not translate - these are not for human consumption */ static char *httpdate_months[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; /** HTTP Weekdays - do not translate - these are not for human consumption */ static char *httpdate_weekdays[] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; /** * \brief Supplied with a unix timestamp, generate a textual time/date stamp * \param buf the return buffer * \param n the size of the buffer * \param xtime the time to format as string */ void http_datestring(char *buf, size_t n, time_t xtime) { struct tm t; long offset; char offsign; localtime_r(&xtime, &t); /** Convert "seconds west of GMT" to "hours/minutes offset" */ #ifdef HAVE_STRUCT_TM_TM_GMTOFF offset = t.tm_gmtoff; #else offset = timezone; #endif if (offset > 0) { offsign = '+'; } else { offset = 0L - offset; offsign = '-'; } offset = ( (offset / 3600) * 100 ) + ( offset % 60 ); snprintf(buf, n, "%s, %02d %s %04d %02d:%02d:%02d %c%04ld", httpdate_weekdays[t.tm_wday], t.tm_mday, httpdate_months[t.tm_mon], t.tm_year + 1900, t.tm_hour, t.tm_min, t.tm_sec, offsign, offset ); } void tmplput_nowstr(StrBuf *Target, WCTemplputParams *TP) { char buf[64]; long bufused; time_t now; now = time(NULL); #ifdef HAVE_SOLARIS_LOCALTIME_R asctime_r(localtime(&now), buf, sizeof(buf)); #else asctime_r(localtime(&now), buf); #endif bufused = strlen(buf); if ((bufused > 0) && (buf[bufused - 1] == '\n')) { buf[bufused - 1] = '\0'; bufused --; } StrEscAppend(Target, NULL, buf, 0, 0); } void tmplput_nowno(StrBuf *Target, WCTemplputParams *TP) { time_t now; now = time(NULL); StrBufAppendPrintf(Target, "%ld", now); } void InitModule_DATE (void) { RegisterNamespace("DATE:NOW:STR", 0, 0, tmplput_nowstr, NULL, CTX_NONE); RegisterNamespace("DATE:NOW:NO", 0, 0, tmplput_nowno, NULL, CTX_NONE); } webcit-9.01-dfsg/ical_dezonify.c000066400000000000000000000143221254743150300166320ustar00rootroot00000000000000/* * Function to go through an ical component set and convert all non-UTC * date/time properties to UTC. It also strips out any VTIMEZONE * subcomponents afterwards, because they're irrelevant. * * Everything here will work on both a fully encapsulated VCALENDAR component * or any type of subcomponent. */ #include "webcit.h" #include "webserver.h" /* * Figure out which time zone needs to be used for timestamps that are * not UTC and do not have a time zone specified. * */ icaltimezone *get_default_icaltimezone(void) { icaltimezone *zone = NULL; const char *default_zone_name = ChrPtr(WC->serv_info->serv_default_cal_zone); if (!zone) { zone = icaltimezone_get_builtin_timezone(default_zone_name); } if (!zone) { syslog(LOG_WARNING, "Unable to load '%s' time zone. Defaulting to UTC.\n", default_zone_name); zone = icaltimezone_get_utc_timezone(); } if (!zone) { syslog(LOG_EMERG, "Unable to load UTC time zone!\n"); } return zone; } /* * Back end function for ical_dezonify() * * We supply this with the master component, the relevant component, * and the property (which will be a DTSTART, DTEND, etc.) * which we want to convert to UTC. */ void ical_dezonify_backend(icalcomponent *cal, icalcomponent *rcal, icalproperty *prop) { icaltimezone *t = NULL; icalparameter *param; const char *tzid = NULL; struct icaltimetype TheTime; int utc_declared_as_tzid = 0; /* Component declared 'TZID=GMT' instead of using Z syntax */ /* Give me nothing and I will give you nothing in return. */ if (cal == NULL) return; /* Hunt for a TZID parameter in this property. */ param = icalproperty_get_first_parameter(prop, ICAL_TZID_PARAMETER); /* Get the stringish name of this TZID. */ if (param != NULL) { tzid = icalparameter_get_tzid(param); /* Convert it to an icaltimezone type. */ if (tzid != NULL) { #ifdef DBG_ICAL syslog(LOG_DEBUG, " * Stringy supplied timezone is: '%s'\n", tzid); #endif if ( (!strcasecmp(tzid, "UTC")) || (!strcasecmp(tzid, "GMT")) ) { utc_declared_as_tzid = 1; #ifdef DBG_ICAL syslog(LOG_DEBUG, " * ...and we handle that internally.\n"); #endif } else { /* try attached first */ t = icalcomponent_get_timezone(cal, tzid); #ifdef DBG_ICAL syslog(LOG_DEBUG, " * ...and I %s have tzdata for that zone.\n", (t ? "DO" : "DO NOT") ); #endif /* then try built-in timezones */ if (!t) { t = icaltimezone_get_builtin_timezone(tzid); #ifdef DBG_ICAL if (t) { syslog(LOG_DEBUG, " * Using system tzdata!\n"); } #endif } } } } /* Now we know the timezone. Convert to UTC. */ if (icalproperty_isa(prop) == ICAL_DTSTART_PROPERTY) { TheTime = icalproperty_get_dtstart(prop); } else if (icalproperty_isa(prop) == ICAL_DTEND_PROPERTY) { TheTime = icalproperty_get_dtend(prop); } else if (icalproperty_isa(prop) == ICAL_DUE_PROPERTY) { TheTime = icalproperty_get_due(prop); } else if (icalproperty_isa(prop) == ICAL_EXDATE_PROPERTY) { TheTime = icalproperty_get_exdate(prop); } else { return; } #ifdef DBG_ICAL syslog(LOG_DEBUG, " * Was: %s\n", icaltime_as_ical_string(TheTime)); #endif if (TheTime.is_utc) { #ifdef DBG_ICAL syslog(LOG_DEBUG, " * This property is ALREADY UTC.\n"); #endif } else if (utc_declared_as_tzid) { #ifdef DBG_ICAL syslog(LOG_DEBUG, " * Replacing '%s' TZID with 'Z' suffix.\n", tzid); #endif TheTime.is_utc = 1; } else { /* Do the conversion. */ if (t != NULL) { #ifdef DBG_ICAL syslog(LOG_DEBUG, " * Timezone prop found. Converting to UTC.\n"); #endif } else { #ifdef DBG_ICAL syslog(LOG_DEBUG, " * Converting default timezone to UTC.\n"); #endif } if (t == NULL) { t = get_default_icaltimezone(); } icaltimezone_convert_time(&TheTime, t, icaltimezone_get_utc_timezone()); TheTime.is_utc = 1; } icalproperty_remove_parameter_by_kind(prop, ICAL_TZID_PARAMETER); #ifdef DBG_ICAL syslog(LOG_DEBUG, " * Now: %s\n", icaltime_as_ical_string(TheTime)); #endif /* Now add the converted property back in. */ if (icalproperty_isa(prop) == ICAL_DTSTART_PROPERTY) { icalproperty_set_dtstart(prop, TheTime); } else if (icalproperty_isa(prop) == ICAL_DTEND_PROPERTY) { icalproperty_set_dtend(prop, TheTime); } else if (icalproperty_isa(prop) == ICAL_DUE_PROPERTY) { icalproperty_set_due(prop, TheTime); } else if (icalproperty_isa(prop) == ICAL_EXDATE_PROPERTY) { icalproperty_set_exdate(prop, TheTime); } } /* * Recursive portion of ical_dezonify() */ void ical_dezonify_recurse(icalcomponent *cal, icalcomponent *rcal) { icalcomponent *c; icalproperty *p; /* * Recurse through all subcomponents *except* VTIMEZONE ones. */ for (c=icalcomponent_get_first_component( rcal, ICAL_ANY_COMPONENT); c != NULL; c = icalcomponent_get_next_component( rcal, ICAL_ANY_COMPONENT) ) { if (icalcomponent_isa(c) != ICAL_VTIMEZONE_COMPONENT) { ical_dezonify_recurse(cal, c); } } /* * Now look for DTSTART and DTEND properties */ for (p=icalcomponent_get_first_property(rcal, ICAL_ANY_PROPERTY); p != NULL; p = icalcomponent_get_next_property(rcal, ICAL_ANY_PROPERTY) ) { if ( (icalproperty_isa(p) == ICAL_DTSTART_PROPERTY) || (icalproperty_isa(p) == ICAL_DTEND_PROPERTY) || (icalproperty_isa(p) == ICAL_DUE_PROPERTY) || (icalproperty_isa(p) == ICAL_EXDATE_PROPERTY) ) { ical_dezonify_backend(cal, rcal, p); } } } /* * Convert all DTSTART and DTEND properties in all subcomponents to UTC. * This function will search any VTIMEZONE subcomponents to learn the * relevant timezone information. */ void ical_dezonify(icalcomponent *cal) { icalcomponent *vt = NULL; #ifdef DBG_ICAL syslog(LOG_DEBUG, "ical_dezonify() started\n"); #endif /* Convert all times to UTC */ ical_dezonify_recurse(cal, cal); /* Strip out VTIMEZONE subcomponents -- we don't need them anymore */ while (vt = icalcomponent_get_first_component( cal, ICAL_VTIMEZONE_COMPONENT), vt != NULL) { icalcomponent_remove_component(cal, vt); icalcomponent_free(vt); } #ifdef DBG_ICAL syslog(LOG_DEBUG, "ical_dezonify() completed\n"); #endif } webcit-9.01-dfsg/ical_maps.c000066400000000000000000001210731254743150300157450ustar00rootroot00000000000000#include "webcit.h" typedef struct _Ical_icalproperty_kind { const char *Name; long NameLen; icalproperty_kind map; } Ical_icalproperty_kind; typedef struct _Ical_icalcomponent_kind { const char *Name; long NameLen; icalcomponent_kind map; } Ical_icalcomponent_kind; typedef struct _Ical_icalrequeststatus { const char *Name; long NameLen; icalrequeststatus map; } Ical_icalrequeststatus; typedef struct _Ical_ical_unknown_token_handling { const char *Name; long NameLen; ical_unknown_token_handling map; } Ical_ical_unknown_token_handling; typedef struct _Ical_icalrecurrencetype_frequency { const char *Name; long NameLen; icalrecurrencetype_frequency map; } Ical_icalrecurrencetype_frequency; typedef struct _Ical_icalrecurrencetype_weekday { const char *Name; long NameLen; icalrecurrencetype_weekday map; } Ical_icalrecurrencetype_weekday; typedef struct _Ical_icalvalue_kind { const char *Name; long NameLen; icalvalue_kind map; } Ical_icalvalue_kind; typedef struct _Ical_icalproperty_action { const char *Name; long NameLen; icalproperty_action map; } Ical_icalproperty_action; typedef struct _Ical_icalproperty_carlevel { const char *Name; long NameLen; icalproperty_carlevel map; } Ical_icalproperty_carlevel; typedef struct _Ical_icalproperty_class { const char *Name; long NameLen; icalproperty_class map; } Ical_icalproperty_class; typedef struct _Ical_icalproperty_cmd { const char *Name; long NameLen; icalproperty_cmd map; } Ical_icalproperty_cmd; typedef struct _Ical_icalproperty_method { const char *Name; long NameLen; icalproperty_method map; } Ical_icalproperty_method; typedef struct _Ical_icalproperty_querylevel { const char *Name; long NameLen; icalproperty_querylevel map; } Ical_icalproperty_querylevel; typedef struct _Ical_icalproperty_status { const char *Name; long NameLen; icalproperty_status map; } Ical_icalproperty_status; typedef struct _Ical_icalproperty_transp { const char *Name; long NameLen; icalproperty_transp map; } Ical_icalproperty_transp; typedef struct _Ical_icalproperty_xlicclass { const char *Name; long NameLen; icalproperty_xlicclass map; } Ical_icalproperty_xlicclass; typedef struct _Ical_icalparameter_kind { const char *Name; long NameLen; icalparameter_kind map; } Ical_icalparameter_kind; typedef struct _Ical_icalparameter_action { const char *Name; long NameLen; icalparameter_action map; } Ical_icalparameter_action; typedef struct _Ical_icalparameter_cutype { const char *Name; long NameLen; icalparameter_cutype map; } Ical_icalparameter_cutype; typedef struct _Ical_icalparameter_enable { const char *Name; long NameLen; icalparameter_enable map; } Ical_icalparameter_enable; typedef struct _Ical_icalparameter_encoding { const char *Name; long NameLen; icalparameter_encoding map; } Ical_icalparameter_encoding; typedef struct _Ical_icalparameter_fbtype { const char *Name; long NameLen; icalparameter_fbtype map; } Ical_icalparameter_fbtype; typedef struct _Ical_icalparameter_local { const char *Name; long NameLen; icalparameter_local map; } Ical_icalparameter_local; typedef struct _Ical_icalparameter_partstat { const char *Name; long NameLen; icalparameter_partstat map; } Ical_icalparameter_partstat; typedef struct _Ical_icalparameter_range { const char *Name; long NameLen; icalparameter_range map; } Ical_icalparameter_range; typedef struct _Ical_icalparameter_related { const char *Name; long NameLen; icalparameter_related map; } Ical_icalparameter_related; typedef struct _Ical_icalparameter_reltype { const char *Name; long NameLen; icalparameter_reltype map; } Ical_icalparameter_reltype; typedef struct _Ical_icalparameter_role { const char *Name; long NameLen; icalparameter_role map; } Ical_icalparameter_role; typedef struct _Ical_icalparameter_rsvp { const char *Name; long NameLen; icalparameter_rsvp map; } Ical_icalparameter_rsvp; typedef struct _Ical_icalparameter_value { const char *Name; long NameLen; icalparameter_value map; } Ical_icalparameter_value; typedef struct _Ical_icalparameter_xliccomparetype { const char *Name; long NameLen; icalparameter_xliccomparetype map; } Ical_icalparameter_xliccomparetype; typedef struct _Ical_icalparameter_xlicerrortype { const char *Name; long NameLen; icalparameter_xlicerrortype map; } Ical_icalparameter_xlicerrortype; typedef struct _Ical_icalparser_state { const char *Name; long NameLen; icalparser_state map; } Ical_icalparser_state; typedef struct _Ical_icalerrorenum { const char *Name; long NameLen; icalerrorenum map; } Ical_icalerrorenum; typedef struct _Ical_icalerrorstate { const char *Name; long NameLen; icalerrorstate map; } Ical_icalerrorstate; typedef struct _Ical_icalrestriction_kind { const char *Name; long NameLen; icalrestriction_kind map; } Ical_icalrestriction_kind; Ical_icalproperty_kind icalproperty_kind_map[] = { {HKEY("ICAL_ANY_PROPERTY"), ICAL_ANY_PROPERTY}, {HKEY("ICAL_ACTION_PROPERTY"), ICAL_ACTION_PROPERTY}, {HKEY("ICAL_ALLOWCONFLICT_PROPERTY"), ICAL_ALLOWCONFLICT_PROPERTY}, {HKEY("ICAL_ATTACH_PROPERTY"), ICAL_ATTACH_PROPERTY}, {HKEY("ICAL_ATTENDEE_PROPERTY"), ICAL_ATTENDEE_PROPERTY}, {HKEY("ICAL_CALID_PROPERTY"), ICAL_CALID_PROPERTY}, {HKEY("ICAL_CALMASTER_PROPERTY"), ICAL_CALMASTER_PROPERTY}, {HKEY("ICAL_CALSCALE_PROPERTY"), ICAL_CALSCALE_PROPERTY}, {HKEY("ICAL_CAPVERSION_PROPERTY"), ICAL_CAPVERSION_PROPERTY}, {HKEY("ICAL_CARLEVEL_PROPERTY"), ICAL_CARLEVEL_PROPERTY}, {HKEY("ICAL_CARID_PROPERTY"), ICAL_CARID_PROPERTY}, {HKEY("ICAL_CATEGORIES_PROPERTY"), ICAL_CATEGORIES_PROPERTY}, {HKEY("ICAL_CLASS_PROPERTY"), ICAL_CLASS_PROPERTY}, {HKEY("ICAL_CMD_PROPERTY"), ICAL_CMD_PROPERTY}, {HKEY("ICAL_COMMENT_PROPERTY"), ICAL_COMMENT_PROPERTY}, {HKEY("ICAL_COMPLETED_PROPERTY"), ICAL_COMPLETED_PROPERTY}, {HKEY("ICAL_COMPONENTS_PROPERTY"), ICAL_COMPONENTS_PROPERTY}, {HKEY("ICAL_CONTACT_PROPERTY"), ICAL_CONTACT_PROPERTY}, {HKEY("ICAL_CREATED_PROPERTY"), ICAL_CREATED_PROPERTY}, {HKEY("ICAL_CSID_PROPERTY"), ICAL_CSID_PROPERTY}, {HKEY("ICAL_DATEMAX_PROPERTY"), ICAL_DATEMAX_PROPERTY}, {HKEY("ICAL_DATEMIN_PROPERTY"), ICAL_DATEMIN_PROPERTY}, {HKEY("ICAL_DECREED_PROPERTY"), ICAL_DECREED_PROPERTY}, {HKEY("ICAL_DEFAULTCHARSET_PROPERTY"), ICAL_DEFAULTCHARSET_PROPERTY}, {HKEY("ICAL_DEFAULTLOCALE_PROPERTY"), ICAL_DEFAULTLOCALE_PROPERTY}, {HKEY("ICAL_DEFAULTTZID_PROPERTY"), ICAL_DEFAULTTZID_PROPERTY}, {HKEY("ICAL_DEFAULTVCARS_PROPERTY"), ICAL_DEFAULTVCARS_PROPERTY}, {HKEY("ICAL_DENY_PROPERTY"), ICAL_DENY_PROPERTY}, {HKEY("ICAL_DESCRIPTION_PROPERTY"), ICAL_DESCRIPTION_PROPERTY}, {HKEY("ICAL_DTEND_PROPERTY"), ICAL_DTEND_PROPERTY}, {HKEY("ICAL_DTSTAMP_PROPERTY"), ICAL_DTSTAMP_PROPERTY}, {HKEY("ICAL_DTSTART_PROPERTY"), ICAL_DTSTART_PROPERTY}, {HKEY("ICAL_DUE_PROPERTY"), ICAL_DUE_PROPERTY}, {HKEY("ICAL_DURATION_PROPERTY"), ICAL_DURATION_PROPERTY}, {HKEY("ICAL_EXDATE_PROPERTY"), ICAL_EXDATE_PROPERTY}, {HKEY("ICAL_EXPAND_PROPERTY"), ICAL_EXPAND_PROPERTY}, {HKEY("ICAL_EXRULE_PROPERTY"), ICAL_EXRULE_PROPERTY}, {HKEY("ICAL_FREEBUSY_PROPERTY"), ICAL_FREEBUSY_PROPERTY}, {HKEY("ICAL_GEO_PROPERTY"), ICAL_GEO_PROPERTY}, {HKEY("ICAL_GRANT_PROPERTY"), ICAL_GRANT_PROPERTY}, {HKEY("ICAL_ITIPVERSION_PROPERTY"), ICAL_ITIPVERSION_PROPERTY}, {HKEY("ICAL_LASTMODIFIED_PROPERTY"), ICAL_LASTMODIFIED_PROPERTY}, {HKEY("ICAL_LOCATION_PROPERTY"), ICAL_LOCATION_PROPERTY}, {HKEY("ICAL_MAXCOMPONENTSIZE_PROPERTY"), ICAL_MAXCOMPONENTSIZE_PROPERTY}, {HKEY("ICAL_MAXDATE_PROPERTY"), ICAL_MAXDATE_PROPERTY}, {HKEY("ICAL_MAXRESULTS_PROPERTY"), ICAL_MAXRESULTS_PROPERTY}, {HKEY("ICAL_MAXRESULTSSIZE_PROPERTY"), ICAL_MAXRESULTSSIZE_PROPERTY}, {HKEY("ICAL_METHOD_PROPERTY"), ICAL_METHOD_PROPERTY}, {HKEY("ICAL_MINDATE_PROPERTY"), ICAL_MINDATE_PROPERTY}, {HKEY("ICAL_MULTIPART_PROPERTY"), ICAL_MULTIPART_PROPERTY}, {HKEY("ICAL_NAME_PROPERTY"), ICAL_NAME_PROPERTY}, {HKEY("ICAL_ORGANIZER_PROPERTY"), ICAL_ORGANIZER_PROPERTY}, {HKEY("ICAL_OWNER_PROPERTY"), ICAL_OWNER_PROPERTY}, {HKEY("ICAL_PERCENTCOMPLETE_PROPERTY"), ICAL_PERCENTCOMPLETE_PROPERTY}, {HKEY("ICAL_PERMISSION_PROPERTY"), ICAL_PERMISSION_PROPERTY}, {HKEY("ICAL_PRIORITY_PROPERTY"), ICAL_PRIORITY_PROPERTY}, {HKEY("ICAL_PRODID_PROPERTY"), ICAL_PRODID_PROPERTY}, {HKEY("ICAL_QUERY_PROPERTY"), ICAL_QUERY_PROPERTY}, {HKEY("ICAL_QUERYLEVEL_PROPERTY"), ICAL_QUERYLEVEL_PROPERTY}, {HKEY("ICAL_QUERYID_PROPERTY"), ICAL_QUERYID_PROPERTY}, {HKEY("ICAL_QUERYNAME_PROPERTY"), ICAL_QUERYNAME_PROPERTY}, {HKEY("ICAL_RDATE_PROPERTY"), ICAL_RDATE_PROPERTY}, {HKEY("ICAL_RECURACCEPTED_PROPERTY"), ICAL_RECURACCEPTED_PROPERTY}, {HKEY("ICAL_RECUREXPAND_PROPERTY"), ICAL_RECUREXPAND_PROPERTY}, {HKEY("ICAL_RECURLIMIT_PROPERTY"), ICAL_RECURLIMIT_PROPERTY}, {HKEY("ICAL_RECURRENCEID_PROPERTY"), ICAL_RECURRENCEID_PROPERTY}, {HKEY("ICAL_RELATEDTO_PROPERTY"), ICAL_RELATEDTO_PROPERTY}, {HKEY("ICAL_RELCALID_PROPERTY"), ICAL_RELCALID_PROPERTY}, {HKEY("ICAL_REPEAT_PROPERTY"), ICAL_REPEAT_PROPERTY}, {HKEY("ICAL_REQUESTSTATUS_PROPERTY"), ICAL_REQUESTSTATUS_PROPERTY}, {HKEY("ICAL_RESOURCES_PROPERTY"), ICAL_RESOURCES_PROPERTY}, {HKEY("ICAL_RESTRICTION_PROPERTY"), ICAL_RESTRICTION_PROPERTY}, {HKEY("ICAL_RRULE_PROPERTY"), ICAL_RRULE_PROPERTY}, {HKEY("ICAL_SCOPE_PROPERTY"), ICAL_SCOPE_PROPERTY}, {HKEY("ICAL_SEQUENCE_PROPERTY"), ICAL_SEQUENCE_PROPERTY}, {HKEY("ICAL_STATUS_PROPERTY"), ICAL_STATUS_PROPERTY}, {HKEY("ICAL_STORESEXPANDED_PROPERTY"), ICAL_STORESEXPANDED_PROPERTY}, {HKEY("ICAL_SUMMARY_PROPERTY"), ICAL_SUMMARY_PROPERTY}, {HKEY("ICAL_TARGET_PROPERTY"), ICAL_TARGET_PROPERTY}, {HKEY("ICAL_TRANSP_PROPERTY"), ICAL_TRANSP_PROPERTY}, {HKEY("ICAL_TRIGGER_PROPERTY"), ICAL_TRIGGER_PROPERTY}, {HKEY("ICAL_TZID_PROPERTY"), ICAL_TZID_PROPERTY}, {HKEY("ICAL_TZNAME_PROPERTY"), ICAL_TZNAME_PROPERTY}, {HKEY("ICAL_TZOFFSETFROM_PROPERTY"), ICAL_TZOFFSETFROM_PROPERTY}, {HKEY("ICAL_TZOFFSETTO_PROPERTY"), ICAL_TZOFFSETTO_PROPERTY}, {HKEY("ICAL_TZURL_PROPERTY"), ICAL_TZURL_PROPERTY}, {HKEY("ICAL_UID_PROPERTY"), ICAL_UID_PROPERTY}, {HKEY("ICAL_URL_PROPERTY"), ICAL_URL_PROPERTY}, {HKEY("ICAL_VERSION_PROPERTY"), ICAL_VERSION_PROPERTY}, {HKEY("ICAL_X_PROPERTY"), ICAL_X_PROPERTY}, {HKEY("ICAL_XLICCLASS_PROPERTY"), ICAL_XLICCLASS_PROPERTY}, {HKEY("ICAL_XLICCLUSTERCOUNT_PROPERTY"), ICAL_XLICCLUSTERCOUNT_PROPERTY}, {HKEY("ICAL_XLICERROR_PROPERTY"), ICAL_XLICERROR_PROPERTY}, {HKEY("ICAL_XLICMIMECHARSET_PROPERTY"), ICAL_XLICMIMECHARSET_PROPERTY}, {HKEY("ICAL_XLICMIMECID_PROPERTY"), ICAL_XLICMIMECID_PROPERTY}, {HKEY("ICAL_XLICMIMECONTENTTYPE_PROPERTY"), ICAL_XLICMIMECONTENTTYPE_PROPERTY}, {HKEY("ICAL_XLICMIMEENCODING_PROPERTY"), ICAL_XLICMIMEENCODING_PROPERTY}, {HKEY("ICAL_XLICMIMEFILENAME_PROPERTY"), ICAL_XLICMIMEFILENAME_PROPERTY}, {HKEY("ICAL_XLICMIMEOPTINFO_PROPERTY"), ICAL_XLICMIMEOPTINFO_PROPERTY}, {HKEY("ICAL_NO_PROPERTY"), ICAL_NO_PROPERTY}, {"", 0, 0} }; Ical_icalcomponent_kind icalcomponent_kind_map[] = { {HKEY("ICAL_NO_COMPONENT"), ICAL_NO_COMPONENT}, {HKEY("ICAL_ANY_COMPONENT"), ICAL_ANY_COMPONENT}, {HKEY("ICAL_XROOT_COMPONENT"), ICAL_XROOT_COMPONENT}, {HKEY("ICAL_XATTACH_COMPONENT"), ICAL_XATTACH_COMPONENT}, {HKEY("ICAL_VEVENT_COMPONENT"), ICAL_VEVENT_COMPONENT}, {HKEY("ICAL_VTODO_COMPONENT"), ICAL_VTODO_COMPONENT}, {HKEY("ICAL_VJOURNAL_COMPONENT"), ICAL_VJOURNAL_COMPONENT}, {HKEY("ICAL_VCALENDAR_COMPONENT"), ICAL_VCALENDAR_COMPONENT}, {HKEY("ICAL_VAGENDA_COMPONENT"), ICAL_VAGENDA_COMPONENT}, {HKEY("ICAL_VFREEBUSY_COMPONENT"), ICAL_VFREEBUSY_COMPONENT}, {HKEY("ICAL_VALARM_COMPONENT"), ICAL_VALARM_COMPONENT}, {HKEY("ICAL_XAUDIOALARM_COMPONENT"), ICAL_XAUDIOALARM_COMPONENT}, {HKEY("ICAL_XDISPLAYALARM_COMPONENT"), ICAL_XDISPLAYALARM_COMPONENT}, {HKEY("ICAL_XEMAILALARM_COMPONENT"), ICAL_XEMAILALARM_COMPONENT}, {HKEY("ICAL_XPROCEDUREALARM_COMPONENT"), ICAL_XPROCEDUREALARM_COMPONENT}, {HKEY("ICAL_VTIMEZONE_COMPONENT"), ICAL_VTIMEZONE_COMPONENT}, {HKEY("ICAL_XSTANDARD_COMPONENT"), ICAL_XSTANDARD_COMPONENT}, {HKEY("ICAL_XDAYLIGHT_COMPONENT"), ICAL_XDAYLIGHT_COMPONENT}, {HKEY("ICAL_X_COMPONENT"), ICAL_X_COMPONENT}, {HKEY("ICAL_VSCHEDULE_COMPONENT"), ICAL_VSCHEDULE_COMPONENT}, {HKEY("ICAL_VQUERY_COMPONENT"), ICAL_VQUERY_COMPONENT}, {HKEY("ICAL_VREPLY_COMPONENT"), ICAL_VREPLY_COMPONENT}, {HKEY("ICAL_VCAR_COMPONENT"), ICAL_VCAR_COMPONENT}, {HKEY("ICAL_VCOMMAND_COMPONENT"), ICAL_VCOMMAND_COMPONENT}, {HKEY("ICAL_XLICINVALID_COMPONENT"), ICAL_XLICINVALID_COMPONENT}, {HKEY("ICAL_XLICMIMEPART_COMPONENT"), ICAL_XLICMIMEPART_COMPONENT}, {"", 0, 0} }; Ical_icalrequeststatus icalrequeststatus_map[] = { {HKEY("ICAL_UNKNOWN_STATUS"), ICAL_UNKNOWN_STATUS}, {HKEY("ICAL_2_0_SUCCESS_STATUS"), ICAL_2_0_SUCCESS_STATUS}, {HKEY("ICAL_2_1_FALLBACK_STATUS"), ICAL_2_1_FALLBACK_STATUS}, {HKEY("ICAL_2_2_IGPROP_STATUS"), ICAL_2_2_IGPROP_STATUS}, {HKEY("ICAL_2_3_IGPARAM_STATUS"), ICAL_2_3_IGPARAM_STATUS}, {HKEY("ICAL_2_4_IGXPROP_STATUS"), ICAL_2_4_IGXPROP_STATUS}, {HKEY("ICAL_2_5_IGXPARAM_STATUS"), ICAL_2_5_IGXPARAM_STATUS}, {HKEY("ICAL_2_6_IGCOMP_STATUS"), ICAL_2_6_IGCOMP_STATUS}, {HKEY("ICAL_2_7_FORWARD_STATUS"), ICAL_2_7_FORWARD_STATUS}, {HKEY("ICAL_2_8_ONEEVENT_STATUS"), ICAL_2_8_ONEEVENT_STATUS}, {HKEY("ICAL_2_9_TRUNC_STATUS"), ICAL_2_9_TRUNC_STATUS}, {HKEY("ICAL_2_10_ONETODO_STATUS"), ICAL_2_10_ONETODO_STATUS}, {HKEY("ICAL_2_11_TRUNCRRULE_STATUS"), ICAL_2_11_TRUNCRRULE_STATUS}, {HKEY("ICAL_3_0_INVPROPNAME_STATUS"), ICAL_3_0_INVPROPNAME_STATUS}, {HKEY("ICAL_3_1_INVPROPVAL_STATUS"), ICAL_3_1_INVPROPVAL_STATUS}, {HKEY("ICAL_3_2_INVPARAM_STATUS"), ICAL_3_2_INVPARAM_STATUS}, {HKEY("ICAL_3_3_INVPARAMVAL_STATUS"), ICAL_3_3_INVPARAMVAL_STATUS}, {HKEY("ICAL_3_4_INVCOMP_STATUS"), ICAL_3_4_INVCOMP_STATUS}, {HKEY("ICAL_3_5_INVTIME_STATUS"), ICAL_3_5_INVTIME_STATUS}, {HKEY("ICAL_3_6_INVRULE_STATUS"), ICAL_3_6_INVRULE_STATUS}, {HKEY("ICAL_3_7_INVCU_STATUS"), ICAL_3_7_INVCU_STATUS}, {HKEY("ICAL_3_8_NOAUTH_STATUS"), ICAL_3_8_NOAUTH_STATUS}, {HKEY("ICAL_3_9_BADVERSION_STATUS"), ICAL_3_9_BADVERSION_STATUS}, {HKEY("ICAL_3_10_TOOBIG_STATUS"), ICAL_3_10_TOOBIG_STATUS}, {HKEY("ICAL_3_11_MISSREQCOMP_STATUS"), ICAL_3_11_MISSREQCOMP_STATUS}, {HKEY("ICAL_3_12_UNKCOMP_STATUS"), ICAL_3_12_UNKCOMP_STATUS}, {HKEY("ICAL_3_13_BADCOMP_STATUS"), ICAL_3_13_BADCOMP_STATUS}, {HKEY("ICAL_3_14_NOCAP_STATUS"), ICAL_3_14_NOCAP_STATUS}, {HKEY("ICAL_3_15_INVCOMMAND"), ICAL_3_15_INVCOMMAND}, {HKEY("ICAL_4_0_BUSY_STATUS"), ICAL_4_0_BUSY_STATUS}, {HKEY("ICAL_4_1_STORE_ACCESS_DENIED"), ICAL_4_1_STORE_ACCESS_DENIED}, {HKEY("ICAL_4_2_STORE_FAILED"), ICAL_4_2_STORE_FAILED}, {HKEY("ICAL_4_3_STORE_NOT_FOUND"), ICAL_4_3_STORE_NOT_FOUND}, {HKEY("ICAL_5_0_MAYBE_STATUS"), ICAL_5_0_MAYBE_STATUS}, {HKEY("ICAL_5_1_UNAVAIL_STATUS"), ICAL_5_1_UNAVAIL_STATUS}, {HKEY("ICAL_5_2_NOSERVICE_STATUS"), ICAL_5_2_NOSERVICE_STATUS}, {HKEY("ICAL_5_3_NOSCHED_STATUS"), ICAL_5_3_NOSCHED_STATUS}, {HKEY("ICAL_6_1_CONTAINER_NOT_FOUND"), ICAL_6_1_CONTAINER_NOT_FOUND}, {HKEY("ICAL_9_0_UNRECOGNIZED_COMMAND"), ICAL_9_0_UNRECOGNIZED_COMMAND}, {"", 0, 0} }; Ical_ical_unknown_token_handling ical_unknown_token_handling_map[] = { {HKEY("ICAL_ASSUME_IANA_TOKEN"), ICAL_ASSUME_IANA_TOKEN}, {HKEY("ICAL_DISCARD_TOKEN"), ICAL_DISCARD_TOKEN}, {HKEY("ICAL_TREAT_AS_ERROR"), ICAL_TREAT_AS_ERROR}, {"", 0, 0} }; Ical_icalrecurrencetype_frequency icalrecurrencetype_frequency_map[] = { {HKEY("ICAL_SECONDLY_RECURRENCE"), ICAL_SECONDLY_RECURRENCE}, {HKEY("ICAL_MINUTELY_RECURRENCE"), ICAL_MINUTELY_RECURRENCE}, {HKEY("ICAL_HOURLY_RECURRENCE"), ICAL_HOURLY_RECURRENCE}, {HKEY("ICAL_DAILY_RECURRENCE"), ICAL_DAILY_RECURRENCE}, {HKEY("ICAL_WEEKLY_RECURRENCE"), ICAL_WEEKLY_RECURRENCE}, {HKEY("ICAL_MONTHLY_RECURRENCE"), ICAL_MONTHLY_RECURRENCE}, {HKEY("ICAL_YEARLY_RECURRENCE"), ICAL_YEARLY_RECURRENCE}, {HKEY("ICAL_NO_RECURRENCE"), ICAL_NO_RECURRENCE}, {"", 0, 0} }; Ical_icalrecurrencetype_weekday icalrecurrencetype_weekday_map[] = { {HKEY("ICAL_NO_WEEKDAY"), ICAL_NO_WEEKDAY}, {HKEY("ICAL_SUNDAY_WEEKDAY"), ICAL_SUNDAY_WEEKDAY}, {HKEY("ICAL_MONDAY_WEEKDAY"), ICAL_MONDAY_WEEKDAY}, {HKEY("ICAL_TUESDAY_WEEKDAY"), ICAL_TUESDAY_WEEKDAY}, {HKEY("ICAL_WEDNESDAY_WEEKDAY"), ICAL_WEDNESDAY_WEEKDAY}, {HKEY("ICAL_THURSDAY_WEEKDAY"), ICAL_THURSDAY_WEEKDAY}, {HKEY("ICAL_FRIDAY_WEEKDAY"), ICAL_FRIDAY_WEEKDAY}, {HKEY("ICAL_SATURDAY_WEEKDAY"), ICAL_SATURDAY_WEEKDAY}, {"", 0, 0} }; Ical_icalvalue_kind icalvalue_kind_map[] = { {HKEY("ICAL_ANY_VALUE"), ICAL_ANY_VALUE}, {HKEY("ICAL_QUERY_VALUE"), ICAL_QUERY_VALUE}, {HKEY("ICAL_DATE_VALUE"), ICAL_DATE_VALUE}, {HKEY("ICAL_ATTACH_VALUE"), ICAL_ATTACH_VALUE}, {HKEY("ICAL_GEO_VALUE"), ICAL_GEO_VALUE}, {HKEY("ICAL_STATUS_VALUE"), ICAL_STATUS_VALUE}, {HKEY("ICAL_TRANSP_VALUE"), ICAL_TRANSP_VALUE}, {HKEY("ICAL_STRING_VALUE"), ICAL_STRING_VALUE}, {HKEY("ICAL_TEXT_VALUE"), ICAL_TEXT_VALUE}, {HKEY("ICAL_REQUESTSTATUS_VALUE"), ICAL_REQUESTSTATUS_VALUE}, {HKEY("ICAL_CMD_VALUE"), ICAL_CMD_VALUE}, {HKEY("ICAL_BINARY_VALUE"), ICAL_BINARY_VALUE}, {HKEY("ICAL_QUERYLEVEL_VALUE"), ICAL_QUERYLEVEL_VALUE}, {HKEY("ICAL_PERIOD_VALUE"), ICAL_PERIOD_VALUE}, {HKEY("ICAL_FLOAT_VALUE"), ICAL_FLOAT_VALUE}, {HKEY("ICAL_DATETIMEPERIOD_VALUE"), ICAL_DATETIMEPERIOD_VALUE}, {HKEY("ICAL_CARLEVEL_VALUE"), ICAL_CARLEVEL_VALUE}, {HKEY("ICAL_INTEGER_VALUE"), ICAL_INTEGER_VALUE}, {HKEY("ICAL_CLASS_VALUE"), ICAL_CLASS_VALUE}, {HKEY("ICAL_URI_VALUE"), ICAL_URI_VALUE}, {HKEY("ICAL_DURATION_VALUE"), ICAL_DURATION_VALUE}, {HKEY("ICAL_BOOLEAN_VALUE"), ICAL_BOOLEAN_VALUE}, {HKEY("ICAL_X_VALUE"), ICAL_X_VALUE}, {HKEY("ICAL_CALADDRESS_VALUE"), ICAL_CALADDRESS_VALUE}, {HKEY("ICAL_TRIGGER_VALUE"), ICAL_TRIGGER_VALUE}, {HKEY("ICAL_XLICCLASS_VALUE"), ICAL_XLICCLASS_VALUE}, {HKEY("ICAL_RECUR_VALUE"), ICAL_RECUR_VALUE}, {HKEY("ICAL_ACTION_VALUE"), ICAL_ACTION_VALUE}, {HKEY("ICAL_DATETIME_VALUE"), ICAL_DATETIME_VALUE}, {HKEY("ICAL_UTCOFFSET_VALUE"), ICAL_UTCOFFSET_VALUE}, {HKEY("ICAL_METHOD_VALUE"), ICAL_METHOD_VALUE}, {HKEY("ICAL_NO_VALUE"), ICAL_NO_VALUE}, {"", 0, 0} }; Ical_icalproperty_action icalproperty_action_map[] = { {HKEY("ICAL_ACTION_X"), ICAL_ACTION_X}, {HKEY("ICAL_ACTION_AUDIO"), ICAL_ACTION_AUDIO}, {HKEY("ICAL_ACTION_DISPLAY"), ICAL_ACTION_DISPLAY}, {HKEY("ICAL_ACTION_EMAIL"), ICAL_ACTION_EMAIL}, {HKEY("ICAL_ACTION_PROCEDURE"), ICAL_ACTION_PROCEDURE}, {HKEY("ICAL_ACTION_NONE"), ICAL_ACTION_NONE}, {"", 0, 0} }; Ical_icalproperty_carlevel icalproperty_carlevel_map[] = { {HKEY("ICAL_CARLEVEL_X"), ICAL_CARLEVEL_X}, {HKEY("ICAL_CARLEVEL_CARNONE"), ICAL_CARLEVEL_CARNONE}, {HKEY("ICAL_CARLEVEL_CARMIN"), ICAL_CARLEVEL_CARMIN}, {HKEY("ICAL_CARLEVEL_CARFULL1"), ICAL_CARLEVEL_CARFULL1}, {HKEY("ICAL_CARLEVEL_NONE"), ICAL_CARLEVEL_NONE}, {"", 0, 0} }; Ical_icalproperty_class icalproperty_class_map[] = { {HKEY("ICAL_CLASS_X"), ICAL_CLASS_X}, {HKEY("ICAL_CLASS_PUBLIC"), ICAL_CLASS_PUBLIC}, {HKEY("ICAL_CLASS_PRIVATE"), ICAL_CLASS_PRIVATE}, {HKEY("ICAL_CLASS_CONFIDENTIAL"), ICAL_CLASS_CONFIDENTIAL}, {HKEY("ICAL_CLASS_NONE"), ICAL_CLASS_NONE}, {"", 0, 0} }; Ical_icalproperty_cmd icalproperty_cmd_map[] = { {HKEY("ICAL_CMD_X"), ICAL_CMD_X}, {HKEY("ICAL_CMD_ABORT"), ICAL_CMD_ABORT}, {HKEY("ICAL_CMD_CONTINUE"), ICAL_CMD_CONTINUE}, {HKEY("ICAL_CMD_CREATE"), ICAL_CMD_CREATE}, {HKEY("ICAL_CMD_DELETE"), ICAL_CMD_DELETE}, {HKEY("ICAL_CMD_GENERATEUID"), ICAL_CMD_GENERATEUID}, {HKEY("ICAL_CMD_GETCAPABILITY"), ICAL_CMD_GETCAPABILITY}, {HKEY("ICAL_CMD_IDENTIFY"), ICAL_CMD_IDENTIFY}, {HKEY("ICAL_CMD_MODIFY"), ICAL_CMD_MODIFY}, {HKEY("ICAL_CMD_MOVE"), ICAL_CMD_MOVE}, {HKEY("ICAL_CMD_REPLY"), ICAL_CMD_REPLY}, {HKEY("ICAL_CMD_SEARCH"), ICAL_CMD_SEARCH}, {HKEY("ICAL_CMD_SETLOCALE"), ICAL_CMD_SETLOCALE}, {HKEY("ICAL_CMD_NONE"), ICAL_CMD_NONE}, {"", 0, 0} }; Ical_icalproperty_method icalproperty_method_map[] = { {HKEY("ICAL_METHOD_X"), ICAL_METHOD_X}, {HKEY("ICAL_METHOD_PUBLISH"), ICAL_METHOD_PUBLISH}, {HKEY("ICAL_METHOD_REQUEST"), ICAL_METHOD_REQUEST}, {HKEY("ICAL_METHOD_REPLY"), ICAL_METHOD_REPLY}, {HKEY("ICAL_METHOD_ADD"), ICAL_METHOD_ADD}, {HKEY("ICAL_METHOD_CANCEL"), ICAL_METHOD_CANCEL}, {HKEY("ICAL_METHOD_REFRESH"), ICAL_METHOD_REFRESH}, {HKEY("ICAL_METHOD_COUNTER"), ICAL_METHOD_COUNTER}, {HKEY("ICAL_METHOD_DECLINECOUNTER"), ICAL_METHOD_DECLINECOUNTER}, {HKEY("ICAL_METHOD_CREATE"), ICAL_METHOD_CREATE}, {HKEY("ICAL_METHOD_READ"), ICAL_METHOD_READ}, {HKEY("ICAL_METHOD_RESPONSE"), ICAL_METHOD_RESPONSE}, {HKEY("ICAL_METHOD_MOVE"), ICAL_METHOD_MOVE}, {HKEY("ICAL_METHOD_MODIFY"), ICAL_METHOD_MODIFY}, {HKEY("ICAL_METHOD_GENERATEUID"), ICAL_METHOD_GENERATEUID}, {HKEY("ICAL_METHOD_DELETE"), ICAL_METHOD_DELETE}, {HKEY("ICAL_METHOD_NONE"), ICAL_METHOD_NONE}, {"", 0, 0} }; Ical_icalproperty_querylevel icalproperty_querylevel_map[] = { {HKEY("ICAL_QUERYLEVEL_X"), ICAL_QUERYLEVEL_X}, {HKEY("ICAL_QUERYLEVEL_CALQL1"), ICAL_QUERYLEVEL_CALQL1}, {HKEY("ICAL_QUERYLEVEL_CALQLNONE"), ICAL_QUERYLEVEL_CALQLNONE}, {HKEY("ICAL_QUERYLEVEL_NONE"), ICAL_QUERYLEVEL_NONE}, {"", 0, 0} }; Ical_icalproperty_status icalproperty_status_map[] = { {HKEY("ICAL_STATUS_X"), ICAL_STATUS_X}, {HKEY("ICAL_STATUS_TENTATIVE"), ICAL_STATUS_TENTATIVE}, {HKEY("ICAL_STATUS_CONFIRMED"), ICAL_STATUS_CONFIRMED}, {HKEY("ICAL_STATUS_COMPLETED"), ICAL_STATUS_COMPLETED}, {HKEY("ICAL_STATUS_NEEDSACTION"), ICAL_STATUS_NEEDSACTION}, {HKEY("ICAL_STATUS_CANCELLED"), ICAL_STATUS_CANCELLED}, {HKEY("ICAL_STATUS_INPROCESS"), ICAL_STATUS_INPROCESS}, {HKEY("ICAL_STATUS_DRAFT"), ICAL_STATUS_DRAFT}, {HKEY("ICAL_STATUS_FINAL"), ICAL_STATUS_FINAL}, {HKEY("ICAL_STATUS_NONE"), ICAL_STATUS_NONE}, {"", 0, 0} }; Ical_icalproperty_transp icalproperty_transp_map[] = { {HKEY("ICAL_TRANSP_X"), ICAL_TRANSP_X}, {HKEY("ICAL_TRANSP_OPAQUE"), ICAL_TRANSP_OPAQUE}, {HKEY("ICAL_TRANSP_OPAQUENOCONFLICT"), ICAL_TRANSP_OPAQUENOCONFLICT}, {HKEY("ICAL_TRANSP_TRANSPARENT"), ICAL_TRANSP_TRANSPARENT}, {HKEY("ICAL_TRANSP_TRANSPARENTNOCONFLICT"), ICAL_TRANSP_TRANSPARENTNOCONFLICT}, {HKEY("ICAL_TRANSP_NONE"), ICAL_TRANSP_NONE}, {"", 0, 0} }; Ical_icalproperty_xlicclass icalproperty_xlicclass_map[] = { {HKEY("ICAL_XLICCLASS_X"), ICAL_XLICCLASS_X}, {HKEY("ICAL_XLICCLASS_PUBLISHNEW"), ICAL_XLICCLASS_PUBLISHNEW}, {HKEY("ICAL_XLICCLASS_PUBLISHUPDATE"), ICAL_XLICCLASS_PUBLISHUPDATE}, {HKEY("ICAL_XLICCLASS_PUBLISHFREEBUSY"), ICAL_XLICCLASS_PUBLISHFREEBUSY}, {HKEY("ICAL_XLICCLASS_REQUESTNEW"), ICAL_XLICCLASS_REQUESTNEW}, {HKEY("ICAL_XLICCLASS_REQUESTUPDATE"), ICAL_XLICCLASS_REQUESTUPDATE}, {HKEY("ICAL_XLICCLASS_REQUESTRESCHEDULE"), ICAL_XLICCLASS_REQUESTRESCHEDULE}, {HKEY("ICAL_XLICCLASS_REQUESTDELEGATE"), ICAL_XLICCLASS_REQUESTDELEGATE}, {HKEY("ICAL_XLICCLASS_REQUESTNEWORGANIZER"), ICAL_XLICCLASS_REQUESTNEWORGANIZER}, {HKEY("ICAL_XLICCLASS_REQUESTFORWARD"), ICAL_XLICCLASS_REQUESTFORWARD}, {HKEY("ICAL_XLICCLASS_REQUESTSTATUS"), ICAL_XLICCLASS_REQUESTSTATUS}, {HKEY("ICAL_XLICCLASS_REQUESTFREEBUSY"), ICAL_XLICCLASS_REQUESTFREEBUSY}, {HKEY("ICAL_XLICCLASS_REPLYACCEPT"), ICAL_XLICCLASS_REPLYACCEPT}, {HKEY("ICAL_XLICCLASS_REPLYDECLINE"), ICAL_XLICCLASS_REPLYDECLINE}, {HKEY("ICAL_XLICCLASS_REPLYDELEGATE"), ICAL_XLICCLASS_REPLYDELEGATE}, {HKEY("ICAL_XLICCLASS_REPLYCRASHERACCEPT"), ICAL_XLICCLASS_REPLYCRASHERACCEPT}, {HKEY("ICAL_XLICCLASS_REPLYCRASHERDECLINE"), ICAL_XLICCLASS_REPLYCRASHERDECLINE}, {HKEY("ICAL_XLICCLASS_ADDINSTANCE"), ICAL_XLICCLASS_ADDINSTANCE}, {HKEY("ICAL_XLICCLASS_CANCELEVENT"), ICAL_XLICCLASS_CANCELEVENT}, {HKEY("ICAL_XLICCLASS_CANCELINSTANCE"), ICAL_XLICCLASS_CANCELINSTANCE}, {HKEY("ICAL_XLICCLASS_CANCELALL"), ICAL_XLICCLASS_CANCELALL}, {HKEY("ICAL_XLICCLASS_REFRESH"), ICAL_XLICCLASS_REFRESH}, {HKEY("ICAL_XLICCLASS_COUNTER"), ICAL_XLICCLASS_COUNTER}, {HKEY("ICAL_XLICCLASS_DECLINECOUNTER"), ICAL_XLICCLASS_DECLINECOUNTER}, {HKEY("ICAL_XLICCLASS_MALFORMED"), ICAL_XLICCLASS_MALFORMED}, {HKEY("ICAL_XLICCLASS_OBSOLETE"), ICAL_XLICCLASS_OBSOLETE}, {HKEY("ICAL_XLICCLASS_MISSEQUENCED"), ICAL_XLICCLASS_MISSEQUENCED}, {HKEY("ICAL_XLICCLASS_UNKNOWN"), ICAL_XLICCLASS_UNKNOWN}, {HKEY("ICAL_XLICCLASS_NONE"), ICAL_XLICCLASS_NONE}, {"", 0, 0} }; Ical_icalparameter_kind icalparameter_kind_map[] = { {HKEY("ICAL_ANY_PARAMETER"), ICAL_ANY_PARAMETER}, {HKEY("ICAL_ACTIONPARAM_PARAMETER"), ICAL_ACTIONPARAM_PARAMETER}, {HKEY("ICAL_ALTREP_PARAMETER"), ICAL_ALTREP_PARAMETER}, {HKEY("ICAL_CHARSET_PARAMETER"), ICAL_CHARSET_PARAMETER}, {HKEY("ICAL_CN_PARAMETER"), ICAL_CN_PARAMETER}, {HKEY("ICAL_CUTYPE_PARAMETER"), ICAL_CUTYPE_PARAMETER}, {HKEY("ICAL_DELEGATEDFROM_PARAMETER"), ICAL_DELEGATEDFROM_PARAMETER}, {HKEY("ICAL_DELEGATEDTO_PARAMETER"), ICAL_DELEGATEDTO_PARAMETER}, {HKEY("ICAL_DIR_PARAMETER"), ICAL_DIR_PARAMETER}, {HKEY("ICAL_ENABLE_PARAMETER"), ICAL_ENABLE_PARAMETER}, {HKEY("ICAL_ENCODING_PARAMETER"), ICAL_ENCODING_PARAMETER}, {HKEY("ICAL_FBTYPE_PARAMETER"), ICAL_FBTYPE_PARAMETER}, {HKEY("ICAL_FMTTYPE_PARAMETER"), ICAL_FMTTYPE_PARAMETER}, {HKEY("ICAL_IANA_PARAMETER"), ICAL_IANA_PARAMETER}, {HKEY("ICAL_ID_PARAMETER"), ICAL_ID_PARAMETER}, {HKEY("ICAL_LANGUAGE_PARAMETER"), ICAL_LANGUAGE_PARAMETER}, {HKEY("ICAL_LATENCY_PARAMETER"), ICAL_LATENCY_PARAMETER}, {HKEY("ICAL_LOCAL_PARAMETER"), ICAL_LOCAL_PARAMETER}, {HKEY("ICAL_LOCALIZE_PARAMETER"), ICAL_LOCALIZE_PARAMETER}, {HKEY("ICAL_MEMBER_PARAMETER"), ICAL_MEMBER_PARAMETER}, {HKEY("ICAL_OPTIONS_PARAMETER"), ICAL_OPTIONS_PARAMETER}, {HKEY("ICAL_PARTSTAT_PARAMETER"), ICAL_PARTSTAT_PARAMETER}, {HKEY("ICAL_RANGE_PARAMETER"), ICAL_RANGE_PARAMETER}, {HKEY("ICAL_RELATED_PARAMETER"), ICAL_RELATED_PARAMETER}, {HKEY("ICAL_RELTYPE_PARAMETER"), ICAL_RELTYPE_PARAMETER}, {HKEY("ICAL_ROLE_PARAMETER"), ICAL_ROLE_PARAMETER}, {HKEY("ICAL_RSVP_PARAMETER"), ICAL_RSVP_PARAMETER}, {HKEY("ICAL_SENTBY_PARAMETER"), ICAL_SENTBY_PARAMETER}, {HKEY("ICAL_TZID_PARAMETER"), ICAL_TZID_PARAMETER}, {HKEY("ICAL_VALUE_PARAMETER"), ICAL_VALUE_PARAMETER}, {HKEY("ICAL_X_PARAMETER"), ICAL_X_PARAMETER}, {HKEY("ICAL_XLICCOMPARETYPE_PARAMETER"), ICAL_XLICCOMPARETYPE_PARAMETER}, {HKEY("ICAL_XLICERRORTYPE_PARAMETER"), ICAL_XLICERRORTYPE_PARAMETER}, {HKEY("ICAL_NO_PARAMETER"), ICAL_NO_PARAMETER}, {"", 0, 0} }; Ical_icalparameter_action icalparameter_action_map[] = { {HKEY("ICAL_ACTIONPARAM_X"), ICAL_ACTIONPARAM_X}, {HKEY("ICAL_ACTIONPARAM_ASK"), ICAL_ACTIONPARAM_ASK}, {HKEY("ICAL_ACTIONPARAM_ABORT"), ICAL_ACTIONPARAM_ABORT}, {HKEY("ICAL_ACTIONPARAM_NONE"), ICAL_ACTIONPARAM_NONE}, {"", 0, 0} }; Ical_icalparameter_cutype icalparameter_cutype_map[] = { {HKEY("ICAL_CUTYPE_X"), ICAL_CUTYPE_X}, {HKEY("ICAL_CUTYPE_INDIVIDUAL"), ICAL_CUTYPE_INDIVIDUAL}, {HKEY("ICAL_CUTYPE_GROUP"), ICAL_CUTYPE_GROUP}, {HKEY("ICAL_CUTYPE_RESOURCE"), ICAL_CUTYPE_RESOURCE}, {HKEY("ICAL_CUTYPE_ROOM"), ICAL_CUTYPE_ROOM}, {HKEY("ICAL_CUTYPE_UNKNOWN"), ICAL_CUTYPE_UNKNOWN}, {HKEY("ICAL_CUTYPE_NONE"), ICAL_CUTYPE_NONE}, {"", 0, 0} }; Ical_icalparameter_enable icalparameter_enable_map[] = { {HKEY("ICAL_ENABLE_X"), ICAL_ENABLE_X}, {HKEY("ICAL_ENABLE_TRUE"), ICAL_ENABLE_TRUE}, {HKEY("ICAL_ENABLE_FALSE"), ICAL_ENABLE_FALSE}, {HKEY("ICAL_ENABLE_NONE"), ICAL_ENABLE_NONE}, {"", 0, 0} }; Ical_icalparameter_encoding icalparameter_encoding_map[] = { {HKEY("ICAL_ENCODING_X"), ICAL_ENCODING_X}, {HKEY("ICAL_ENCODING_8BIT"), ICAL_ENCODING_8BIT}, {HKEY("ICAL_ENCODING_BASE64"), ICAL_ENCODING_BASE64}, {HKEY("ICAL_ENCODING_NONE"), ICAL_ENCODING_NONE}, {"", 0, 0} }; Ical_icalparameter_fbtype icalparameter_fbtype_map[] = { {HKEY("ICAL_FBTYPE_X"), ICAL_FBTYPE_X}, {HKEY("ICAL_FBTYPE_FREE"), ICAL_FBTYPE_FREE}, {HKEY("ICAL_FBTYPE_BUSY"), ICAL_FBTYPE_BUSY}, {HKEY("ICAL_FBTYPE_BUSYUNAVAILABLE"), ICAL_FBTYPE_BUSYUNAVAILABLE}, {HKEY("ICAL_FBTYPE_BUSYTENTATIVE"), ICAL_FBTYPE_BUSYTENTATIVE}, {HKEY("ICAL_FBTYPE_NONE"), ICAL_FBTYPE_NONE}, {"", 0, 0} }; Ical_icalparameter_local icalparameter_local_map[] = { {HKEY("ICAL_LOCAL_X"), ICAL_LOCAL_X}, {HKEY("ICAL_LOCAL_TRUE"), ICAL_LOCAL_TRUE}, {HKEY("ICAL_LOCAL_FALSE"), ICAL_LOCAL_FALSE}, {HKEY("ICAL_LOCAL_NONE"), ICAL_LOCAL_NONE}, {"", 0, 0} }; Ical_icalparameter_partstat icalparameter_partstat_map[] = { {HKEY("ICAL_PARTSTAT_X"), ICAL_PARTSTAT_X}, {HKEY("ICAL_PARTSTAT_NEEDSACTION"), ICAL_PARTSTAT_NEEDSACTION}, {HKEY("ICAL_PARTSTAT_ACCEPTED"), ICAL_PARTSTAT_ACCEPTED}, {HKEY("ICAL_PARTSTAT_DECLINED"), ICAL_PARTSTAT_DECLINED}, {HKEY("ICAL_PARTSTAT_TENTATIVE"), ICAL_PARTSTAT_TENTATIVE}, {HKEY("ICAL_PARTSTAT_DELEGATED"), ICAL_PARTSTAT_DELEGATED}, {HKEY("ICAL_PARTSTAT_COMPLETED"), ICAL_PARTSTAT_COMPLETED}, {HKEY("ICAL_PARTSTAT_INPROCESS"), ICAL_PARTSTAT_INPROCESS}, {HKEY("ICAL_PARTSTAT_NONE"), ICAL_PARTSTAT_NONE}, {"", 0, 0} }; Ical_icalparameter_range icalparameter_range_map[] = { {HKEY("ICAL_RANGE_X"), ICAL_RANGE_X}, {HKEY("ICAL_RANGE_THISANDPRIOR"), ICAL_RANGE_THISANDPRIOR}, {HKEY("ICAL_RANGE_THISANDFUTURE"), ICAL_RANGE_THISANDFUTURE}, {HKEY("ICAL_RANGE_NONE"), ICAL_RANGE_NONE}, {"", 0, 0} }; Ical_icalparameter_related icalparameter_related_map[] = { {HKEY("ICAL_RELATED_X"), ICAL_RELATED_X}, {HKEY("ICAL_RELATED_START"), ICAL_RELATED_START}, {HKEY("ICAL_RELATED_END"), ICAL_RELATED_END}, {HKEY("ICAL_RELATED_NONE"), ICAL_RELATED_NONE}, {"", 0, 0} }; Ical_icalparameter_reltype icalparameter_reltype_map[] = { {HKEY("ICAL_RELTYPE_X"), ICAL_RELTYPE_X}, {HKEY("ICAL_RELTYPE_PARENT"), ICAL_RELTYPE_PARENT}, {HKEY("ICAL_RELTYPE_CHILD"), ICAL_RELTYPE_CHILD}, {HKEY("ICAL_RELTYPE_SIBLING"), ICAL_RELTYPE_SIBLING}, {HKEY("ICAL_RELTYPE_NONE"), ICAL_RELTYPE_NONE}, {"", 0, 0} }; Ical_icalparameter_role icalparameter_role_map[] = { {HKEY("ICAL_ROLE_X"), ICAL_ROLE_X}, {HKEY("ICAL_ROLE_CHAIR"), ICAL_ROLE_CHAIR}, {HKEY("ICAL_ROLE_REQPARTICIPANT"), ICAL_ROLE_REQPARTICIPANT}, {HKEY("ICAL_ROLE_OPTPARTICIPANT"), ICAL_ROLE_OPTPARTICIPANT}, {HKEY("ICAL_ROLE_NONPARTICIPANT"), ICAL_ROLE_NONPARTICIPANT}, {HKEY("ICAL_ROLE_NONE"), ICAL_ROLE_NONE}, {"", 0, 0} }; Ical_icalparameter_rsvp icalparameter_rsvp_map[] = { {HKEY("ICAL_RSVP_X"), ICAL_RSVP_X}, {HKEY("ICAL_RSVP_TRUE"), ICAL_RSVP_TRUE}, {HKEY("ICAL_RSVP_FALSE"), ICAL_RSVP_FALSE}, {HKEY("ICAL_RSVP_NONE"), ICAL_RSVP_NONE}, {"", 0, 0} }; Ical_icalparameter_value icalparameter_value_map[] = { {HKEY("ICAL_VALUE_X"), ICAL_VALUE_X}, {HKEY("ICAL_VALUE_BINARY"), ICAL_VALUE_BINARY}, {HKEY("ICAL_VALUE_BOOLEAN"), ICAL_VALUE_BOOLEAN}, {HKEY("ICAL_VALUE_DATE"), ICAL_VALUE_DATE}, {HKEY("ICAL_VALUE_DURATION"), ICAL_VALUE_DURATION}, {HKEY("ICAL_VALUE_FLOAT"), ICAL_VALUE_FLOAT}, {HKEY("ICAL_VALUE_INTEGER"), ICAL_VALUE_INTEGER}, {HKEY("ICAL_VALUE_PERIOD"), ICAL_VALUE_PERIOD}, {HKEY("ICAL_VALUE_RECUR"), ICAL_VALUE_RECUR}, {HKEY("ICAL_VALUE_TEXT"), ICAL_VALUE_TEXT}, {HKEY("ICAL_VALUE_URI"), ICAL_VALUE_URI}, {HKEY("ICAL_VALUE_ERROR"), ICAL_VALUE_ERROR}, {HKEY("ICAL_VALUE_DATETIME"), ICAL_VALUE_DATETIME}, {HKEY("ICAL_VALUE_UTCOFFSET"), ICAL_VALUE_UTCOFFSET}, {HKEY("ICAL_VALUE_CALADDRESS"), ICAL_VALUE_CALADDRESS}, {HKEY("ICAL_VALUE_NONE"), ICAL_VALUE_NONE}, {"", 0, 0} }; Ical_icalparameter_xliccomparetype icalparameter_xliccomparetype_map[] = { {HKEY("ICAL_XLICCOMPARETYPE_X"), ICAL_XLICCOMPARETYPE_X}, {HKEY("ICAL_XLICCOMPARETYPE_EQUAL"), ICAL_XLICCOMPARETYPE_EQUAL}, {HKEY("ICAL_XLICCOMPARETYPE_NOTEQUAL"), ICAL_XLICCOMPARETYPE_NOTEQUAL}, {HKEY("ICAL_XLICCOMPARETYPE_LESS"), ICAL_XLICCOMPARETYPE_LESS}, {HKEY("ICAL_XLICCOMPARETYPE_GREATER"), ICAL_XLICCOMPARETYPE_GREATER}, {HKEY("ICAL_XLICCOMPARETYPE_LESSEQUAL"), ICAL_XLICCOMPARETYPE_LESSEQUAL}, {HKEY("ICAL_XLICCOMPARETYPE_GREATEREQUAL"), ICAL_XLICCOMPARETYPE_GREATEREQUAL}, {HKEY("ICAL_XLICCOMPARETYPE_REGEX"), ICAL_XLICCOMPARETYPE_REGEX}, {HKEY("ICAL_XLICCOMPARETYPE_ISNULL"), ICAL_XLICCOMPARETYPE_ISNULL}, {HKEY("ICAL_XLICCOMPARETYPE_ISNOTNULL"), ICAL_XLICCOMPARETYPE_ISNOTNULL}, {HKEY("ICAL_XLICCOMPARETYPE_NONE"), ICAL_XLICCOMPARETYPE_NONE}, {"", 0, 0} }; Ical_icalparameter_xlicerrortype icalparameter_xlicerrortype_map[] = { {HKEY("ICAL_XLICERRORTYPE_X"), ICAL_XLICERRORTYPE_X}, {HKEY("ICAL_XLICERRORTYPE_COMPONENTPARSEERROR"), ICAL_XLICERRORTYPE_COMPONENTPARSEERROR}, {HKEY("ICAL_XLICERRORTYPE_PROPERTYPARSEERROR"), ICAL_XLICERRORTYPE_PROPERTYPARSEERROR}, {HKEY("ICAL_XLICERRORTYPE_PARAMETERNAMEPARSEERROR"), ICAL_XLICERRORTYPE_PARAMETERNAMEPARSEERROR}, {HKEY("ICAL_XLICERRORTYPE_PARAMETERVALUEPARSEERROR"), ICAL_XLICERRORTYPE_PARAMETERVALUEPARSEERROR}, {HKEY("ICAL_XLICERRORTYPE_VALUEPARSEERROR"), ICAL_XLICERRORTYPE_VALUEPARSEERROR}, {HKEY("ICAL_XLICERRORTYPE_INVALIDITIP"), ICAL_XLICERRORTYPE_INVALIDITIP}, {HKEY("ICAL_XLICERRORTYPE_UNKNOWNVCALPROPERROR"), ICAL_XLICERRORTYPE_UNKNOWNVCALPROPERROR}, {HKEY("ICAL_XLICERRORTYPE_MIMEPARSEERROR"), ICAL_XLICERRORTYPE_MIMEPARSEERROR}, {HKEY("ICAL_XLICERRORTYPE_VCALPROPPARSEERROR"), ICAL_XLICERRORTYPE_VCALPROPPARSEERROR}, {HKEY("ICAL_XLICERRORTYPE_NONE"), ICAL_XLICERRORTYPE_NONE}, {"", 0, 0} }; Ical_icalparser_state icalparser_state_map[] = { {HKEY("ICALPARSER_ERROR"), ICALPARSER_ERROR}, {HKEY("ICALPARSER_SUCCESS"), ICALPARSER_SUCCESS}, {HKEY("ICALPARSER_BEGIN_COMP"), ICALPARSER_BEGIN_COMP}, {HKEY("ICALPARSER_END_COMP"), ICALPARSER_END_COMP}, {HKEY("ICALPARSER_IN_PROGRESS"), ICALPARSER_IN_PROGRESS}, {"", 0, 0} }; Ical_icalerrorenum icalerrorenum_map[] = { {HKEY("ICAL_NO_ERROR"), ICAL_NO_ERROR}, {HKEY("ICAL_BADARG_ERROR"), ICAL_BADARG_ERROR}, {HKEY("ICAL_NEWFAILED_ERROR"), ICAL_NEWFAILED_ERROR}, {HKEY("ICAL_ALLOCATION_ERROR"), ICAL_ALLOCATION_ERROR}, {HKEY("ICAL_MALFORMEDDATA_ERROR"), ICAL_MALFORMEDDATA_ERROR}, {HKEY("ICAL_PARSE_ERROR"), ICAL_PARSE_ERROR}, {HKEY("ICAL_INTERNAL_ERROR"), ICAL_INTERNAL_ERROR}, {HKEY("ICAL_FILE_ERROR"), ICAL_FILE_ERROR}, {HKEY("ICAL_USAGE_ERROR"), ICAL_USAGE_ERROR}, {HKEY("ICAL_UNIMPLEMENTED_ERROR"), ICAL_UNIMPLEMENTED_ERROR}, {HKEY("ICAL_UNKNOWN_ERROR"), ICAL_UNKNOWN_ERROR}, {"", 0, 0} }; Ical_icalerrorstate icalerrorstate_map[] = { {HKEY("ICAL_ERROR_FATAL"), ICAL_ERROR_FATAL}, {HKEY("ICAL_ERROR_NONFATAL"), ICAL_ERROR_NONFATAL}, {HKEY("ICAL_ERROR_DEFAULT"), ICAL_ERROR_DEFAULT}, {HKEY("ICAL_ERROR_UNKNOWN"), ICAL_ERROR_UNKNOWN}, {"", 0, 0} }; Ical_icalrestriction_kind icalrestriction_kind_map[] = { {HKEY("ICAL_RESTRICTION_NONE"), ICAL_RESTRICTION_NONE}, {HKEY("ICAL_RESTRICTION_ZERO"), ICAL_RESTRICTION_ZERO}, {HKEY("ICAL_RESTRICTION_ONE"), ICAL_RESTRICTION_ONE}, {HKEY("ICAL_RESTRICTION_ZEROPLUS"), ICAL_RESTRICTION_ZEROPLUS}, {HKEY("ICAL_RESTRICTION_ONEPLUS"), ICAL_RESTRICTION_ONEPLUS}, {HKEY("ICAL_RESTRICTION_ZEROORONE"), ICAL_RESTRICTION_ZEROORONE}, {HKEY("ICAL_RESTRICTION_ONEEXCLUSIVE"), ICAL_RESTRICTION_ONEEXCLUSIVE}, {HKEY("ICAL_RESTRICTION_ONEMUTUAL"), ICAL_RESTRICTION_ONEMUTUAL}, {HKEY("ICAL_RESTRICTION_UNKNOWN"), ICAL_RESTRICTION_UNKNOWN}, {"", 0, 0} }; void InitModule_ICAL_MAPS (void) { int i; for (i=0; icalproperty_kind_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalproperty_kind_map[i].Name, icalproperty_kind_map[i].NameLen, icalproperty_kind_map[i].map); for (i=0; icalcomponent_kind_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalcomponent_kind_map[i].Name, icalcomponent_kind_map[i].NameLen, icalcomponent_kind_map[i].map); for (i=0; icalrequeststatus_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalrequeststatus_map[i].Name, icalrequeststatus_map[i].NameLen, icalrequeststatus_map[i].map); for (i=0; ical_unknown_token_handling_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( ical_unknown_token_handling_map[i].Name, ical_unknown_token_handling_map[i].NameLen, ical_unknown_token_handling_map[i].map); for (i=0; icalrecurrencetype_frequency_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalrecurrencetype_frequency_map[i].Name, icalrecurrencetype_frequency_map[i].NameLen, icalrecurrencetype_frequency_map[i].map); for (i=0; icalrecurrencetype_weekday_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalrecurrencetype_weekday_map[i].Name, icalrecurrencetype_weekday_map[i].NameLen, icalrecurrencetype_weekday_map[i].map); for (i=0; icalvalue_kind_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalvalue_kind_map[i].Name, icalvalue_kind_map[i].NameLen, icalvalue_kind_map[i].map); for (i=0; icalproperty_action_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalproperty_action_map[i].Name, icalproperty_action_map[i].NameLen, icalproperty_action_map[i].map); for (i=0; icalproperty_carlevel_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalproperty_carlevel_map[i].Name, icalproperty_carlevel_map[i].NameLen, icalproperty_carlevel_map[i].map); for (i=0; icalproperty_class_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalproperty_class_map[i].Name, icalproperty_class_map[i].NameLen, icalproperty_class_map[i].map); for (i=0; icalproperty_cmd_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalproperty_cmd_map[i].Name, icalproperty_cmd_map[i].NameLen, icalproperty_cmd_map[i].map); for (i=0; icalproperty_method_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalproperty_method_map[i].Name, icalproperty_method_map[i].NameLen, icalproperty_method_map[i].map); for (i=0; icalproperty_querylevel_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalproperty_querylevel_map[i].Name, icalproperty_querylevel_map[i].NameLen, icalproperty_querylevel_map[i].map); for (i=0; icalproperty_status_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalproperty_status_map[i].Name, icalproperty_status_map[i].NameLen, icalproperty_status_map[i].map); for (i=0; icalproperty_transp_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalproperty_transp_map[i].Name, icalproperty_transp_map[i].NameLen, icalproperty_transp_map[i].map); for (i=0; icalproperty_xlicclass_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalproperty_xlicclass_map[i].Name, icalproperty_xlicclass_map[i].NameLen, icalproperty_xlicclass_map[i].map); for (i=0; icalparameter_kind_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalparameter_kind_map[i].Name, icalparameter_kind_map[i].NameLen, icalparameter_kind_map[i].map); for (i=0; icalparameter_action_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalparameter_action_map[i].Name, icalparameter_action_map[i].NameLen, icalparameter_action_map[i].map); for (i=0; icalparameter_cutype_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalparameter_cutype_map[i].Name, icalparameter_cutype_map[i].NameLen, icalparameter_cutype_map[i].map); for (i=0; icalparameter_enable_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalparameter_enable_map[i].Name, icalparameter_enable_map[i].NameLen, icalparameter_enable_map[i].map); for (i=0; icalparameter_encoding_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalparameter_encoding_map[i].Name, icalparameter_encoding_map[i].NameLen, icalparameter_encoding_map[i].map); for (i=0; icalparameter_fbtype_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalparameter_fbtype_map[i].Name, icalparameter_fbtype_map[i].NameLen, icalparameter_fbtype_map[i].map); for (i=0; icalparameter_local_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalparameter_local_map[i].Name, icalparameter_local_map[i].NameLen, icalparameter_local_map[i].map); for (i=0; icalparameter_partstat_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalparameter_partstat_map[i].Name, icalparameter_partstat_map[i].NameLen, icalparameter_partstat_map[i].map); for (i=0; icalparameter_range_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalparameter_range_map[i].Name, icalparameter_range_map[i].NameLen, icalparameter_range_map[i].map); for (i=0; icalparameter_related_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalparameter_related_map[i].Name, icalparameter_related_map[i].NameLen, icalparameter_related_map[i].map); for (i=0; icalparameter_reltype_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalparameter_reltype_map[i].Name, icalparameter_reltype_map[i].NameLen, icalparameter_reltype_map[i].map); for (i=0; icalparameter_role_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalparameter_role_map[i].Name, icalparameter_role_map[i].NameLen, icalparameter_role_map[i].map); for (i=0; icalparameter_rsvp_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalparameter_rsvp_map[i].Name, icalparameter_rsvp_map[i].NameLen, icalparameter_rsvp_map[i].map); for (i=0; icalparameter_value_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalparameter_value_map[i].Name, icalparameter_value_map[i].NameLen, icalparameter_value_map[i].map); for (i=0; icalparameter_xliccomparetype_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalparameter_xliccomparetype_map[i].Name, icalparameter_xliccomparetype_map[i].NameLen, icalparameter_xliccomparetype_map[i].map); for (i=0; icalparameter_xlicerrortype_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalparameter_xlicerrortype_map[i].Name, icalparameter_xlicerrortype_map[i].NameLen, icalparameter_xlicerrortype_map[i].map); for (i=0; icalparser_state_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalparser_state_map[i].Name, icalparser_state_map[i].NameLen, icalparser_state_map[i].map); for (i=0; icalerrorenum_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalerrorenum_map[i].Name, icalerrorenum_map[i].NameLen, icalerrorenum_map[i].map); for (i=0; icalerrorstate_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalerrorstate_map[i].Name, icalerrorstate_map[i].NameLen, icalerrorstate_map[i].map); for (i=0; icalrestriction_kind_map[i].NameLen > 0; i++) RegisterTokenParamDefine ( icalrestriction_kind_map[i].Name, icalrestriction_kind_map[i].NameLen, icalrestriction_kind_map[i].map); } webcit-9.01-dfsg/ical_subst.c000066400000000000000000000377441254743150300161600ustar00rootroot00000000000000/* * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" extern IcalKindEnumMap icalproperty_kind_map[]; extern IcalMethodEnumMap icalproperty_method_map[]; HashList *IcalComponentMap = NULL; CtxType CTX_ICAL = CTX_NONE; CtxType CTX_ICALPROPERTY = CTX_NONE; CtxType CTX_ICALMETHOD = CTX_NONE; CtxType CTX_ICALTIME = CTX_NONE; CtxType CTX_ICALATTENDEE = CTX_NONE; CtxType CTX_ICALCONFLICT = CTX_NONE; #if 0 void SortPregetMatter(HashList *Cals) { disp_cal *Cal; void *vCal; const char *Key; long KLen; IcalEnumMap *SortMap[10]; IcalEnumMap *Map; void *vSort; const char *Next = NULL; const StrBuf *SortVector; StrBuf *SortBy; int i = 0; HashPos *It; SortVector = SBSTR("ICALSortVec"); if (SortVector == NULL) return; for (i = 0; i < 10; i++) SortMap[i] = NULL; SortBy = NewStrBuf(); while (StrBufExtract_NextToken(SortBy, SortVector, &Next, ':') > 0) { GetHash(IcalComponentMap, SKEY(SortBy), &vSort); Map = (IcalEnumMap*) vSort; SortMap[i] = Map; i++; if (i > 9) break; } if (i == 0) return; switch (SortMap[i - 1]->map) { /* case */ default: break; } It = GetNewHashPos(Cals, 0); while (GetNextHashPos(Cals, It, &KLen, &Key, &vCal)) { i = 0; Cal = (disp_cal*) vCal; Cal->Status = icalcomponent_get_status(Cal->cal); Cal->SortBy = Cal->cal; while ((SortMap[i] != NULL) && (Cal->SortBy != NULL)) { /****Cal->SortBy = icalcomponent_get_first_property(Cal->SortBy, SortMap[i++]->map); */ } } } #endif void tmplput_ICalItem(StrBuf *Target, WCTemplputParams *TP) { icalcomponent *cal = (icalcomponent *) CTX(CTX_ICAL); icalproperty *p; icalproperty_kind Kind; const char *str; Kind = (icalproperty_kind) GetTemplateTokenNumber(Target, TP, 0, ICAL_ANY_PROPERTY); p = icalcomponent_get_first_property(cal, Kind); if (p != NULL) { str = icalproperty_get_comment (p); StrBufAppendTemplateStr(Target, TP, str, 1); } } void tmplput_CtxICalProperty(StrBuf *Target, WCTemplputParams *TP) { icalproperty *p = (icalproperty *) CTX(CTX_ICALPROPERTY); const char *str; str = icalproperty_get_comment (p); StrBufAppendTemplateStr(Target, TP, str, 0); } int ReleaseIcalSubCtx(StrBuf *Target, WCTemplputParams *TP) { WCTemplputParams *TPP = TP; UnStackContext(TP); free(TPP); return 0; } int cond_ICalIsA(StrBuf *Target, WCTemplputParams *TP) { icalcomponent *cal = (icalcomponent *) CTX(CTX_ICAL); icalcomponent_kind c = GetTemplateTokenNumber(Target, TP, 2, ICAL_NO_COMPONENT); return icalcomponent_isa(cal) == c; } int cond_ICalHaveItem(StrBuf *Target, WCTemplputParams *TP) { icalcomponent *cal = (icalcomponent *) CTX(CTX_ICAL); icalproperty *p; icalproperty_kind Kind; Kind = (icalproperty_kind) GetTemplateTokenNumber(Target, TP, 2, ICAL_ANY_PROPERTY); p = icalcomponent_get_first_property(cal, Kind); if (p != NULL) { WCTemplputParams *DynamicTP; DynamicTP = (WCTemplputParams*) malloc(sizeof(WCTemplputParams)); StackDynamicContext (TP, DynamicTP, p, CTX_ICALPROPERTY, 0, TP->Tokens, ReleaseIcalSubCtx, TP->Tokens->Params[1]->lvalue); return 1; } return 0; } int ReleaseIcalTimeCtx(StrBuf *Target, WCTemplputParams *TP) { WCTemplputParams *TPP = TP; UnStackContext(TP); free(TPP); return 0; } int cond_ICalHaveTimeItem(StrBuf *Target, WCTemplputParams *TP) { icalcomponent *cal = (icalcomponent *) CTX(CTX_ICAL); icalproperty *p; icalproperty_kind Kind; Kind = (icalproperty_kind) GetTemplateTokenNumber(Target, TP, 2, ICAL_ANY_PROPERTY); p = icalcomponent_get_first_property(cal, Kind); if (p != NULL) { struct icaltimetype *t; struct icaltimetype tt; WCTemplputParams *DynamicTP; DynamicTP = (WCTemplputParams*) malloc(sizeof(WCTemplputParams) + sizeof(struct icaltimetype)); t = (struct icaltimetype *) &DynamicTP[1]; memset(&tt, 0, sizeof(struct icaltimetype)); switch (Kind) { case ICAL_DTSTART_PROPERTY: tt = icalproperty_get_dtstart(p); break; case ICAL_DTEND_PROPERTY: tt = icalproperty_get_dtend(p); break; default: break; } memcpy(t, &tt, sizeof(struct icaltimetype)); StackDynamicContext (TP, DynamicTP, t, CTX_ICALTIME, 0, TP->Tokens, ReleaseIcalTimeCtx, TP->Tokens->Params[1]->lvalue); return 1; } return 0; } int cond_ICalTimeIsDate(StrBuf *Target, WCTemplputParams *TP) { struct icaltimetype *t = (struct icaltimetype *) CTX(CTX_ICALTIME); return t->is_date; } void tmplput_ICalTime_Date(StrBuf *Target, WCTemplputParams *TP) { struct tm d_tm; long len; char buf[256]; struct icaltimetype *t = (struct icaltimetype *) CTX(CTX_ICALTIME); memset(&d_tm, 0, sizeof d_tm); d_tm.tm_year = t->year - 1900; d_tm.tm_mon = t->month - 1; d_tm.tm_mday = t->day; len = wc_strftime(buf, sizeof(buf), "%x", &d_tm); StrBufAppendBufPlain(Target, buf, len, 0); } void tmplput_ICalTime_Time(StrBuf *Target, WCTemplputParams *TP) { long len; char buf[256]; struct icaltimetype *t = (struct icaltimetype *) CTX(CTX_ICALTIME); time_t tt; tt = icaltime_as_timet(*t); len = webcit_fmt_date(buf, sizeof(buf), tt, DATEFMT_FULL); StrBufAppendBufPlain(Target, buf, len, 0); } void tmplput_ICalDate(StrBuf *Target, WCTemplputParams *TP) { icalcomponent *cal = (icalcomponent *) CTX(CTX_ICAL); icalproperty *p; icalproperty_kind Kind; struct icaltimetype t; time_t tt; char buf[256]; Kind = (icalproperty_kind) GetTemplateTokenNumber(Target, TP, 0, ICAL_ANY_PROPERTY); p = icalcomponent_get_first_property(cal, Kind); if (p != NULL) { long len; t = icalproperty_get_dtend(p); tt = icaltime_as_timet(t); len = webcit_fmt_date(buf, 256, tt, DATEFMT_FULL); StrBufAppendBufPlain(Target, buf, len, 0); } } void tmplput_CtxICalPropertyDate(StrBuf *Target, WCTemplputParams *TP) { icalproperty *p = (icalproperty *) CTX(CTX_ICALPROPERTY); struct icaltimetype t; time_t tt; char buf[256]; long len; t = icalproperty_get_dtend(p); tt = icaltime_as_timet(t); len = webcit_fmt_date(buf, sizeof(buf), tt, DATEFMT_FULL); StrBufAppendBufPlain(Target, buf, len, 0); } void render_MIME_ICS_TPL(StrBuf *Target, WCTemplputParams *TP, StrBuf *FoundCharset) { wc_mime_attachment *Mime = CTX(CTX_MIME_ATACH); icalproperty_method the_method = ICAL_METHOD_NONE; icalproperty *method = NULL; icalcomponent *cal = NULL; icalcomponent *c = NULL; WCTemplputParams SubTP; WCTemplputParams SuperTP; static int divcount = 0; if (StrLength(Mime->Data) == 0) { MimeLoadData(Mime); } if (StrLength(Mime->Data) > 0) { cal = icalcomponent_new_from_string(ChrPtr(Mime->Data)); } if (cal == NULL) { StrBufAppendPrintf(Mime->Data, _("There was an error parsing this calendar item.")); StrBufAppendPrintf(Mime->Data, "
    \n"); return; } putlbstr("divname", ++divcount); putbstr("cal_partnum", NewStrBufDup(Mime->PartNum)); putlbstr("msgnum", Mime->msgnum); memset(&SubTP, 0, sizeof(WCTemplputParams)); memset(&SuperTP, 0, sizeof(WCTemplputParams)); /*//ical_dezonify(cal); */ /* If the component has subcomponents, recurse through them. */ c = icalcomponent_get_first_component(cal, ICAL_ANY_COMPONENT); c = (c != NULL) ? c : cal; method = icalcomponent_get_first_property(cal, ICAL_METHOD_PROPERTY); if (method != NULL) { the_method = icalproperty_get_method(method); } StackContext (TP, &SuperTP, &the_method, CTX_ICALMETHOD, 0, TP->Tokens); StackContext (&SuperTP, &SubTP, c, CTX_ICAL, 0, SuperTP.Tokens); FlushStrBuf(Mime->Data); /// DoTemplate(HKEY("ical_attachment_display"), Mime->Data, &SubTP); DoTemplate(HKEY("ical_edit"), Mime->Data, &SubTP); /*/ cal_process_object(Mime->Data, cal, 0, Mime->msgnum, ChrPtr(Mime->PartNum)); */ /* Free the memory we obtained from libical's constructor */ StrBufPlain(Mime->ContentType, HKEY("text/html")); StrBufAppendPrintf(WC->trailing_javascript, "eventEditAllDay(); \n" "RecurrenceShowHide(); \n" "EnableOrDisableCheckButton(); \n" ); UnStackContext(&SuperTP); UnStackContext(&SubTP); icalcomponent_free(cal); } void CreateIcalComponendKindLookup(void) { int i = 0; IcalComponentMap = NewHash (1, NULL); while (icalproperty_kind_map[i].NameLen != 0) { RegisterNS(icalproperty_kind_map[i].Name, icalproperty_kind_map[i].NameLen, 0, 10, tmplput_ICalItem, NULL, CTX_ICAL); Put(IcalComponentMap, icalproperty_kind_map[i].Name, icalproperty_kind_map[i].NameLen, &icalproperty_kind_map[i], reference_free_handler); i++; } } int cond_ICalIsMethod(StrBuf *Target, WCTemplputParams *TP) { icalproperty_method *the_method = (icalproperty_method *) CTX(CTX_ICALMETHOD); icalproperty_method which_method; which_method = GetTemplateTokenNumber(Target, TP, 2, ICAL_METHOD_X); return *the_method == which_method; } typedef struct CalendarConflict { long is_update; long existing_msgnum; StrBuf *conflict_event_uid; StrBuf *conflict_event_summary; }CalendarConflict; void DeleteConflict(void *vConflict) { CalendarConflict *c = (CalendarConflict *) vConflict; FreeStrBuf(&c->conflict_event_uid); FreeStrBuf(&c->conflict_event_summary); free(c); } HashList *iterate_FindConflict(StrBuf *Target, WCTemplputParams *TP) { StrBuf *Line; HashList *Conflicts = NULL; CalendarConflict *Conflict; wc_mime_attachment *Mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); serv_printf("ICAL conflicts|%ld|%s|", Mime->msgnum, ChrPtr(Mime->PartNum)); Line = NewStrBuf(); StrBuf_ServGetln(Line); if (GetServerStatus(Line, NULL) == 1) { const char *Pos = NULL; int Done = 0; int n = 0; Conflicts = NewHash(1, Flathash); while(!Done && (StrBuf_ServGetln(Line) >= 0) ) if ( (StrLength(Line)==3) && !strcmp(ChrPtr(Line), "000")) { Done = 1; } else { Conflict = (CalendarConflict *) malloc(sizeof(CalendarConflict)); Conflict->conflict_event_uid = NewStrBufPlain(NULL, StrLength(Line)); Conflict->conflict_event_summary = NewStrBufPlain(NULL, StrLength(Line)); Conflict->existing_msgnum = StrBufExtractNext_long(Line, &Pos, '|'); StrBufSkip_NTokenS(Line, &Pos, '|', 1); StrBufExtract_NextToken(Conflict->conflict_event_uid, Line, &Pos, '|'); StrBufExtract_NextToken(Conflict->conflict_event_summary, Line, &Pos, '|'); Conflict->is_update = StrBufExtractNext_long(Line, &Pos, '|'); Put(Conflicts, IKEY(n), Conflict, DeleteConflict); n++; Pos = NULL; } } FreeStrBuf(&Line); syslog(LOG_DEBUG, "...done.\n"); return Conflicts; } void tmplput_ConflictEventMsgID(StrBuf *Target, WCTemplputParams *TP) { CalendarConflict *C = (CalendarConflict *) CTX(CTX_ICALCONFLICT); char buf[sizeof(long) * 16]; snprintf(buf, sizeof(buf), "%ld", C->existing_msgnum); StrBufAppendTemplateStr(Target, TP, buf, 0); } void tmplput_ConflictEUID(StrBuf *Target, WCTemplputParams *TP) { CalendarConflict *C = (CalendarConflict *) CTX(CTX_ICALCONFLICT); StrBufAppendTemplate(Target, TP, C->conflict_event_uid, 0); } void tmplput_ConflictSummary(StrBuf *Target, WCTemplputParams *TP) { CalendarConflict *C = (CalendarConflict *) CTX(CTX_ICALCONFLICT); StrBufAppendTemplate(Target, TP, C->conflict_event_summary, 0); } int cond_ConflictIsUpdate(StrBuf *Target, WCTemplputParams *TP) { CalendarConflict *C = (CalendarConflict *) CTX(CTX_ICALCONFLICT); return C->is_update; } typedef struct CalAttendee { StrBuf *AttendeeStr; icalparameter_partstat partstat; } CalAttendee; void DeleteAtt(void *vAtt) { CalAttendee *att = (CalAttendee*) vAtt; FreeStrBuf(&att->AttendeeStr); free(vAtt); } HashList *iterate_get_ical_attendees(StrBuf *Target, WCTemplputParams *TP) { icalcomponent *cal = (icalcomponent *) CTX(CTX_ICAL); icalparameter *partstat_param; icalproperty *p; CalAttendee *Att; HashList *Attendees = NULL; const char *ch; int n = 0; /* If the component has attendees, iterate through them. */ for (p = icalcomponent_get_first_property(cal, ICAL_ATTENDEE_PROPERTY); (p != NULL); p = icalcomponent_get_next_property(cal, ICAL_ATTENDEE_PROPERTY)) { ch = icalproperty_get_attendee(p); if ((ch != NULL) && !strncasecmp(ch, "MAILTO:", 7)) { Att = (CalAttendee*) malloc(sizeof(CalAttendee)); /** screen name or email address */ Att->AttendeeStr = NewStrBufPlain(ch + 7, -1); StrBufTrim(Att->AttendeeStr); /** participant status */ partstat_param = icalproperty_get_first_parameter( p, ICAL_PARTSTAT_PARAMETER ); if (partstat_param == NULL) { Att->partstat = ICAL_PARTSTAT_X; } else { Att->partstat = icalparameter_get_partstat(partstat_param); } if (Attendees == NULL) Attendees = NewHash(1, Flathash); Put(Attendees, IKEY(n), Att, DeleteAtt); n++; } } return Attendees; } void tmplput_ICalAttendee(StrBuf *Target, WCTemplputParams *TP) { CalAttendee *Att = (CalAttendee*) CTX(CTX_ICALATTENDEE); StrBufAppendTemplate(Target, TP, Att->AttendeeStr, 0); } int cond_ICalAttendeeState(StrBuf *Target, WCTemplputParams *TP) { CalAttendee *Att = (CalAttendee*) CTX(CTX_ICALATTENDEE); icalparameter_partstat which_partstat; which_partstat = GetTemplateTokenNumber(Target, TP, 2, ICAL_PARTSTAT_X); return Att->partstat == which_partstat; } /* If the component has subcomponents, recurse through them. * / for (c = icalcomponent_get_first_component(cal, ICAL_ANY_COMPONENT); (c != 0); c = icalcomponent_get_next_component(cal, ICAL_ANY_COMPONENT)) { // Recursively process subcomponent cal_process_object(Target, c, recursion_level+1, msgnum, cal_partnum); } */ void InitModule_ICAL_SUBST (void) { RegisterCTX(CTX_ICAL); /* RegisterMimeRenderer(HKEY("text/calendar"), render_MIME_ICS_TPL, 1, 501); RegisterMimeRenderer(HKEY("application/ics"), render_MIME_ICS_TPL, 1, 500); */ CreateIcalComponendKindLookup (); RegisterConditional("COND:ICAL:PROPERTY", 1, cond_ICalHaveItem, CTX_ICAL); RegisterConditional("COND:ICAL:IS:A", 1, cond_ICalIsA, CTX_ICAL); RegisterIterator("ICAL:CONFLICT", 0, NULL, iterate_FindConflict, NULL, DeleteHash, CTX_MIME_ATACH, CTX_ICALCONFLICT, IT_NOFLAG); RegisterNamespace("ICAL:CONFLICT:MSGID", 0, 1, tmplput_ConflictEventMsgID, NULL, CTX_ICALCONFLICT); RegisterNamespace("ICAL:CONFLICT:EUID", 0, 1, tmplput_ConflictEUID, NULL, CTX_ICALCONFLICT); RegisterNamespace("ICAL:CONFLICT:SUMMARY", 0, 1, tmplput_ConflictSummary, NULL, CTX_ICALCONFLICT); RegisterConditional("ICAL:CONFLICT:IS:UPDATE", 0, cond_ConflictIsUpdate, CTX_ICALCONFLICT); RegisterCTX(CTX_ICALATTENDEE); RegisterIterator("ICAL:ATTENDEES", 0, NULL, iterate_get_ical_attendees, NULL, DeleteHash, CTX_ICALATTENDEE, CTX_ICAL, IT_NOFLAG); RegisterNamespace("ICAL:ATTENDEE", 1, 2, tmplput_ICalAttendee, NULL, CTX_ICALATTENDEE); RegisterConditional("COND:ICAL:ATTENDEE", 1, cond_ICalAttendeeState, CTX_ICALATTENDEE); RegisterCTX(CTX_ICALPROPERTY); RegisterNamespace("ICAL:ITEM", 1, 2, tmplput_ICalItem, NULL, CTX_ICAL); RegisterNamespace("ICAL:PROPERTY:STR", 0, 1, tmplput_CtxICalProperty, NULL, CTX_ICALPROPERTY); RegisterNamespace("ICAL:PROPERTY:DATE", 0, 1, tmplput_CtxICalPropertyDate, NULL, CTX_ICALPROPERTY); RegisterCTX(CTX_ICALMETHOD); RegisterConditional("COND:ICAL:METHOD", 1, cond_ICalIsMethod, CTX_ICALMETHOD); RegisterCTX(CTX_ICALTIME); RegisterConditional("COND:ICAL:DT:PROPERTY", 1, cond_ICalHaveTimeItem, CTX_ICAL); RegisterConditional("COND:ICAL:DT:ISDATE", 0, cond_ICalTimeIsDate, CTX_ICALTIME); RegisterNamespace("ICAL:DT:DATE", 0, 1, tmplput_ICalTime_Date, NULL, CTX_ICALTIME); RegisterNamespace("ICAL:DT:DATETIME", 0, 1, tmplput_ICalTime_Time, NULL, CTX_ICALTIME); } void ServerShutdownModule_ICAL (void) { DeleteHash(&IcalComponentMap); } webcit-9.01-dfsg/iconbar.c000066400000000000000000000171211254743150300154300ustar00rootroot00000000000000/* * Displays and customizes the iconbar. * * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" /* Values for ib_displayas ... don't change these or you will break the templates */ #define IB_PICTEXT 0 /* picture and text */ #define IB_PICONLY 1 /* just a picture */ #define IB_TEXTONLY 2 /* just text */ void DontDeleteThis(void *Data){} #define IconbarIsEnabled(a, b) IconbarIsENABLED(a, sizeof(a) - 1, b) HashList *IB_Seeting_Order = NULL; typedef struct _dflt_IB_Setting { int DefVal; /* default value for non-set users */ long n; /* counter for internal purposes */ const char *Key; /* Stringvalue */ long len; /* Length... */ }dflt_IB_Setting; long nIBV = 0; dflt_IB_Setting IconbarDefaults[] = { {0, 0, HKEY("unused")}, {0, 1, HKEY("ib_displayas")}, {0, 2, HKEY("ib_logo")}, {1, 3, HKEY("ib_summary")}, {1, 4, HKEY("ib_inbox")}, {1, 5, HKEY("ib_calendar")}, {1, 6, HKEY("ib_contacts")}, {1, 7, HKEY("ib_notes")}, {1, 8, HKEY("ib_tasks")}, {1, 9, HKEY("ib_rooms")}, {1, 10, HKEY("ib_users")}, {1, 11, HKEY("ib_chat")}, {1, 12, HKEY("ib_advanced")}, {1, 13, HKEY("ib_logoff")}, {1, 14, HKEY("ib_citadel")}, {0, 15, HKEY("")} }; HashList *IBDfl = NULL; long IconbarIsENABLED(long val, const char *key, size_t keylen) { void *vIBDfl = NULL; wcsession *WCC = WC; if ((WCC != NULL) && (WCC->IBSettingsVec != NULL) && (val < nIBV)) { return WCC->IBSettingsVec[val]; } if (GetHash(IBDfl, key, keylen, &vIBDfl)) { dflt_IB_Setting *Set = (dflt_IB_Setting*)vIBDfl; return Set->DefVal; } else return 1; } #ifdef DBG_ICONBAR_HASH static char nbuf[32]; inline const char *PrintInt(void *Prefstr) { snprintf(nbuf, sizeof(nbuf), "%ld", (long)Prefstr); return nbuf; } #endif /* hprintf("Cache-Control: private\r\n"); */ int ConditionalIsActiveStylesheet(StrBuf *Target, WCTemplputParams *TP) { long testFor; long lookAt; long ib_displayas; lookAt = GetTemplateTokenNumber(Target, TP, 3, IB_PICTEXT); testFor = GetTemplateTokenNumber(Target, TP, 2, IB_PICTEXT); ib_displayas = IconbarIsENABLED(lookAt, TKEY(3)); /* printf ("%ld == %ld ? %s : %s\n", testFor, ib_displayas, IconbarDefaults[lookAt ].Key, ChrPtr(TP->Tokens->FlatToken)); */ return (testFor == ib_displayas); } void LoadIconSettings(StrBuf *iconbar, long lvalue) { void *vIBDfl; dflt_IB_Setting *Set; const char *pCh = NULL; wcsession *WCC = WC; StrBuf *buf; StrBuf *key; long val; buf = NewStrBuf(); key = NewStrBuf(); if (WCC->IBSettingsVec == NULL) { WCC->IBSettingsVec = (long*) malloc (nIBV * sizeof(long)); } /* * The initialized values of these variables also happen to * specify the default values for users who haven't customized * their iconbars. These should probably be set in a master * configuration somewhere. */ while (StrBufExtract_NextToken(buf, iconbar, &pCh, ',') >= 0) { StrBufExtract_token(key, buf, 0, '='); val = StrBufExtract_long(buf, 1, '='); if (!GetHash(IBDfl, SKEY(key), &vIBDfl)) continue; Set = (dflt_IB_Setting*)vIBDfl; WCC->IBSettingsVec[Set->n] = val; /* printf("%ld %s %s -> %ld \n", Set->n, Set->Key, IconbarDefaults[Set->n].Key, val);*/ } #ifdef DBG_ICONBAR_HASH dbg_PrintHash(WCC->IconBarSetttings, PrintInt, NULL); #endif FreeStrBuf(&key); FreeStrBuf(&buf); } /* * save changes to iconbar settings */ void commit_iconbar(void) { const StrBuf *MimeType; StrBuf *iconbar; StrBuf *buf; int i; if (!havebstr("ok_button")) { display_main_menu(); return; } iconbar = NewStrBuf(); buf = NewStrBuf(); StrBufPrintf(iconbar, "ib_displayas=%d", ibstr("ib_displayas")); for (i=0; i<(sizeof(IconbarDefaults)/sizeof(dflt_IB_Setting )); ++i) { char *Val; if (!strcasecmp(Bstr(IconbarDefaults[i].Key, IconbarDefaults[i].len), "yes")) { Val = "1"; } else if (!strcasecmp(Bstr(IconbarDefaults[i].Key, IconbarDefaults[i].len), "yeslist")) { Val = "2"; } else { Val = "0"; } StrBufPrintf(buf, ",%s=%s", IconbarDefaults[i].Key, Val); StrBufAppendBuf(iconbar, buf, 0); } FreeStrBuf(&buf); set_preference("iconbar", iconbar, 1); begin_burst(); MimeType = DoTemplate(HKEY("iconbar_save"), NULL, &NoCtx); http_transmit_thing(ChrPtr(MimeType), 0); #ifdef DBG_ICONBAR_HASH dbg_PrintHash(WC->IconBarSetttings, PrintInt, NULL); #endif } /* * Display the icon bar as long as we have an active session, * and either the user is logged in or the server allows guest mode. */ void tmplput_iconbar(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if ( (WCC != NULL) && ((WCC->logged_in) || ((WCC->serv_info != NULL) && (WCC->serv_info->serv_supports_guest)) ) ) { DoTemplate(HKEY("iconbar"), NULL, &NoCtx); } } void ServerShutdownModule_ICONBAR (void) { DeleteHash(&IBDfl); } void ServerStartModule_ICONBAR (void) { int i = 1; IBDfl = NewHash(1, NULL); while (IconbarDefaults[i].len != 0) { Put(IBDfl, IconbarDefaults[i].Key, IconbarDefaults[i].len, &IconbarDefaults[i], reference_free_handler); i++; } } int ConditionalWholistExpanded(StrBuf *Target, WCTemplputParams *TP) { int r = 0; if (WC) r = WC->ib_wholist_expanded; syslog(LOG_DEBUG, "ConditionalWholistExpanded() returns %d", r); return(r); } int ConditionalRoomlistExpanded(StrBuf *Target, WCTemplputParams *TP) { if (WC) return(WC->ib_roomlist_expanded); return(0); } /* * Toggle the roomlist expanded state in session memory */ void toggle_roomlist_expanded_state(void) { wcsession *WCC = WC; if (!WCC) { wc_printf("no session"); return; } WCC->ib_roomlist_expanded = IBSTR("wstate"); wc_printf("%d", WCC->ib_roomlist_expanded); syslog(LOG_DEBUG, "ib_roomlist_expanded set to %d", WCC->ib_roomlist_expanded); } /* * Toggle the wholist expanded state in session memory */ void toggle_wholist_expanded_state(void) { wcsession *WCC = WC; if (!WCC) { wc_printf("no session"); return; } WCC->ib_wholist_expanded = IBSTR("wstate"); wc_printf("%d", WCC->ib_wholist_expanded); syslog(LOG_DEBUG, "ib_wholist_expanded set to %d", WCC->ib_wholist_expanded); } void InitModule_ICONBAR (void) { long l; /*WebcitAddUrlHandler(HKEY("user_iconbar"), "", 0, doUserIconStylesheet, 0); */ WebcitAddUrlHandler(HKEY("commit_iconbar"), "", 0, commit_iconbar, 0); WebcitAddUrlHandler(HKEY("toggle_wholist_expanded_state"), "", 0, toggle_wholist_expanded_state, AJAX); WebcitAddUrlHandler(HKEY("toggle_roomlist_expanded_state"), "", 0, toggle_roomlist_expanded_state, AJAX); RegisterConditional("COND:ICONBAR:ACTIVE", 3, ConditionalIsActiveStylesheet, CTX_NONE); RegisterNamespace("ICONBAR", 0, 0, tmplput_iconbar, NULL, CTX_NONE); RegisterConditional("COND:ICONBAR:WHOLISTEXPANDED", 0, ConditionalWholistExpanded, CTX_NONE); RegisterConditional("COND:ICONBAR:ROOMLISTEXPANDED", 0, ConditionalRoomlistExpanded, CTX_NONE); RegisterPreference("iconbar", _("Iconbar Setting"), PRF_STRING, LoadIconSettings); l = 1; while (IconbarDefaults[l].len != 0) { RegisterTokenParamDefine(IconbarDefaults[l].Key, IconbarDefaults[l].len, l); l ++; } nIBV = l; } void SessionDestroyModule_ICONBAR (wcsession *sess) { if (sess->IBSettingsVec != NULL) free(sess->IBSettingsVec); } webcit-9.01-dfsg/icontheme.c000066400000000000000000000102161254743150300157640ustar00rootroot00000000000000/* * Displays and customizes the iconbar. * * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include #include #include #include #include #include #include #include #include "webcit.h" #include "webserver.h" HashList *AvailableThemes = NULL; const StrBuf *DefaultTheme = NULL; void LoadIconthemeSettings(StrBuf *icontheme, long lvalue) { wcsession *WCC = WC; void *vTheme; const StrBuf *theme; if (GetHash(AvailableThemes, SKEY(icontheme), &vTheme)) theme = (StrBuf*)vTheme; else theme = DefaultTheme; if (WCC->IconTheme != NULL) StrBufPlain(WCC->IconTheme, SKEY(theme)); else WCC->IconTheme = NewStrBufDup(theme); } void tmplput_icontheme(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if ( (WCC != NULL) && (WCC->IconTheme != NULL)) { StrBufAppendTemplate(Target, TP, WCC->IconTheme, 0); } else { StrBufAppendTemplate(Target, TP, DefaultTheme, 0); } } int LoadThemeDir(const char *DirName) { StrBuf *Dir = NULL; DIR *filedir = NULL; struct dirent *d; struct dirent *filedir_entry; int d_type = 0; int d_namelen; filedir = opendir (DirName); if (filedir == NULL) { return 0; } d = (struct dirent *)malloc(offsetof(struct dirent, d_name) + PATH_MAX + 1); if (d == NULL) { return 0; } while ((readdir_r(filedir, d, &filedir_entry) == 0) && (filedir_entry != NULL)) { #ifdef _DIRENT_HAVE_D_NAMELEN d_namelen = filedir_entry->d_namlen; d_type = filedir_entry->d_type; #else #ifndef DT_UNKNOWN #define DT_UNKNOWN 0 #define DT_DIR 4 #define DT_REG 8 #define DT_LNK 10 #define IFTODT(mode) (((mode) & 0170000) >> 12) #define DTTOIF(dirtype) ((dirtype) << 12) #endif d_namelen = strlen(filedir_entry->d_name); d_type = DT_UNKNOWN; #endif if ((d_namelen > 1) && filedir_entry->d_name[d_namelen - 1] == '~') continue; /* Ignore backup files... */ if ((d_namelen == 1) && (filedir_entry->d_name[0] == '.')) continue; if ((d_namelen == 2) && (filedir_entry->d_name[0] == '.') && (filedir_entry->d_name[1] == '.')) continue; if (d_type == DT_UNKNOWN) { struct stat s; char path[PATH_MAX]; snprintf(path, PATH_MAX, "%s/%s", DirName, filedir_entry->d_name); if (stat(path, &s) == 0) { d_type = IFTODT(s.st_mode); } } switch (d_type) { case DT_LNK: /* TODO: check whether its a file or a directory */ case DT_DIR: /* Skip directories we are not interested in... */ if ((strcmp(filedir_entry->d_name, ".svn") == 0) || (strcmp(filedir_entry->d_name, "t") == 0)) break; Dir = NewStrBufPlain (filedir_entry->d_name, d_namelen); if (DefaultTheme == NULL) DefaultTheme = Dir; Put(AvailableThemes, SKEY(Dir), Dir, HFreeStrBuf); break; case DT_REG: default: break; } } free(d); closedir(filedir); return 1; } HashList *GetValidThemeHash(StrBuf *Target, WCTemplputParams *TP) { return AvailableThemes; } void ServerStartModule_ICONTHEME (void) { AvailableThemes = NewHash(1, NULL); } void InitModule_ICONTHEME (void) { StrBuf *Themes = NewStrBufPlain(static_dirs[0], -1); StrBufAppendBufPlain(Themes, HKEY("/"), 0); StrBufAppendBufPlain(Themes, HKEY("webcit_icons"), 0); LoadThemeDir(ChrPtr(Themes)); FreeStrBuf(&Themes); RegisterPreference("icontheme", _("Icon Theme"), PRF_STRING, LoadIconthemeSettings); RegisterNamespace("ICONTHEME", 0, 0, tmplput_icontheme, NULL, CTX_NONE); RegisterIterator("PREF:VALID:THEME", 0, NULL, GetValidThemeHash, NULL, NULL, CTX_STRBUF, CTX_NONE, IT_NOFLAG); } void ServerShutdownModule_ICONTHEME (void) { DeleteHash(&AvailableThemes); } void SessionDestroyModule_ICONTHEME (wcsession *sess) { FreeStrBuf(&sess->IconTheme); } webcit-9.01-dfsg/inetconf.c000066400000000000000000000131371254743150300156230ustar00rootroot00000000000000/* * Functions which handle Internet domain configuration etc. */ #include "webcit.h" #include "webserver.h" typedef enum _e_cfg { ic_localhost, ic_directory, ic_smarthost, ic_fallback, ic_rbl, ic_spamass, ic_masq, ic_clamav, ic_notify, ic_max } ECfg; /* These are server config keywords; do not localize! */ ConstStr CfgNames[] = { { HKEY("localhost") }, { HKEY("directory") }, { HKEY("smarthost") }, { HKEY("fallbackhost") }, { HKEY("rbl") }, { HKEY("spamassassin") }, { HKEY("masqdomain") }, { HKEY("clamav") }, { HKEY("notify") } }; /* * display the inet config dialog */ void load_inetconf(void) { wcsession *WCC = WC; StrBuf *Buf, *CfgToken, *Value; void *vHash; HashList *Hash; char nnn[64]; int i, len, nUsed; WCC->InetCfg = NewHash(1, NULL); for (i = 0; i < (sizeof(CfgNames) / sizeof(ConstStr)); i++) { Hash = NewHash(1, NULL); Put(WCC->InetCfg, CKEY(CfgNames[i]), Hash, HDeleteHash); } serv_printf("CONF GETSYS|application/x-citadel-internet-config"); Buf = NewStrBuf(); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 1) { CfgToken = NewStrBuf(); while ((len = StrBuf_ServGetln(Buf), ((len >= 0) && ((len != 3) || strcmp(ChrPtr(Buf), "000"))))) { Value = NewStrBuf(); StrBufExtract_token(CfgToken, Buf, 1, '|'); StrBufExtract_token(Value, Buf, 0, '|'); GetHash(WCC->InetCfg, ChrPtr(CfgToken), StrLength(CfgToken), &vHash); Hash = (HashList*) vHash; if (Hash == NULL) { syslog(LOG_WARNING, "ERROR Loading inet config line: [%s]\n", ChrPtr(Buf)); FreeStrBuf(&Value); continue; } nUsed = GetCount(Hash); nUsed = snprintf(nnn, sizeof(nnn), "%d", nUsed+1); Put(Hash, nnn, nUsed, Value, HFreeStrBuf); } FreeStrBuf(&CfgToken); } FreeStrBuf(&Buf); } /* * save changes to the inet config */ void new_save_inetconf(void) { wcsession *WCC = WC; HashList *Hash; StrBuf *Str; StrBuf *Buf; const StrBuf *eType, *eNum, *eName; char nnn[64]; void *vHash, *vStr; int i, nUsed; load_inetconf(); eType = sbstr("etype"); GetHash(WCC->InetCfg, ChrPtr(eType), StrLength(eType), &vHash); Hash = (HashList*) vHash; if (Hash == NULL) { AppendImportantMessage(_("Invalid Parameter"), -1); url_do_template(); return; } if (strcasecmp(bstr("oper"), "delete") == 0) { eNum = sbstr("ename"); if (!GetHash(Hash, ChrPtr(eNum), StrLength(eNum), &vStr) || (vStr == NULL)) { AppendImportantMessage(_("Invalid Parameter"), -1); url_do_template(); return; } Str = (StrBuf*)vStr; AppendImportantMessage(SKEY(Str)); AppendImportantMessage(_(" has been deleted."), -1); FlushStrBuf(Str); } else if (!strcasecmp(bstr("oper"), "add")) { StrBuf *name; eName = sbstr("ename"); if (eName == NULL) { AppendImportantMessage(_("Invalid Parameter"), -1); url_do_template(); return; } nUsed = GetCount(Hash); nUsed = snprintf(nnn, sizeof(nnn), "%d", nUsed+1); name = NewStrBufDup(eName); StrBufTrim(name); Put(Hash, nnn, nUsed, name, HFreeStrBuf); AppendImportantMessage(SKEY(eName)); AppendImportantMessage( /* added status message*/ _(" added."), -1); } Buf = NewStrBuf(); serv_printf("CONF PUTSYS|application/x-citadel-internet-config"); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 4) { for (i = 0; i < (sizeof(CfgNames) / sizeof(ConstStr)); i++) { HashPos *where; const char *Key; long KeyLen; GetHash(WCC->InetCfg, CKEY(CfgNames[i]), &vHash); Hash = (HashList*) vHash; if (Hash == NULL) { AppendImportantMessage(_("Invalid Parameter"), -1); url_do_template(); return; } if (GetCount(Hash) > 0) { where = GetNewHashPos(Hash, 0); while (GetNextHashPos(Hash, where, &KeyLen, &Key, &vStr)) { Str = (StrBuf*) vStr; if ((Str!= NULL) && (StrLength(Str) > 0)) serv_printf("%s|%s", ChrPtr(Str), CfgNames[i].Key); } DeleteHashPos(&where); } } serv_puts("000"); DeleteHash(&WCC->InetCfg); } FreeStrBuf(&Buf); url_do_template(); } void DeleteInetConfHash(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if (WCC->InetCfg != NULL) DeleteHash(&WCC->InetCfg); } HashList *GetInetConfHash(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; void *vHash; if (WCC->InetCfg == NULL) load_inetconf(); GetHash(WCC->InetCfg, TKEY(5), &vHash); PutBstr(HKEY("__SERVCFG:INET:TYPE"), NewStrBufPlain(TKEY(5))); return vHash; } HashList *GetValidDomainNames(StrBuf *Target, WCTemplputParams *TP) { StrBuf *Line; HashList *ValidDomainNames = NULL; long State; int gvdnlevel = 0; serv_printf("GVDN %d", gvdnlevel); Line = NewStrBuf(); StrBuf_ServGetln(Line); if (GetServerStatus(Line, &State) == 1) { int Done = 0; int n = 0; ValidDomainNames = NewHash(1, NULL); while(!Done && (StrBuf_ServGetln(Line) >= 0)) if ( (StrLength(Line)==3) && !strcmp(ChrPtr(Line), "000")) { Done = 1; } else { Put(ValidDomainNames, IKEY(n), NewStrBufDup(Line), HFreeStrBuf); n++; /* #0 is the type... */ } } else if (State == 550) AppendImportantMessage(_("Higher access is required to access this function."), -1); FreeStrBuf(&Line); return ValidDomainNames; } void InitModule_INETCONF (void) { WebcitAddUrlHandler(HKEY("save_inetconf"), "", 0, new_save_inetconf, 0); RegisterIterator("SERVCFG:INET", 1, NULL, GetInetConfHash, NULL, NULL, CTX_STRBUF, CTX_NONE, IT_NOFLAG); RegisterNamespace("SERVCFG:FLUSHINETCFG",0, 0, DeleteInetConfHash, NULL, CTX_NONE); RegisterIterator("ITERATE:VALID:DOMAINNAMES", 1, NULL, GetValidDomainNames, NULL, DeleteHash, CTX_STRBUF, CTX_NONE, IT_NOFLAG); } webcit-9.01-dfsg/install-sh000077500000000000000000000127201254743150300156530ustar00rootroot00000000000000#!/bin/sh # # install - install a program, script, or datafile # This comes from X11R5 (mit/util/scripts/install.sh). # # Copyright 1991 by the Massachusetts Institute of Technology # # Permission to use, copy, modify, distribute, and sell this software and its # documentation for any purpose is hereby granted without fee, provided that # the above copyright notice appear in all copies and that both that # copyright notice and this permission notice appear in supporting # documentation, and that the name of M.I.T. not be used in advertising or # publicity pertaining to distribution of the software without specific, # written prior permission. M.I.T. makes no representations about the # suitability of this software for any purpose. It is provided "as is" # without express or implied warranty. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. It can only install one file at a time, a restriction # shared with many OS's install programs. # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" # put in absolute paths if you don't have them in your path; or use env. vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" transformbasename="" transform_arg="" instcmd="$mvprog" chmodcmd="$chmodprog 0755" chowncmd="" chgrpcmd="" stripcmd="" rmcmd="$rmprog -f" mvcmd="$mvprog" src="" dst="" dir_arg="" while [ x"$1" != x ]; do case $1 in -c) instcmd="$cpprog" shift continue;; -d) dir_arg=true shift continue;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; -s) stripcmd="$stripprog" shift continue;; -t=*) transformarg=`echo $1 | sed 's/-t=//'` shift continue;; -b=*) transformbasename=`echo $1 | sed 's/-b=//'` shift continue;; *) if [ x"$src" = x ] then src=$1 else # this colon is to work around a 386BSD /bin/sh bug : dst=$1 fi shift continue;; esac done if [ x"$src" = x ] then echo "install: no input file specified" exit 1 else true fi if [ x"$dir_arg" != x ]; then dst=$src src="" if [ -d $dst ]; then instcmd=: else instcmd=mkdir fi else # Waiting for this to be detected by the "$instcmd $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if [ -f $src -o -d $src ] then true else echo "install: $src does not exist" exit 1 fi if [ x"$dst" = x ] then echo "install: no destination specified" exit 1 else true fi # If destination is a directory, append the input filename; if your system # does not like double slashes in filenames, you may need to add some logic if [ -d $dst ] then dst="$dst"/`basename $src` else true fi fi ## this sed command emulates the dirname command dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Make sure that the destination directory exists. # this part is taken from Noah Friedman's mkinstalldirs script # Skip lots of stat calls in the usual case. if [ ! -d "$dstdir" ]; then defaultIFS=' ' IFS="${IFS-${defaultIFS}}" oIFS="${IFS}" # Some sh's can't handle IFS=/ for some reason. IFS='%' set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` IFS="${oIFS}" pathcomp='' while [ $# -ne 0 ] ; do pathcomp="${pathcomp}${1}" shift if [ ! -d "${pathcomp}" ] ; then $mkdirprog "${pathcomp}" else true fi pathcomp="${pathcomp}/" done fi if [ x"$dir_arg" != x ] then $doit $instcmd $dst && if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi else # If we're going to rename the final executable, determine the name now. if [ x"$transformarg" = x ] then dstfile=`basename $dst` else dstfile=`basename $dst $transformbasename | sed $transformarg`$transformbasename fi # don't allow the sed command to completely eliminate the filename if [ x"$dstfile" = x ] then dstfile=`basename $dst` else true fi # Make a temp file name in the proper directory. dsttmp=$dstdir/#inst.$$# # Move or copy the file name to the temp name $doit $instcmd $src $dsttmp && trap "rm -f ${dsttmp}" 0 && # and set any options; do chmod last to preserve setuid bits # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $instcmd $src $dsttmp" command. if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && # Now rename the file to the real destination. $doit $rmcmd -f $dstdir/$dstfile && $doit $mvcmd $dsttmp $dstdir/$dstfile fi && exit 0 webcit-9.01-dfsg/js/000077500000000000000000000000001254743150300142615ustar00rootroot00000000000000webcit-9.01-dfsg/js/.jshintrc000066400000000000000000000004571254743150300161140ustar00rootroot00000000000000{ "bitwise": true, "curly": true, "eqeqeq": true, "forin": true, "freeze": true, "immed": true, "laxbreak": true, "newcap": true, "noarg": true, "noempty": true, "nonbsp": true, "nonew": true, "strict": true, "undef": true, "unused": true, "indent": 2, "maxlen": 120 } webcit-9.01-dfsg/listsub.c000066400000000000000000000075351254743150300155100ustar00rootroot00000000000000/* * Web forms for handling mailing list subscribe/unsubscribe requests. * * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" /* * List subscription handling */ int Conditional_LISTSUB_EXECUTE_SUBSCRIBE(StrBuf *Target, WCTemplputParams *TP) { int rc; StrBuf *Line; const char *ImpMsg; const StrBuf *Room, *Email, *SubType; if (strcmp(bstr("cmd"), "subscribe")) { return 0; } Room = sbstr("room"); if (Room == NULL) { ImpMsg = _("You need to specify the mailinglist to subscribe to."); AppendImportantMessage(ImpMsg, -1); return 0; } Email = sbstr("email"); if (Email == NULL) { ImpMsg = _("You need to specify the email address you'd like to subscribe with."); AppendImportantMessage(ImpMsg, -1); return 0; } SubType = sbstr("subtype"); Line = NewStrBuf(); serv_printf("SUBS subscribe|%s|%s|%s|%s/listsub", ChrPtr(Room), ChrPtr(Email), ChrPtr(SubType), ChrPtr(site_prefix) ); StrBuf_ServGetln(Line); rc = GetServerStatusMsg(Line, NULL, 1, 2); FreeStrBuf(&Line); if (rc == 2) putbstr("__FAIL", NewStrBufPlain(HKEY("1"))); return rc == 2; } int Conditional_LISTSUB_EXECUTE_UNSUBSCRIBE(StrBuf *Target, WCTemplputParams *TP) { int rc; StrBuf *Line; const char *ImpMsg; const StrBuf *Room, *Email; if (strcmp(bstr("cmd"), "unsubscribe")) { return 0; } Room = sbstr("room"); if (Room == NULL) { ImpMsg = _("You need to specify the mailinglist to subscribe to."); AppendImportantMessage(ImpMsg, -1); return 0; } Email = sbstr("email"); if (Email == NULL) { ImpMsg = _("You need to specify the email address you'd like to subscribe with."); AppendImportantMessage(ImpMsg, -1); return 0; } serv_printf("SUBS unsubscribe|%s|%s|%s/listsub", ChrPtr(Room), ChrPtr(Email), ChrPtr(site_prefix) ); Line = NewStrBuf(); StrBuf_ServGetln(Line); rc = GetServerStatusMsg(Line, NULL, 1, 2); FreeStrBuf(&Line); if (rc == 2) putbstr("__FAIL", NewStrBufPlain(HKEY("1"))); return rc == 2; } int Conditional_LISTSUB_EXECUTE_CONFIRM_SUBSCRIBE(StrBuf *Target, WCTemplputParams *TP) { int rc; StrBuf *Line; const char *ImpMsg; const StrBuf *Room, *Token; if (strcmp(bstr("cmd"), "confirm")) { return 0; } Room = sbstr("room"); if (Room == NULL) { ImpMsg = _("You need to specify the mailinglist to subscribe to."); AppendImportantMessage(ImpMsg, -1); return 0; } Token = sbstr("token"); if (Room == NULL) { ImpMsg = _("You need to specify the mailinglist to subscribe to."); AppendImportantMessage(ImpMsg, -1); return 0; } Line = NewStrBuf(); serv_printf("SUBS confirm|%s|%s", ChrPtr(Room), ChrPtr(Token) ); StrBuf_ServGetln(Line); rc = GetServerStatusMsg(Line, NULL, 1, 2); FreeStrBuf(&Line); if (rc == 2) putbstr("__FAIL", NewStrBufPlain(HKEY("1"))); return rc == 2; } void do_listsub(void) { if (!havebstr("cmd")) { putbstr("cmd", NewStrBufPlain(HKEY("choose"))); } output_headers(1, 0, 0, 0, 1, 0); do_template("listsub_display"); end_burst(); } void InitModule_LISTSUB (void) { RegisterConditional("COND:LISTSUB:EXECUTE:SUBSCRIBE", 0, Conditional_LISTSUB_EXECUTE_SUBSCRIBE, CTX_NONE); RegisterConditional("COND:LISTSUB:EXECUTE:UNSUBSCRIBE", 0, Conditional_LISTSUB_EXECUTE_UNSUBSCRIBE, CTX_NONE); RegisterConditional("COND:LISTSUB:EXECUTE:CONFIRM:SUBSCRIBE", 0, Conditional_LISTSUB_EXECUTE_CONFIRM_SUBSCRIBE, CTX_NONE); WebcitAddUrlHandler(HKEY("listsub"), "", 0, do_listsub, ANONYMOUS|COOKIEUNNEEDED|FORCE_SESSIONCLOSE); } webcit-9.01-dfsg/locate_host.c000066400000000000000000000020311254743150300163110ustar00rootroot00000000000000/* * Given a socket, supply the name of the host at the other end. * * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software; you can redistribute it and/or modify * it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" /* * IPv4/IPv6 locate_host() */ void locate_host(StrBuf *tbuf, int client_socket) { struct sockaddr_in6 clientaddr; unsigned int addrlen = sizeof(clientaddr); char clienthost[NI_MAXHOST] = ""; getpeername(client_socket, (struct sockaddr *)&clientaddr, &addrlen); getnameinfo((struct sockaddr *)&clientaddr, addrlen, clienthost, sizeof(clienthost), NULL, 0, 0); StrBufAppendBufPlain(tbuf, clienthost, -1, 0); syslog(LOG_DEBUG, "Client is at %s\n", clienthost); } webcit-9.01-dfsg/mainmenu.c000066400000000000000000000070021254743150300156210ustar00rootroot00000000000000#include "webcit.h" /* * The Main Menu */ void display_main_menu(void) { begin_burst(); output_headers(1, 0, 0, 0, 1, 0); DoTemplate(HKEY("display_main_menu"), NULL, &NoCtx); end_burst(); } /* * System administration menu */ void display_aide_menu(void) { begin_burst(); output_headers(1, 0, 0, 0, 1, 0); DoTemplate(HKEY("aide_display_menu"), NULL, &NoCtx); end_burst(); } /* * Interactive window to perform generic Citadel server commands. */ void do_generic(void) { WCTemplputParams SubTP; int Done = 0; StrBuf *Buf; StrBuf *LineBuf; char *junk; size_t len; if (!havebstr("sc_button")) { display_main_menu(); return; } Buf = NewStrBuf(); serv_puts(bstr("g_cmd")); StrBuf_ServGetln(Buf); switch (GetServerStatus(Buf, NULL)) { case 8: serv_puts("\n\n000"); if ( (StrLength(Buf)==3) && !strcmp(ChrPtr(Buf), "000")) { StrBufAppendBufPlain(Buf, HKEY("\000"), 0); break; } case 1: LineBuf = NewStrBuf(); StrBufAppendBufPlain(Buf, HKEY("\n"), 0); while (!Done) { if (StrBuf_ServGetln(LineBuf) < 0) break; if ( (StrLength(LineBuf)==3) && !strcmp(ChrPtr(LineBuf), "000")) { Done = 1; } StrBufAppendBuf(Buf, LineBuf, 0); StrBufAppendBufPlain(Buf, HKEY("\n"), 0); } FreeStrBuf(&LineBuf); break; case 2: break; case 4: text_to_server(bstr("g_input")); serv_puts("000"); break; case 6: len = atol(&ChrPtr(Buf)[4]); StrBuf_ServGetBLOBBuffered(Buf, len); break; case 7: len = atol(&ChrPtr(Buf)[4]); junk = malloc(len); memset(junk, 0, len); serv_write(junk, len); free(junk); break; } begin_burst(); output_headers(1, 0, 0, 0, 1, 0); StackContext(NULL, &SubTP, Buf, CTX_STRBUF, 0, NULL); { DoTemplate(HKEY("aide_display_generic_result"), NULL, &SubTP); } UnStackContext(&SubTP); wDumpContent(1); FreeStrBuf(&Buf); } /* * Display the wait / input dialog while restarting the server. */ void display_shutdown(void) { StrBuf *Line; char *when; Line = NewStrBuf(); when=bstr("when"); if (strcmp(when, "now") == 0){ serv_printf("DOWN 1"); StrBuf_ServGetln(Line); GetServerStatusMsg(Line, NULL, 1, 5); begin_burst(); output_headers(1, 0, 0, 0, 1, 0); DoTemplate(HKEY("aide_display_serverrestart"), NULL, &NoCtx); end_burst(); lingering_close(WC->Hdr->http_sock); sleeeeeeeeeep(10); serv_printf("NOOP"); serv_printf("NOOP"); } else if (strcmp(when, "page") == 0) { char *message; message = bstr("message"); if ((message == NULL) || (IsEmptyStr(message))) { begin_burst(); output_headers(1, 0, 0, 0, 1, 0); DoTemplate(HKEY("aide_display_serverrestart_page"), NULL, &NoCtx); end_burst(); } else { serv_printf("SEXP broadcast|%s", message); StrBuf_ServGetln(Line); GetServerStatusMsg(Line, NULL, 1, 0); begin_burst(); output_headers(1, 0, 0, 0, 1, 0); DoTemplate(HKEY("aide_display_serverrestart_page"), NULL, &NoCtx); end_burst(); } } else if (!strcmp(when, "idle")) { serv_printf("SCDN 3"); StrBuf_ServGetln(Line); GetServerStatusMsg(Line, NULL, 1, 2); begin_burst(); output_headers(1, 0, 0, 0, 1, 0); DoTemplate(HKEY("aide_display_menu"), NULL, &NoCtx); end_burst(); } FreeStrBuf(&Line); } void InitModule_MAINMENU (void) { WebcitAddUrlHandler(HKEY("display_aide_menu"), "", 0, display_aide_menu, 0); WebcitAddUrlHandler(HKEY("server_shutdown"), "", 0, display_shutdown, 0); WebcitAddUrlHandler(HKEY("display_main_menu"), "", 0, display_main_menu, 0); WebcitAddUrlHandler(HKEY("do_generic"), "", 0, do_generic, 0); } webcit-9.01-dfsg/marchlist.c000066400000000000000000000131631254743150300160030ustar00rootroot00000000000000#include "webcit.h" #include "webserver.h" /* * Free a session's march list */ void free_march_list(wcsession *wcf) { struct march *mptr; while (wcf->march != NULL) { mptr = wcf->march->next; free(wcf->march); wcf->march = mptr; } } /* * remove a room from the march list */ void remove_march(const StrBuf *aaa) { struct march *mptr, *mptr2; if (WC->march == NULL) return; if (!strcasecmp(WC->march->march_name, ChrPtr(aaa))) { mptr = WC->march->next; free(WC->march); WC->march = mptr; return; } mptr2 = WC->march; for (mptr = WC->march; mptr != NULL; mptr = mptr->next) { if (!strcasecmp(mptr->march_name, ChrPtr(aaa))) { mptr2->next = mptr->next; free(mptr); mptr = mptr2; } else { mptr2 = mptr; } } } /** * \brief Locate the room on the march list which we most want to go to. * Each room * is measured given a "weight" of preference based on various factors. * \param desired_floor the room number on the citadel server * \return the roomname */ char *pop_march(int desired_floor) { static char TheRoom[128]; int TheWeight = 0; int weight; struct march *mptr = NULL; strcpy(TheRoom, "_BASEROOM_"); if (WC->march == NULL) return (TheRoom); for (mptr = WC->march; mptr != NULL; mptr = mptr->next) { weight = 0; if ((strcasecmp(mptr->march_name, "_BASEROOM_"))) weight = weight + 10000; if (mptr->march_floor == desired_floor) weight = weight + 5000; weight = weight + ((128 - (mptr->march_floor)) * 128); weight = weight + (128 - (mptr->march_order)); if (weight > TheWeight) { TheWeight = weight; strcpy(TheRoom, mptr->march_name); /* TODOO: and now???? TheFloor = mptr->march_floor; TheOrder = mptr->march_order; */ } } return (TheRoom); } /* * Goto next room having unread messages. * * We want to skip over rooms that the user has already been to, and take the * user back to the lobby when done. The room we end up in is placed in * newroom - which is set to 0 (the lobby) initially. * We start the search in the current room rather than the beginning to prevent * two or more concurrent users from dragging each other back to the same room. */ void gotonext(void) { char buf[256]; struct march *mptr = NULL; struct march *mptr2 = NULL; char room_name[128]; StrBuf *next_room; int ELoop = 0; /* * First check to see if the march-mode list is already allocated. * If it is, pop the first room off the list and go there. */ if (havebstr("startmsg")) { readloop(readnew, eUseDefault); return; } if (WC->march == NULL) { serv_puts("LKRN"); serv_getln(buf, sizeof buf); if (buf[0] == '1') while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) { if (IsEmptyStr(buf)) { if (ELoop > 10000) return; if (ELoop % 100 == 0) sleeeeeeeeeep(1); ELoop ++; continue; } extract_token(room_name, buf, 0, '|', sizeof room_name); if (strcasecmp(room_name, ChrPtr(WC->CurRoom.name))) { mptr = (struct march *) malloc(sizeof(struct march)); mptr->next = NULL; safestrncpy(mptr->march_name, room_name, sizeof mptr->march_name); mptr->march_floor = extract_int(buf, 2); mptr->march_order = extract_int(buf, 3); if (WC->march == NULL) WC->march = mptr; else mptr2->next = mptr; mptr2 = mptr; } buf[0] = '\0'; } /* * add _BASEROOM_ to the end of the march list, so the user will end up * in the system base room (usually the Lobby>) at the end of the loop */ mptr = (struct march *) malloc(sizeof(struct march)); mptr->next = NULL; mptr->march_order = 0; mptr->march_floor = 0; strcpy(mptr->march_name, "_BASEROOM_"); if (WC->march == NULL) { WC->march = mptr; } else { mptr2 = WC->march; while (mptr2->next != NULL) mptr2 = mptr2->next; mptr2->next = mptr; } /* * ...and remove the room we're currently in, so a oto doesn't make us * walk around in circles */ remove_march(WC->CurRoom.name); } if (WC->march != NULL) { next_room = NewStrBufPlain(pop_march(-1), -1);/*TODO: migrate march to strbuf */ putlbstr("gotonext", 1); } else { next_room = NewStrBufPlain(HKEY("_BASEROOM_")); } smart_goto(next_room); FreeStrBuf(&next_room); } /* * un-goto the previous room */ void ungoto(void) { StrBuf *Buf; if (havebstr("startmsg")) { readloop(readnew, eUseDefault); return; } if (!strcmp(WC->ugname, "")) { smart_goto(WC->CurRoom.name); return; } serv_printf("GOTO %s", WC->ugname); Buf = NewStrBuf(); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) != 2) { smart_goto(WC->CurRoom.name); FreeStrBuf(&Buf); return; } if (WC->uglsn >= 0L) { serv_printf("SLRP %ld", WC->uglsn); StrBuf_ServGetln(Buf); } FlushStrBuf(Buf); StrBufAppendBufPlain(Buf, WC->ugname, -1, 0); strcpy(WC->ugname, ""); smart_goto(Buf); FreeStrBuf(&Buf); } void tmplput_ungoto(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if ((WCC!=NULL) && (!IsEmptyStr(WCC->ugname))) StrBufAppendBufPlain(Target, WCC->ugname, -1, 0); } void _gotonext(void) { slrp_highest(); gotonext(); } int ConditionalHaveUngoto(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; return ((WCC!=NULL) && (!IsEmptyStr(WCC->ugname)) && (strcasecmp(WCC->ugname, ChrPtr(WCC->CurRoom.name)) == 0)); } void InitModule_MARCHLIST (void) { RegisterConditional("COND:UNGOTO", 0, ConditionalHaveUngoto, CTX_NONE); RegisterNamespace("ROOM:UNGOTO", 0, 0, tmplput_ungoto, NULL, CTX_NONE); WebcitAddUrlHandler(HKEY("gotonext"), "", 0, _gotonext, NEED_URL); WebcitAddUrlHandler(HKEY("skip"), "", 0, gotonext, NEED_URL); WebcitAddUrlHandler(HKEY("ungoto"), "", 0, ungoto, NEED_URL); } webcit-9.01-dfsg/messages.c000066400000000000000000001524521254743150300156310ustar00rootroot00000000000000/* * Functions which deal with the fetching and displaying of messages. * * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" #include "dav.h" #include "calendar.h" HashList *MsgHeaderHandler = NULL; HashList *MimeRenderHandler = NULL; HashList *ReadLoopHandler = NULL; int dbg_analyze_msg = 0; #define SUBJ_COL_WIDTH_PCT 50 /* Mailbox view column width */ #define SENDER_COL_WIDTH_PCT 30 /* Mailbox view column width */ #define DATE_PLUS_BUTTONS_WIDTH_PCT 20 /* Mailbox view column width */ void jsonMessageListHdr(void); void display_enter(void); void fixview() { /* workaround for json listview; its not useable directly */ if (WC->CurRoom.view == VIEW_JSON_LIST) { StrBuf *View = NewStrBuf(); StrBufPrintf(View, "%d", VIEW_MAILBOX); putbstr("view", View);; } } int load_message(message_summary *Msg, StrBuf *FoundCharset, StrBuf **Error) { StrBuf *Buf; StrBuf *HdrToken; headereval *Hdr; void *vHdr; char buf[SIZ]; int Done = 0; int state=0; Buf = NewStrBuf(); if (Msg->PartNum != NULL) { serv_printf("MSG4 %ld|%s", Msg->msgnum, ChrPtr(Msg->PartNum)); } else { serv_printf("MSG4 %ld", Msg->msgnum); } StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) != 1) { *Error = NewStrBuf(); StrBufAppendPrintf(*Error, ""); StrBufAppendPrintf(*Error, _("ERROR:")); StrBufAppendPrintf(*Error, " %s
    \n", &buf[4]); FreeStrBuf(&Buf); return 0; } /* begin everythingamundo table */ HdrToken = NewStrBuf(); while (!Done && StrBuf_ServGetln(Buf)>=0) { if ( (StrLength(Buf)==3) && !strcmp(ChrPtr(Buf), "000")) { Done = 1; if (state < 2) { if (Msg->MsgBody->Data == NULL) Msg->MsgBody->Data = NewStrBuf(); Msg->MsgBody->ContentType = NewStrBufPlain(HKEY("text/html")); StrBufAppendPrintf(Msg->MsgBody->Data, "
    "); StrBufAppendPrintf(Msg->MsgBody->Data, _("Empty message")); StrBufAppendPrintf(Msg->MsgBody->Data, "

    \n"); StrBufAppendPrintf(Msg->MsgBody->Data, "
    \n"); } break; } switch (state) { case 0:/* Citadel Message Headers */ if (StrLength(Buf) == 0) { state ++; break; } StrBufExtract_token(HdrToken, Buf, 0, '='); StrBufCutLeft(Buf, StrLength(HdrToken) + 1); /* look up one of the examine_* functions to parse the content */ if (GetHash(MsgHeaderHandler, SKEY(HdrToken), &vHdr) && (vHdr != NULL)) { Hdr = (headereval*)vHdr; Hdr->evaluator(Msg, Buf, FoundCharset); if (Hdr->Type == 1) { state++; } }/* TODO: else LogError(Target, __FUNCTION__, "don't know how to handle message header[%s]\n", ChrPtr(HdrToken)); */ break; case 1:/* Message Mime Header */ if (StrLength(Buf) == 0) { state++; if (Msg->MsgBody->ContentType == NULL) /* end of header or no header? */ Msg->MsgBody->ContentType = NewStrBufPlain(HKEY("text/plain")); /* usual end of mime header */ } else { StrBufExtract_token(HdrToken, Buf, 0, ':'); if (StrLength(HdrToken) > 0) { StrBufCutLeft(Buf, StrLength(HdrToken) + 1); /* the examine*'s know how to do with mime headers too... */ if (GetHash(MsgHeaderHandler, SKEY(HdrToken), &vHdr) && (vHdr != NULL)) { Hdr = (headereval*)vHdr; Hdr->evaluator(Msg, Buf, FoundCharset); } break; } } case 2: /* Message Body */ if (Msg->MsgBody->size_known > 0) { StrBuf_ServGetBLOBBuffered(Msg->MsgBody->Data, Msg->MsgBody->length); state ++; /*/ todo: check next line, if not 000, append following lines */ } else if (1){ if (StrLength(Msg->MsgBody->Data) > 0) StrBufAppendBufPlain(Msg->MsgBody->Data, "\n", 1, 0); StrBufAppendBuf(Msg->MsgBody->Data, Buf, 0); } break; case 3: StrBufAppendBuf(Msg->MsgBody->Data, Buf, 0); break; } } if (Msg->AllAttach == NULL) Msg->AllAttach = NewHash(1,NULL); /* now we put the body mimepart we read above into the mimelist */ Put(Msg->AllAttach, SKEY(Msg->MsgBody->PartNum), Msg->MsgBody, DestroyMime); FreeStrBuf(&Buf); FreeStrBuf(&HdrToken); return 1; } /* * I wanna SEE that message! * * msgnum Message number to display * printable_view Nonzero to display a printable view * section Optional for encapsulated message/rfc822 submessage */ int read_message(StrBuf *Target, const char *tmpl, long tmpllen, long msgnum, const StrBuf *PartNum, const StrBuf **OutMime) { StrBuf *Buf; StrBuf *FoundCharset; HashPos *it; void *vMime; message_summary *Msg = NULL; void *vHdr; long len; const char *Key; WCTemplputParams SuperTP; WCTemplputParams SubTP; StrBuf *Error = NULL; memset(&SuperTP, 0, sizeof(WCTemplputParams)); memset(&SubTP, 0, sizeof(WCTemplputParams)); Buf = NewStrBuf(); FoundCharset = NewStrBuf(); Msg = (message_summary *)malloc(sizeof(message_summary)); memset(Msg, 0, sizeof(message_summary)); Msg->msgnum = msgnum; Msg->PartNum = PartNum; Msg->MsgBody = (wc_mime_attachment*) malloc(sizeof(wc_mime_attachment)); memset(Msg->MsgBody, 0, sizeof(wc_mime_attachment)); Msg->MsgBody->msgnum = msgnum; if (!load_message(Msg, FoundCharset, &Error)) { StrBufAppendBuf(Target, Error, 0); FreeStrBuf(&Error); } /* Extract just the content-type (omit attributes such as "charset") */ StrBufExtract_token(Buf, Msg->MsgBody->ContentType, 0, ';'); StrBufTrim(Buf); StrBufLowerCase(Buf); StackContext(NULL, &SuperTP, Msg, CTX_MAILSUM, 0, NULL); { /* Locate a renderer capable of converting this MIME part into HTML */ if (GetHash(MimeRenderHandler, SKEY(Buf), &vHdr) && (vHdr != NULL)) { RenderMimeFuncStruct *Render; StackContext(&SuperTP, &SubTP, Msg->MsgBody, CTX_MIME_ATACH, 0, NULL); { Render = (RenderMimeFuncStruct*)vHdr; Render->f(Target, &SubTP, FoundCharset); } UnStackContext(&SubTP); } if (StrLength(Msg->reply_references)> 0) { /* Trim down excessively long lists of thread references. We eliminate the * second one in the list so that the thread root remains intact. */ int rrtok = num_tokens(ChrPtr(Msg->reply_references), '|'); int rrlen = StrLength(Msg->reply_references); if ( ((rrtok >= 3) && (rrlen > 900)) || (rrtok > 10) ) { StrBufRemove_token(Msg->reply_references, 1, '|'); } } /* now check if we need to translate some mimeparts, and remove the duplicate */ it = GetNewHashPos(Msg->AllAttach, 0); while (GetNextHashPos(Msg->AllAttach, it, &len, &Key, &vMime) && (vMime != NULL)) { StackContext(&SuperTP, &SubTP, vMime, CTX_MIME_ATACH, 0, NULL); { evaluate_mime_part(Target, &SubTP); } UnStackContext(&SubTP); } DeleteHashPos(&it); *OutMime = DoTemplate(tmpl, tmpllen, Target, &SuperTP); } UnStackContext(&SuperTP); DestroyMessageSummary(Msg); FreeStrBuf(&FoundCharset); FreeStrBuf(&Buf); return 1; } long HttpStatus(long CitadelStatus) { long httpstatus = 502; switch (MAJORCODE(CitadelStatus)) { case LISTING_FOLLOWS: case CIT_OK: httpstatus = 201; break; case ERROR: switch (MINORCODE(CitadelStatus)) { case INTERNAL_ERROR: httpstatus = 403; break; case TOO_BIG: case ILLEGAL_VALUE: case HIGHER_ACCESS_REQUIRED: case MAX_SESSIONS_EXCEEDED: case RESOURCE_BUSY: case RESOURCE_NOT_OPEN: case NOT_HERE: case INVALID_FLOOR_OPERATION: case FILE_NOT_FOUND: case ROOM_NOT_FOUND: httpstatus = 409; break; case MESSAGE_NOT_FOUND: case ALREADY_EXISTS: httpstatus = 403; break; case NO_SUCH_SYSTEM: httpstatus = 502; break; default: case CMD_NOT_SUPPORTED: case PASSWORD_REQUIRED: case ALREADY_LOGGED_IN: case USERNAME_REQUIRED: case NOT_LOGGED_IN: case SERVER_SHUTTING_DOWN: case NO_SUCH_USER: case ASYNC_GEXP: httpstatus = 502; break; } break; default: case BINARY_FOLLOWS: case SEND_BINARY: case START_CHAT_MODE: case ASYNC_MSG: case MORE_DATA: case SEND_LISTING: httpstatus = 502; /* aeh... whut? */ break; } return httpstatus; } /* * Unadorned HTML output of an individual message, suitable * for placing in a hidden iframe, for printing, or whatever */ void handle_one_message(void) { long CitStatus = ERROR + NOT_HERE; int CopyMessage = 0; const StrBuf *Destination; void *vLine; const StrBuf *Mime; long msgnum = 0L; wcsession *WCC = WC; const StrBuf *Tmpl; StrBuf *CmdBuf = NULL; const char *pMsg; pMsg = strchr(ChrPtr(WCC->Hdr->HR.ReqLine), '/'); if (pMsg == NULL) { HttpStatus(CitStatus); return; } msgnum = atol(pMsg + 1); StrBufCutAt(WCC->Hdr->HR.ReqLine, 0, pMsg); gotoroom(WCC->Hdr->HR.ReqLine); switch (WCC->Hdr->HR.eReqType) { case eGET: case ePOST: Tmpl = sbstr("template"); if (StrLength(Tmpl) > 0) read_message(WCC->WBuf, SKEY(Tmpl), msgnum, NULL, &Mime); else read_message(WCC->WBuf, HKEY("view_message"), msgnum, NULL, &Mime); http_transmit_thing(ChrPtr(Mime), 0); break; case eDELETE: CmdBuf = NewStrBuf (); if ((WCC->CurRoom.RAFlags & UA_ISTRASH) != 0) { /* Delete from Trash is a real delete */ serv_printf("DELE %ld", msgnum); } else { /* Otherwise move it to Trash */ serv_printf("MOVE %ld|_TRASH_|0", msgnum); } StrBuf_ServGetln(CmdBuf); GetServerStatusMsg(CmdBuf, &CitStatus, 1, 0); HttpStatus(CitStatus); break; case eCOPY: CopyMessage = 1; case eMOVE: if (GetHash(WCC->Hdr->HTTPHeaders, HKEY("DESTINATION"), &vLine) && (vLine!=NULL)) { Destination = (StrBuf*) vLine; serv_printf("MOVE %ld|%s|%d", msgnum, ChrPtr(Destination), CopyMessage); StrBuf_ServGetln(CmdBuf); GetServerStatusMsg(CmdBuf, NULL, 1, 0); GetServerStatus(CmdBuf, &CitStatus); HttpStatus(CitStatus); } else HttpStatus(500); break; default: break; } } /* * Unadorned HTML output of an individual message, suitable * for placing in a hidden iframe, for printing, or whatever */ void embed_message(void) { const StrBuf *Mime; long msgnum = 0L; wcsession *WCC = WC; const StrBuf *Tmpl; StrBuf *CmdBuf = NULL; msgnum = StrBufExtract_long(WCC->Hdr->HR.ReqLine, 0, '/'); if (msgnum <= 0) return; switch (WCC->Hdr->HR.eReqType) { case eGET: case ePOST: Tmpl = sbstr("template"); if (StrLength(Tmpl) > 0) read_message(WCC->WBuf, SKEY(Tmpl), msgnum, NULL, &Mime); else read_message(WCC->WBuf, HKEY("view_message"), msgnum, NULL, &Mime); http_transmit_thing(ChrPtr(Mime), 0); break; case eDELETE: CmdBuf = NewStrBuf (); if ((WCC->CurRoom.RAFlags & UA_ISTRASH) != 0) { /* Delete from Trash is a real delete */ serv_printf("DELE %ld", msgnum); } else { /* Otherwise move it to Trash */ serv_printf("MOVE %ld|_TRASH_|0", msgnum); } StrBuf_ServGetln(CmdBuf); GetServerStatusMsg(CmdBuf, NULL, 1, 0); break; default: break; } } /* * Printable view of a message */ void print_message(void) { long msgnum = 0L; const StrBuf *Mime; msgnum = StrBufExtract_long(WC->Hdr->HR.ReqLine, 0, '/'); output_headers(0, 0, 0, 0, 0, 0); hprintf("Content-type: text/html\r\n" "Server: " PACKAGE_STRING "\r\n" "Connection: close\r\n"); begin_burst(); read_message(WC->WBuf, HKEY("view_message_print"), msgnum, NULL, &Mime); wDumpContent(0); } /* * Display a message's headers */ void display_headers(void) { long msgnum = 0L; char buf[1024]; msgnum = StrBufExtract_long(WC->Hdr->HR.ReqLine, 0, '/'); output_headers(0, 0, 0, 0, 0, 0); hprintf("Content-type: text/plain\r\n" "Server: %s\r\n" "Connection: close\r\n", PACKAGE_STRING); begin_burst(); serv_printf("MSG2 %ld|3", msgnum); serv_getln(buf, sizeof buf); if (buf[0] == '1') { while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) { wc_printf("%s\n", buf); } } wDumpContent(0); } /* * load message pointers from the server for a "read messages" operation * * servcmd: the citadel command to send to the citserver */ int load_msg_ptrs(const char *servcmd, const char *filter, SharedMessageStatus *Stat, load_msg_ptrs_detailheaders LH) { wcsession *WCC = WC; message_summary *Msg; StrBuf *Buf, *Buf2; long len; int n; int skipit; const char *Ptr = NULL; int StatMajor; Stat->lowest_found = LONG_MAX; Stat->highest_found = LONG_MIN; if (WCC->summ != NULL) { DeleteHash(&WCC->summ); } WCC->summ = NewHash(1, Flathash); Buf = NewStrBuf(); serv_puts(servcmd); StrBuf_ServGetln(Buf); StatMajor = GetServerStatus(Buf, NULL); switch (StatMajor) { case 1: break; case 8: if (filter != NULL) { serv_puts(filter); serv_puts("000"); break; } /* fall back to empty filter in case of we were fooled... */ serv_puts(""); serv_puts("000"); break; default: FreeStrBuf(&Buf); return (Stat->nummsgs); } Buf2 = NewStrBuf(); while (len = StrBuf_ServGetln(Buf), ((len >= 0) && ((len != 3) || strcmp(ChrPtr(Buf), "000")!= 0))) { if (Stat->nummsgs < Stat->maxload) { skipit = 0; Ptr = NULL; Msg = (message_summary*)malloc(sizeof(message_summary)); memset(Msg, 0, sizeof(message_summary)); Msg->msgnum = StrBufExtractNext_long(Buf, &Ptr, '|'); Msg->date = StrBufExtractNext_long(Buf, &Ptr, '|'); if (Stat->nummsgs == 0) { if (Msg->msgnum < Stat->lowest_found) { Stat->lowest_found = Msg->msgnum; } if (Msg->msgnum > Stat->highest_found) { Stat->highest_found = Msg->msgnum; } } if ((Msg->msgnum == 0) && (StrLength(Buf) < 32)) { free(Msg); continue; } /* * as citserver probably gives us messages in forward date sorting * nummsgs should be the same order as the message date. */ if (Msg->date == 0) { Msg->date = Stat->nummsgs; if (StrLength(Buf) < 32) skipit = 1; } if ((!skipit) && (LH != NULL)) { if (!LH(Buf, &Ptr, Msg, Buf2)){ free(Msg); continue; } } n = Msg->msgnum; Put(WCC->summ, (const char *)&n, sizeof(n), Msg, DestroyMessageSummary); } Stat->nummsgs++; } FreeStrBuf(&Buf2); FreeStrBuf(&Buf); return (Stat->nummsgs); } /** * \brief sets FlagToSet for each of ScanMe that appears in MatchMSet * \param ScanMe List of BasicMsgStruct to be searched it MatchSet * \param MatchMSet MSet we want to flag * \param FlagToSet Flag to set on each BasicMsgStruct->Flags if in MSet */ long SetFlagsFromMSet(HashList *ScanMe, MSet *MatchMSet, int FlagToSet, int Reverse) { const char *HashKey; long HKLen; long count = 0; HashPos *at; void *vMsg; message_summary *Msg; at = GetNewHashPos(ScanMe, 0); while (GetNextHashPos(ScanMe, at, &HKLen, &HashKey, &vMsg)) { /* Are you a new message, or an old message? */ Msg = (message_summary*) vMsg; if (Reverse && IsInMSetList(MatchMSet, Msg->msgnum)) { Msg->Flags = Msg->Flags | FlagToSet; count++; } else if (!Reverse && !IsInMSetList(MatchMSet, Msg->msgnum)) { Msg->Flags = Msg->Flags | FlagToSet; count++; } } DeleteHashPos(&at); return count; } long load_seen_flags(void) { long count = 0; StrBuf *OldMsg; wcsession *WCC = WC; MSet *MatchMSet; OldMsg = NewStrBuf(); serv_puts("GTSN"); StrBuf_ServGetln(OldMsg); if (GetServerStatus(OldMsg, NULL) == 2) { StrBufCutLeft(OldMsg, 4); } else { FreeStrBuf(&OldMsg); return 0; } if (ParseMSet(&MatchMSet, OldMsg)) { count = SetFlagsFromMSet(WCC->summ, MatchMSet, MSGFLAG_READ, 0); } DeleteMSet(&MatchMSet); FreeStrBuf(&OldMsg); return count; } extern readloop_struct rlid[]; typedef struct _RoomRenderer{ int RoomType; GetParamsGetServerCall_func GetParamsGetServerCall; PrintViewHeader_func PrintPageHeader; PrintViewHeader_func PrintViewHeader; LoadMsgFromServer_func LoadMsgFromServer; RenderView_or_Tail_func RenderView_or_Tail; View_Cleanup_func ViewCleanup; load_msg_ptrs_detailheaders LHParse; } RoomRenderer; /* * command loop for reading messages * * Set oper to "readnew" or "readold" or "readfwd" or "headers" or "readgt" or "readlt" or "do_search" */ void readloop(long oper, eCustomRoomRenderer ForceRenderer) { RoomRenderer *ViewMsg; void *vViewMsg; void *vMsg; message_summary *Msg; char cmd[256] = ""; char filter[256] = ""; int i, r; wcsession *WCC = WC; HashPos *at; const char *HashKey; long HKLen; WCTemplputParams SubTP; SharedMessageStatus Stat; void *ViewSpecific = NULL; if (havebstr("is_summary") && (1 == (ibstr("is_summary")))) { WCC->CurRoom.view = VIEW_MAILBOX; } if (havebstr("view")) { WCC->CurRoom.view = ibstr("view"); } memset(&Stat, 0, sizeof(SharedMessageStatus)); Stat.maxload = 10000; Stat.lowest_found = (-1); Stat.highest_found = (-1); if (ForceRenderer == eUseDefault) GetHash(ReadLoopHandler, IKEY(WCC->CurRoom.view), &vViewMsg); else GetHash(ReadLoopHandler, IKEY(ForceRenderer), &vViewMsg); if (vViewMsg == NULL) { WCC->CurRoom.view = VIEW_BBS; GetHash(ReadLoopHandler, IKEY(WCC->CurRoom.view), &vViewMsg); } if (vViewMsg == NULL) { return; /* TODO: print message */ } ViewMsg = (RoomRenderer*) vViewMsg; if (ViewMsg->PrintPageHeader == NULL) output_headers(1, 1, 1, 0, 0, 0); else ViewMsg->PrintPageHeader(&Stat, ViewSpecific); if (ViewMsg->GetParamsGetServerCall != NULL) { r = ViewMsg->GetParamsGetServerCall( &Stat, &ViewSpecific, oper, cmd, sizeof(cmd), filter, sizeof(filter) ); } else { r = 0; } switch(r) { case 400: case 404: return; case 300: /* the callback hook should do the work for us here, since he knows what to do. */ return; case 200: default: break; } if (!IsEmptyStr(cmd)) { const char *p = NULL; if (!IsEmptyStr(filter)) p = filter; Stat.nummsgs = load_msg_ptrs(cmd, p, &Stat, ViewMsg->LHParse); } if (Stat.sortit) { CompareFunc SortIt; StackContext(NULL, &SubTP, NULL, CTX_MAILSUM, 0, NULL); { SortIt = RetrieveSort(&SubTP, NULL, 0, HKEY("date"), Stat.defaultsortorder); } UnStackContext(&SubTP); if (SortIt != NULL) SortByPayload(WCC->summ, SortIt); } if (Stat.startmsg < 0) { Stat.startmsg = 0; } if (Stat.load_seen) Stat.numNewmsgs = load_seen_flags(); /* * Print any inforation above the message list... */ if (ViewMsg->PrintViewHeader != NULL) ViewMsg->PrintViewHeader(&Stat, &ViewSpecific); WCC->startmsg = Stat.startmsg; WCC->maxmsgs = Stat.maxmsgs; WCC->num_displayed = 0; /* Put some helpful data in vars for mailsummary_json */ { StrBuf *Foo; Foo = NewStrBuf (); StrBufPrintf(Foo, "%ld", Stat.nummsgs); PutBstr(HKEY("__READLOOP:TOTALMSGS"), NewStrBufDup(Foo)); // keep Foo! StrBufPrintf(Foo, "%ld", Stat.numNewmsgs); PutBstr(HKEY("__READLOOP:NEWMSGS"), NewStrBufDup(Foo)); // keep Foo! StrBufPrintf(Foo, "%ld", Stat.startmsg); PutBstr(HKEY("__READLOOP:STARTMSG"), Foo); // store Foo elsewhere, descope it here. } /* * iterate over each message. if we need to load an attachment, do it here. */ if ((ViewMsg->LoadMsgFromServer != NULL) && (!IsEmptyStr(cmd))) { at = GetNewHashPos(WCC->summ, 0); Stat.num_displayed = i = 0; while ( GetNextHashPos(WCC->summ, at, &HKLen, &HashKey, &vMsg)) { Msg = (message_summary*) vMsg; if ((Msg->msgnum >= Stat.startmsg) && (Stat.num_displayed <= Stat.maxmsgs)) { ViewMsg->LoadMsgFromServer(&Stat, &ViewSpecific, Msg, (Msg->Flags & MSGFLAG_READ) != 0, i); } i++; } DeleteHashPos(&at); } /* * Done iterating the message list. now tasks we want to do after. */ if (ViewMsg->RenderView_or_Tail != NULL) ViewMsg->RenderView_or_Tail(&Stat, &ViewSpecific, oper); if (ViewMsg->ViewCleanup != NULL) ViewMsg->ViewCleanup(&ViewSpecific); WCC->startmsg = 0; WCC->maxmsgs = 0; if (WCC->summ != NULL) { DeleteHash(&WCC->summ); } } /* * Back end for post_message() * ... this is where the actual message gets transmitted to the server. */ void post_mime_to_server(void) { wcsession *WCC = WC; char top_boundary[SIZ]; char alt_boundary[SIZ]; int is_multipart = 0; static int seq = 0; wc_mime_attachment *att; char *encoded; size_t encoded_length; size_t encoded_strlen; char *txtmail = NULL; int include_text_alt = 0; /* Set to nonzero to include multipart/alternative text/plain */ sprintf(top_boundary, "Citadel--Multipart--%s--%04x--%04x", ChrPtr(WCC->serv_info->serv_fqdn), getpid(), ++seq ); sprintf(alt_boundary, "Citadel--Multipart--%s--%04x--%04x", ChrPtr(WCC->serv_info->serv_fqdn), getpid(), ++seq ); /* RFC2045 requires this, and some clients look for it... */ serv_puts("MIME-Version: 1.0"); serv_puts("X-Mailer: " PACKAGE_STRING); /* If there are attachments, we have to do multipart/mixed */ if (GetCount(WCC->attachments) > 0) { is_multipart = 1; } /* Only do multipart/alternative for mailboxes. BBS and Wiki rooms don't need it. */ if ((WCC->CurRoom.view == VIEW_MAILBOX) || (WCC->CurRoom.view == VIEW_JSON_LIST)) { include_text_alt = 1; } if (is_multipart) { /* Remember, serv_printf() appends an extra newline */ serv_printf("Content-type: multipart/mixed; boundary=\"%s\"\n", top_boundary); serv_printf("This is a multipart message in MIME format.\n"); serv_printf("--%s", top_boundary); } /* Remember, serv_printf() appends an extra newline */ if (include_text_alt) { StrBuf *Buf; serv_printf("Content-type: multipart/alternative; " "boundary=\"%s\"\n", alt_boundary); serv_printf("This is a multipart message in MIME format.\n"); serv_printf("--%s", alt_boundary); serv_puts("Content-type: text/plain; charset=utf-8"); serv_puts("Content-Transfer-Encoding: quoted-printable"); serv_puts(""); txtmail = html_to_ascii(bstr("msgtext"), 0, 80, 0); Buf = NewStrBufPlain(txtmail, -1); free(txtmail); text_to_server_qp(Buf); /* Transmit message in quoted-printable encoding */ FreeStrBuf(&Buf); serv_printf("\n--%s", alt_boundary); } if (havebstr("markdown")) { serv_puts("Content-type: text/x-markdown; charset=utf-8"); serv_puts("Content-Transfer-Encoding: quoted-printable"); serv_puts(""); text_to_server_qp(sbstr("msgtext")); /* Transmit message in quoted-printable encoding */ } else { serv_puts("Content-type: text/html; charset=utf-8"); serv_puts("Content-Transfer-Encoding: quoted-printable"); serv_puts(""); serv_puts("\r\n"); text_to_server_qp(sbstr("msgtext")); /* Transmit message in quoted-printable encoding */ serv_puts("\r\n"); } if (include_text_alt) { serv_printf("--%s--", alt_boundary); } if (is_multipart) { long len; const char *Key; void *vAtt; HashPos *it; /* Add in the attachments */ it = GetNewHashPos(WCC->attachments, 0); while (GetNextHashPos(WCC->attachments, it, &len, &Key, &vAtt)) { att = (wc_mime_attachment *)vAtt; if (att->length == 0) continue; encoded_length = ((att->length * 150) / 100); encoded = malloc(encoded_length); if (encoded == NULL) break; encoded_strlen = CtdlEncodeBase64(encoded, ChrPtr(att->Data), StrLength(att->Data), 1); serv_printf("--%s", top_boundary); serv_printf("Content-type: %s", ChrPtr(att->ContentType)); serv_printf("Content-disposition: attachment; filename=\"%s\"", ChrPtr(att->FileName)); serv_puts("Content-transfer-encoding: base64"); serv_puts(""); serv_write(encoded, encoded_strlen); serv_puts(""); serv_puts(""); free(encoded); } serv_printf("--%s--", top_boundary); DeleteHashPos(&it); } serv_puts("000"); } /* * Post message (or don't post message) * * Note regarding the "dont_post" variable: * A random value (actually, it's just a timestamp) is inserted as a hidden * field called "postseq" when the display_enter page is generated. This * value is checked when posting, using the static variable dont_post. If a * user attempts to post twice using the same dont_post value, the message is * discarded. This prevents the accidental double-saving of the same message * if the user happens to click the browser "back" button. */ void post_message(void) { StrBuf *UserName; StrBuf *EmailAddress; StrBuf *EncBuf; char buf[1024]; StrBuf *encoded_subject = NULL; static long dont_post = (-1L); int is_anonymous = 0; const StrBuf *display_name = NULL; wcsession *WCC = WC; StrBuf *Buf; if (havebstr("force_room")) { gotoroom(sbstr("force_room")); } if (havebstr("display_name")) { display_name = sbstr("display_name"); if (!strcmp(ChrPtr(display_name), "__ANONYMOUS__")) { display_name = NULL; is_anonymous = 1; } } if (!strcasecmp(bstr("submit_action"), "cancel")) { AppendImportantMessage(_("Cancelled. Message was not posted."), -1); } else if (lbstr("postseq") == dont_post) { AppendImportantMessage( _("Automatically cancelled because you have already " "saved this message."), -1); } else { const char CMD[] = "ENT0 1|%s|%d|4|%s|%s||%s|%s|%s|%s|%s"; StrBuf *Recp = NULL; StrBuf *Cc = NULL; StrBuf *Bcc = NULL; char *wikipage = NULL; const StrBuf *my_email_addr = NULL; StrBuf *CmdBuf = NULL; StrBuf *references = NULL; int saving_to_drafts = 0; long HeaderLen = 0; saving_to_drafts = !strcasecmp(bstr("submit_action"), "draft"); Buf = NewStrBuf(); if (saving_to_drafts) { /* temporarily change to the drafts room */ serv_puts("GOTO _DRAFTS_"); StrBuf_ServGetln(Buf); if (GetServerStatusMsg(Buf, NULL, 1, 2) != 2) { /* You probably don't even have a dumb Drafts folder */ syslog(LOG_DEBUG, "%s:%d: server save to drafts error: %s\n", __FILE__, __LINE__, ChrPtr(Buf) + 4); AppendImportantMessage(_("Saved to Drafts failed: "), -1); display_enter(); FreeStrBuf(&Buf); return; } } if (havebstr("references")) { const StrBuf *ref = sbstr("references"); references = NewStrBufDup(ref); if (*ChrPtr(references) == '|') { /* remove leading '|' if present */ StrBufCutLeft(references, 1); } StrBufReplaceChars(references, '|', '!'); } if (havebstr("subject")) { const StrBuf *Subj; /* * make enough room for the encoded string; * plus the QP header */ Subj = sbstr("subject"); StrBufRFC2047encode(&encoded_subject, Subj); } UserName = NewStrBuf(); EmailAddress = NewStrBuf(); EncBuf = NewStrBuf(); Recp = StrBufSanitizeEmailRecipientVector(sbstr("recp"), UserName, EmailAddress, EncBuf); Cc = StrBufSanitizeEmailRecipientVector(sbstr("cc"), UserName, EmailAddress, EncBuf); Bcc = StrBufSanitizeEmailRecipientVector(sbstr("bcc"), UserName, EmailAddress, EncBuf); FreeStrBuf(&UserName); FreeStrBuf(&EmailAddress); FreeStrBuf(&EncBuf); wikipage = strdup(bstr("page")); str_wiki_index(wikipage); my_email_addr = sbstr("my_email_addr"); HeaderLen = StrLength(Recp) + StrLength(encoded_subject) + StrLength(Cc) + StrLength(Bcc) + strlen(wikipage) + StrLength(my_email_addr) + StrLength(references); CmdBuf = NewStrBufPlain(NULL, sizeof (CMD) + HeaderLen); StrBufPrintf(CmdBuf, CMD, saving_to_drafts?"":ChrPtr(Recp), is_anonymous, ChrPtr(encoded_subject), ChrPtr(display_name), saving_to_drafts?"":ChrPtr(Cc), saving_to_drafts?"":ChrPtr(Bcc), wikipage, ChrPtr(my_email_addr), ChrPtr(references)); FreeStrBuf(&references); FreeStrBuf(&encoded_subject); free(wikipage); if ((HeaderLen + StrLength(sbstr("msgtext")) < 10) && (GetCount(WCC->attachments) == 0)){ AppendImportantMessage(_("Refusing to post empty message.\n"), -1); FreeStrBuf(&CmdBuf); } else { syslog(LOG_DEBUG, "%s\n", ChrPtr(CmdBuf)); serv_puts(ChrPtr(CmdBuf)); FreeStrBuf(&CmdBuf); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 4) { if (saving_to_drafts) { if ( (havebstr("recp")) || (havebstr("cc" )) || (havebstr("bcc" )) ) { /* save recipient headers or room to post to */ serv_printf("To: %s", ChrPtr(Recp)); serv_printf("Cc: %s", ChrPtr(Cc)); serv_printf("Bcc: %s", ChrPtr(Bcc)); } else { serv_printf("X-Citadel-Room: %s", ChrPtr(WCC->CurRoom.name)); } } post_mime_to_server(); if (saving_to_drafts) { AppendImportantMessage(_("Message has been saved to Drafts.\n"), -1); gotoroom(WCC->CurRoom.name); fixview(); readloop(readnew, eUseDefault); FreeStrBuf(&Buf); return; } else if ( (havebstr("recp")) || (havebstr("cc" )) || (havebstr("bcc" )) ) { AppendImportantMessage(_("Message has been sent.\n"), -1); } else { AppendImportantMessage(_("Message has been posted.\n"), -1); } dont_post = lbstr("postseq"); } else { syslog(LOG_DEBUG, "%s:%d: server post error: %s", __FILE__, __LINE__, ChrPtr(Buf) + 4); AppendImportantMessage(ChrPtr(Buf) + 4, StrLength(Buf) - 4); display_enter(); if (saving_to_drafts) gotoroom(WCC->CurRoom.name); FreeStrBuf(&Recp); FreeStrBuf(&Buf); FreeStrBuf(&Cc); FreeStrBuf(&Bcc); return; } } FreeStrBuf(&Recp); FreeStrBuf(&Buf); FreeStrBuf(&Cc); FreeStrBuf(&Bcc); } DeleteHash(&WCC->attachments); /* * We may have been supplied with instructions regarding the location * to which we must return after posting. If found, go there. */ if (havebstr("return_to")) { http_redirect(bstr("return_to")); } /* * If we were editing a page in a wiki room, go to that page now. */ else if (havebstr("page")) { snprintf(buf, sizeof buf, "wiki?page=%s", bstr("page")); http_redirect(buf); } /* * Otherwise, just go to the "read messages" loop. */ else { fixview(); readloop(readnew, eUseDefault); } } /* * Client is uploading an attachment */ void upload_attachment(void) { wcsession *WCC = WC; const char *pch; int n; const char *newn; long newnlen; void *v; wc_mime_attachment *att; const StrBuf *Tmpl = sbstr("template"); const StrBuf *MimeType = NULL; const StrBuf *UID; begin_burst(); syslog(LOG_DEBUG, "upload_attachment()\n"); if (!Tmpl) wc_printf("upload_attachment()
    \n"); if (WCC->upload_length <= 0) { syslog(LOG_DEBUG, "ERROR no attachment was uploaded\n"); if (Tmpl) { putlbstr("UPLOAD_ERROR", 1); MimeType = DoTemplate(SKEY(Tmpl), NULL, &NoCtx); } else wc_printf("ERROR no attachment was uploaded
    \n"); http_transmit_thing(ChrPtr(MimeType), 0); return; } syslog(LOG_DEBUG, "Client is uploading %d bytes\n", WCC->upload_length); if (Tmpl) putlbstr("UPLOAD_LENGTH", WCC->upload_length); else wc_printf("Client is uploading %d bytes
    \n", WCC->upload_length); att = (wc_mime_attachment*)malloc(sizeof(wc_mime_attachment)); memset(att, 0, sizeof(wc_mime_attachment )); att->length = WCC->upload_length; att->ContentType = NewStrBufPlain(WCC->upload_content_type, -1); att->FileName = NewStrBufDup(WCC->upload_filename); UID = SBSTR("qquuid"); if (UID) att->PartNum = NewStrBufDup(UID); if (WCC->attachments == NULL) { WCC->attachments = NewHash(1, Flathash); } /* And add it to the list. */ n = 0; if ((GetCount(WCC->attachments) > 0) && GetHashAt(WCC->attachments, GetCount(WCC->attachments) -1, &newnlen, &newn, &v)) n = *((int*) newn) + 1; Put(WCC->attachments, IKEY(n), att, DestroyMime); /* * Mozilla sends a simple filename, which is what we want, * but Satan's Browser sends an entire pathname. Reduce * the path to just a filename if we need to. */ pch = strrchr(ChrPtr(att->FileName), '/'); if (pch != NULL) { StrBufCutLeft(att->FileName, pch - ChrPtr(att->FileName) + 1); } pch = strrchr(ChrPtr(att->FileName), '\\'); if (pch != NULL) { StrBufCutLeft(att->FileName, pch - ChrPtr(att->FileName) + 1); } /* * Transfer control of this memory from the upload struct * to the attachment struct. */ att->Data = WCC->upload; WCC->upload = NULL; WCC->upload_length = 0; if (Tmpl) MimeType = DoTemplate(SKEY(Tmpl), NULL, &NoCtx); http_transmit_thing(ChrPtr(MimeType), 0); } /* * Remove an attachment from the message currently being composed. * * Currently we identify the attachment to be removed by its filename. * There is probably a better way to do this. */ void remove_attachment(void) { wcsession *WCC = WC; wc_mime_attachment *att; void *vAtt; StrBuf *WhichAttachment; HashPos *at; long len; int found=0; const char *key; WhichAttachment = NewStrBufDup(sbstr("which_attachment")); if (ChrPtr(WhichAttachment)[0] == '/') StrBufCutLeft(WhichAttachment, 1); StrBufUnescape(WhichAttachment, 0); at = GetNewHashPos(WCC->attachments, 0); do { vAtt = NULL; GetHashPos(WCC->attachments, at, &len, &key, &vAtt); att = (wc_mime_attachment*) vAtt; if ((att != NULL) && ( !strcmp(ChrPtr(WhichAttachment), ChrPtr(att->FileName)) || ((att->PartNum != NULL) && !strcmp(ChrPtr(WhichAttachment), ChrPtr(att->PartNum))) )) { DeleteEntryFromHash(WCC->attachments, at); found=1; break; } } while (NextHashPos(WCC->attachments, at)); FreeStrBuf(&WhichAttachment); wc_printf("remove_attachment(%d) completed\n", found); } long FourHash(const char *key, long length) { int i; long ret = 0; const unsigned char *ptr = (const unsigned char*)key; for (i = 0; i < 4; i++, ptr ++) ret = (ret << 8) | ( ((*ptr >= 'a') && (*ptr <= 'z'))? *ptr - 'a' + 'A': *ptr); return ret; } long l_subj; long l_wefw; long l_msgn; long l_from; long l_rcpt; long l_cccc; long l_replyto; long l_node; long l_rfca; long l_nvto; const char *ReplyToModeStrings [3] = { "reply", "replyall", "forward" }; typedef enum _eReplyToNodes { eReply, eReplyAll, eForward }eReplyToNodes; /* * display the message entry screen */ void display_enter(void) { const char *ReplyingModeStr; eReplyToNodes ReplyMode = eReply; StrBuf *Line; long Result; int rc; const StrBuf *display_name = NULL; int recipient_required = 0; int subject_required = 0; int is_anonymous = 0; wcsession *WCC = WC; int i = 0; long replying_to; if (havebstr("force_room")) { gotoroom(sbstr("force_room")); } display_name = sbstr("display_name"); if (!strcmp(ChrPtr(display_name), "__ANONYMOUS__")) { display_name = NULL; is_anonymous = 1; } /* * First, do we have permission to enter messages in this room at all? */ Line = NewStrBuf(); serv_puts("ENT0 0"); StrBuf_ServGetln(Line); rc = GetServerStatusMsg(Line, &Result, 0, 2); if (Result == 570) { /* 570 means that we need a recipient here */ recipient_required = 1; } else if (rc != 2) { /* Any other error means that we cannot continue */ rc = GetServerStatusMsg(Line, &Result, 0, 2); fixview(); readloop(readnew, eUseDefault); FreeStrBuf(&Line); return; } /* Is the server strongly recommending that the user enter a message subject? */ if (StrLength(Line) > 4) { subject_required = extract_int(ChrPtr(Line) + 4, 1); } /* * Are we perhaps in an address book view? If so, then an "enter * message" command really means "add new entry." */ if (WCC->CurRoom.defview == VIEW_ADDRESSBOOK) { do_edit_vcard(-1, "", NULL, NULL, "", ChrPtr(WCC->CurRoom.name)); FreeStrBuf(&Line); return; } /* * Are we perhaps in a calendar room? If so, then an "enter * message" command really means "add new calendar item." */ if (WCC->CurRoom.defview == VIEW_CALENDAR) { display_edit_event(); FreeStrBuf(&Line); return; } /* * Are we perhaps in a tasks view? If so, then an "enter * message" command really means "add new task." */ if (WCC->CurRoom.defview == VIEW_TASKS) { display_edit_task(); FreeStrBuf(&Line); return; } ReplyingModeStr = bstr("replying_mode"); if (ReplyingModeStr != NULL) for (i = 0; i < 3; i++) { if (strcmp(ReplyingModeStr, ReplyToModeStrings[i]) == 0) { ReplyMode = (eReplyToNodes) i; break; } } /* * If the "replying_to" variable is set, it refers to a message * number from which we must extract some header fields... */ replying_to = lbstr("replying_to"); if (replying_to > 0) { long len; StrBuf *wefw = NULL; StrBuf *msgn = NULL; StrBuf *from = NULL; StrBuf *node = NULL; StrBuf *rfca = NULL; StrBuf *rcpt = NULL; StrBuf *cccc = NULL; StrBuf *replyto = NULL; StrBuf *nvto = NULL; serv_printf("MSG0 %ld|1", replying_to); StrBuf_ServGetln(Line); if (GetServerStatusMsg(Line, NULL, 0, 0) == 1) while (len = StrBuf_ServGetln(Line), (len >= 0) && ((len != 3) || strcmp(ChrPtr(Line), "000"))) { long which = 0; if ((StrLength(Line) > 4) && (ChrPtr(Line)[4] == '=')) which = FourHash(ChrPtr(Line), 4); if (which == l_subj) { StrBuf *subj = NewStrBuf(); StrBuf *FlatSubject; if (ReplyMode == eForward) { if (strncasecmp(ChrPtr(Line) + 5, "Fw:", 3)) { StrBufAppendBufPlain(subj, HKEY("Fw: "), 0); } } else { if (strncasecmp(ChrPtr(Line) + 5, "Re:", 3)) { StrBufAppendBufPlain(subj, HKEY("Re: "), 0); } } StrBufAppendBufPlain(subj, ChrPtr(Line) + 5, StrLength(Line) - 5, 0); FlatSubject = NewStrBufPlain(NULL, StrLength(subj)); StrBuf_RFC822_to_Utf8(FlatSubject, subj, NULL, NULL); PutBstr(HKEY("subject"), FlatSubject); } else if (which == l_wefw) { int rrtok; int rrlen; wefw = NewStrBufPlain(ChrPtr(Line) + 5, StrLength(Line) - 5); /* Trim down excessively long lists of thread references. We eliminate the * second one in the list so that the thread root remains intact. */ rrtok = num_tokens(ChrPtr(wefw), '|'); rrlen = StrLength(wefw); if ( ((rrtok >= 3) && (rrlen > 900)) || (rrtok > 10) ) { StrBufRemove_token(wefw, 1, '|'); } } else if (which == l_msgn) { msgn = NewStrBufPlain(ChrPtr(Line) + 5, StrLength(Line) - 5); } else if (which == l_from) { StrBuf *FlatFrom; from = NewStrBufPlain(ChrPtr(Line) + 5, StrLength(Line) - 5); FlatFrom = NewStrBufPlain(NULL, StrLength(from)); StrBuf_RFC822_to_Utf8(FlatFrom, from, NULL, NULL); FreeStrBuf(&from); from = FlatFrom; for (i=0; i 0) { StrBuf *refs = NewStrBuf(); if (StrLength(wefw) > 0) { StrBufAppendBuf(refs, wefw, 0); } if ( (StrLength(wefw) > 0) && (StrLength(msgn) > 0) ) { StrBufAppendBufPlain(refs, HKEY("|"), 0); } if (StrLength(msgn) > 0) { StrBufAppendBuf(refs, msgn, 0); } PutBstr(HKEY("references"), refs); } /* * If this is a Reply or a ReplyAll, copy the sender's email into the To: field */ if ((ReplyMode == eReply) || (ReplyMode == eReplyAll)) { StrBuf *to_rcpt; if ((StrLength(replyto) > 0) && (ReplyMode == eReplyAll)) { to_rcpt = NewStrBuf(); StrBufAppendBuf(to_rcpt, replyto, 0); } else if (StrLength(rfca) > 0) { to_rcpt = NewStrBuf(); StrBufAppendBuf(to_rcpt, from, 0); StrBufAppendBufPlain(to_rcpt, HKEY(" <"), 0); StrBufAppendBuf(to_rcpt, rfca, 0); StrBufAppendBufPlain(to_rcpt, HKEY(">"), 0); } else { to_rcpt = from; from = NULL; if ( (StrLength(node) > 0) && (strcasecmp(ChrPtr(node), ChrPtr(WCC->serv_info->serv_nodename))) ) { StrBufAppendBufPlain(to_rcpt, HKEY(" @ "), 0); StrBufAppendBuf(to_rcpt, node, 0); } } PutBstr(HKEY("recp"), to_rcpt); } /* * Only if this is a ReplyAll, copy all recipients into the Cc: field */ if (ReplyMode == eReplyAll) { StrBuf *cc_rcpt = rcpt; rcpt = NULL; if ((StrLength(cccc) > 0) && (StrLength(replyto) == 0)) { if (cc_rcpt != NULL) { StrBufAppendPrintf(cc_rcpt, ", "); StrBufAppendBuf(cc_rcpt, cccc, 0); } else { cc_rcpt = cccc; cccc = NULL; } } if (cc_rcpt != NULL) PutBstr(HKEY("cc"), cc_rcpt); } FreeStrBuf(&wefw); FreeStrBuf(&msgn); FreeStrBuf(&from); FreeStrBuf(&node); FreeStrBuf(&rfca); FreeStrBuf(&rcpt); FreeStrBuf(&cccc); } FreeStrBuf(&Line); /* * Otherwise proceed normally. * Do a custom room banner with no navbar... */ if (recipient_required) { const StrBuf *Recp = NULL; const StrBuf *Cc = NULL; const StrBuf *Bcc = NULL; char *wikipage = NULL; StrBuf *CmdBuf = NULL; const char CMD[] = "ENT0 0|%s|%d|0||%s||%s|%s|%s"; Recp = sbstr("recp"); Cc = sbstr("cc"); Bcc = sbstr("bcc"); wikipage = strdup(bstr("page")); str_wiki_index(wikipage); CmdBuf = NewStrBufPlain(NULL, sizeof (CMD) + StrLength(Recp) + StrLength(display_name) + StrLength(Cc) + StrLength(Bcc) + strlen(wikipage)); StrBufPrintf(CmdBuf, CMD, ChrPtr(Recp), is_anonymous, ChrPtr(display_name), ChrPtr(Cc), ChrPtr(Bcc), wikipage ); serv_puts(ChrPtr(CmdBuf)); StrBuf_ServGetln(CmdBuf); free(wikipage); rc = GetServerStatusMsg(CmdBuf, &Result, 0, 0); if ( (Result == 570) /* invalid or missing recipient(s) */ || (Result == 550) /* higher access required to send Internet mail */ ) { /* These errors will have been displayed and are excusable */ } else if (rc != 2) { /* Any other error means that we cannot continue */ AppendImportantMessage(ChrPtr(CmdBuf) + 4, StrLength(CmdBuf) - 4); FreeStrBuf(&CmdBuf); fixview(); readloop(readnew, eUseDefault); return; } FreeStrBuf(&CmdBuf); } if (recipient_required) PutBstr(HKEY("__RCPTREQUIRED"), NewStrBufPlain(HKEY("1"))); if (recipient_required || subject_required) PutBstr(HKEY("__SUBJREQUIRED"), NewStrBufPlain(HKEY("1"))); begin_burst(); output_headers(1, 0, 0, 0, 1, 0); if (WCC->CurRoom.defview == VIEW_WIKIMD) DoTemplate(HKEY("edit_markdown_epic"), NULL, &NoCtx); else DoTemplate(HKEY("edit_message"), NULL, &NoCtx); end_burst(); return; } /* * delete a message */ void delete_msg(void) { long msgid; StrBuf *Line; msgid = lbstr("msgid"); Line = NewStrBuf(); if ((WC->CurRoom.RAFlags & UA_ISTRASH) != 0) { /* Delete from Trash is a real delete */ serv_printf("DELE %ld", msgid); } else { /* Otherwise move it to Trash */ serv_printf("MOVE %ld|_TRASH_|0", msgid); } StrBuf_ServGetln(Line); GetServerStatusMsg(Line, NULL, 1, 0); fixview(); readloop(readnew, eUseDefault); } /* * move a message to another room */ void move_msg(void) { long msgid; msgid = lbstr("msgid"); if (havebstr("move_button")) { StrBuf *Line; serv_printf("MOVE %ld|%s", msgid, bstr("target_room")); Line = NewStrBuf(); StrBuf_ServGetln(Line); GetServerStatusMsg(Line, NULL, 1, 0); FreeStrBuf(&Line); } else { AppendImportantMessage(_("The message was not moved."), -1); } fixview(); readloop(readnew, eUseDefault); } /* * Generic function to output an arbitrary MIME attachment from * message being composed * * partnum The MIME part to be output * filename Fake filename to give * force_download Nonzero to force set the Content-Type: header to "application/octet-stream" */ void postpart(StrBuf *partnum, StrBuf *filename, int force_download) { void *vPart; StrBuf *content_type; wc_mime_attachment *part; int i; i = StrToi(partnum); if (GetHash(WC->attachments, IKEY(i), &vPart) && (vPart != NULL)) { part = (wc_mime_attachment*) vPart; if (force_download) { content_type = NewStrBufPlain(HKEY("application/octet-stream")); } else { content_type = NewStrBufDup(part->ContentType); } StrBufAppendBuf(WC->WBuf, part->Data, 0); http_transmit_thing(ChrPtr(content_type), 0); } else { hprintf("HTTP/1.1 404 %s\n", ChrPtr(partnum)); output_headers(0, 0, 0, 0, 0, 0); hprintf("Content-Type: text/plain\r\n"); begin_burst(); wc_printf(_("An error occurred while retrieving this part: %s/%s\n"), ChrPtr(partnum), ChrPtr(filename)); end_burst(); } FreeStrBuf(&content_type); } /* * Generic function to output an arbitrary MIME part from an arbitrary * message number on the server. * * msgnum Number of the item on the citadel server * partnum The MIME part to be output * force_download Nonzero to force set the Content-Type: header to "application/octet-stream" */ void mimepart(int force_download) { int detect_mime = 0; long msgnum; long ErrorDetail; StrBuf *att; wcsession *WCC = WC; StrBuf *Buf; off_t bytes; StrBuf *ContentType = NewStrBufPlain(HKEY("application/octet-stream")); const char *CT; att = Buf = NewStrBuf(); msgnum = StrBufExtract_long(WCC->Hdr->HR.ReqLine, 0, '/'); StrBufExtract_token(att, WCC->Hdr->HR.ReqLine, 1, '/'); serv_printf("OPNA %ld|%s", msgnum, ChrPtr(att)); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, &ErrorDetail) == 2) { StrBufCutLeft(Buf, 4); bytes = StrBufExtract_long(Buf, 0, '|'); StrBufExtract_token(ContentType, Buf, 3, '|'); CheckGZipCompressionAllowed (SKEY(ContentType)); if (force_download) { FlushStrBuf(ContentType); detect_mime = 0; } else { if (!strcasecmp(ChrPtr(ContentType), "application/octet-stream")) { StrBufExtract_token(Buf, WCC->Hdr->HR.ReqLine, 2, '/'); CT = GuessMimeByFilename(SKEY(Buf)); StrBufPlain(ContentType, CT, -1); } if (!strcasecmp(ChrPtr(ContentType), "application/octet-stream")) { detect_mime = 1; } } serv_read_binary_to_http(ContentType, bytes, 0, detect_mime); serv_read_binary(WCC->WBuf, bytes, Buf); serv_puts("CLOS"); StrBuf_ServGetln(Buf); CT = ChrPtr(ContentType); } else { StrBufCutLeft(Buf, 4); switch (ErrorDetail) { default: case ERROR + MESSAGE_NOT_FOUND: hprintf("HTTP/1.1 404 %s\n", ChrPtr(Buf)); break; case ERROR + NOT_LOGGED_IN: hprintf("HTTP/1.1 401 %s\n", ChrPtr(Buf)); break; case ERROR + HIGHER_ACCESS_REQUIRED: hprintf("HTTP/1.1 403 %s\n", ChrPtr(Buf)); break; case ERROR + INTERNAL_ERROR: case ERROR + TOO_BIG: hprintf("HTTP/1.1 500 %s\n", ChrPtr(Buf)); break; } hprintf("Pragma: no-cache\r\n" "Cache-Control: no-store\r\n" "Expires: -1\r\n" ); hprintf("Content-Type: text/plain\r\n"); begin_burst(); wc_printf(_("An error occurred while retrieving this part: %s\n"), ChrPtr(Buf)); end_burst(); } FreeStrBuf(&ContentType); FreeStrBuf(&Buf); } /* * Read any MIME part of a message, from the server, into memory. */ StrBuf *load_mimepart(long msgnum, char *partnum) { off_t bytes; StrBuf *Buf; Buf = NewStrBuf(); serv_printf("DLAT %ld|%s", msgnum, partnum); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 6) { StrBufCutLeft(Buf, 4); bytes = StrBufExtract_long(Buf, 0, '|'); FreeStrBuf(&Buf); Buf = NewStrBuf(); StrBuf_ServGetBLOBBuffered(Buf, bytes); return(Buf); } else { FreeStrBuf(&Buf); return(NULL); } } /* * Read any MIME part of a message, from the server, into memory. */ void MimeLoadData(wc_mime_attachment *Mime) { StrBuf *Buf; const char *Ptr; off_t bytes; /* TODO: is there a chance the content type is different from the one we know? */ serv_printf("DLAT %ld|%s", Mime->msgnum, ChrPtr(Mime->PartNum)); Buf = NewStrBuf(); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 6) { Ptr = &(ChrPtr(Buf)[4]); bytes = StrBufExtractNext_long(Buf, &Ptr, '|'); StrBufSkip_NTokenS(Buf, &Ptr, '|', 3); /* filename, cbtype, mimetype */ if (Mime->Charset == NULL) Mime->Charset = NewStrBuf(); StrBufExtract_NextToken(Mime->Charset, Buf, &Ptr, '|'); if (Mime->Data == NULL) Mime->Data = NewStrBufPlain(NULL, bytes); StrBuf_ServGetBLOBBuffered(Mime->Data, bytes); } else { FlushStrBuf(Mime->Data); /* TODO XImportant message */ } FreeStrBuf(&Buf); } void view_mimepart(void) { mimepart(0); } void download_mimepart(void) { mimepart(1); } void view_postpart(void) { StrBuf *filename = NewStrBuf(); StrBuf *partnum = NewStrBuf(); StrBufExtract_token(partnum, WC->Hdr->HR.ReqLine, 0, '/'); StrBufExtract_token(filename, WC->Hdr->HR.ReqLine, 1, '/'); postpart(partnum, filename, 0); FreeStrBuf(&filename); FreeStrBuf(&partnum); } void download_postpart(void) { StrBuf *filename = NewStrBuf(); StrBuf *partnum = NewStrBuf(); StrBufExtract_token(partnum, WC->Hdr->HR.ReqLine, 0, '/'); StrBufExtract_token(filename, WC->Hdr->HR.ReqLine, 1, '/'); postpart(partnum, filename, 1); FreeStrBuf(&filename); FreeStrBuf(&partnum); } void show_num_attachments(void) { wc_printf("%d", GetCount(WC->attachments)); } void h_readnew(void) { readloop(readnew, eUseDefault);} void h_readold(void) { readloop(readold, eUseDefault);} void h_readfwd(void) { readloop(readfwd, eUseDefault);} void h_headers(void) { readloop(headers, eUseDefault);} void h_do_search(void) { readloop(do_search, eUseDefault);} void h_readgt(void) { readloop(readgt, eUseDefault);} void h_readlt(void) { readloop(readlt, eUseDefault);} /* Output message list in JSON format */ void jsonMessageList(void) { StrBuf *View = NewStrBuf(); const StrBuf *room = sbstr("room"); long oper = (havebstr("query")) ? do_search : readnew; StrBufPrintf(View, "%d", VIEW_JSON_LIST); putbstr("view", View);; gotoroom(room); readloop(oper, eUseDefault); } void RegisterReadLoopHandlerset( int RoomType, GetParamsGetServerCall_func GetParamsGetServerCall, PrintViewHeader_func PrintPageHeader, PrintViewHeader_func PrintViewHeader, load_msg_ptrs_detailheaders LH, LoadMsgFromServer_func LoadMsgFromServer, RenderView_or_Tail_func RenderView_or_Tail, View_Cleanup_func ViewCleanup ) { RoomRenderer *Handler; Handler = (RoomRenderer*) malloc(sizeof(RoomRenderer)); Handler->RoomType = RoomType; Handler->GetParamsGetServerCall = GetParamsGetServerCall; Handler->PrintPageHeader = PrintPageHeader; Handler->PrintViewHeader = PrintViewHeader; Handler->LoadMsgFromServer = LoadMsgFromServer; Handler->RenderView_or_Tail = RenderView_or_Tail; Handler->ViewCleanup = ViewCleanup; Handler->LHParse = LH; Put(ReadLoopHandler, IKEY(RoomType), Handler, NULL); } void InitModule_MSG (void) { RegisterPreference("use_sig", _("Attach signature to email messages?"), PRF_YESNO, NULL); RegisterPreference("signature", _("Use this signature:"), PRF_QP_STRING, NULL); RegisterPreference("default_header_charset", _("Default character set for email headers:"), PRF_STRING, NULL); RegisterPreference("defaultfrom", _("Preferred email address"), PRF_STRING, NULL); RegisterPreference("defaultname", _("Preferred display name for email messages"), PRF_STRING, NULL); RegisterPreference("defaulthandle", _("Preferred display name for bulletin board posts"), PRF_STRING, NULL); RegisterPreference("mailbox",_("Mailbox view mode"), PRF_STRING, NULL); WebcitAddUrlHandler(HKEY("readnew"), "", 0, h_readnew, ANONYMOUS|NEED_URL); WebcitAddUrlHandler(HKEY("readold"), "", 0, h_readold, ANONYMOUS|NEED_URL); WebcitAddUrlHandler(HKEY("readfwd"), "", 0, h_readfwd, ANONYMOUS|NEED_URL); WebcitAddUrlHandler(HKEY("headers"), "", 0, h_headers, NEED_URL); WebcitAddUrlHandler(HKEY("readgt"), "", 0, h_readgt, ANONYMOUS|NEED_URL); WebcitAddUrlHandler(HKEY("readlt"), "", 0, h_readlt, ANONYMOUS|NEED_URL); WebcitAddUrlHandler(HKEY("do_search"), "", 0, h_do_search, 0); WebcitAddUrlHandler(HKEY("display_enter"), "", 0, display_enter, 0); WebcitAddUrlHandler(HKEY("post"), "", 0, post_message, PROHIBIT_STARTPAGE); WebcitAddUrlHandler(HKEY("move_msg"), "", 0, move_msg, PROHIBIT_STARTPAGE); WebcitAddUrlHandler(HKEY("delete_msg"), "", 0, delete_msg, PROHIBIT_STARTPAGE); WebcitAddUrlHandler(HKEY("msg"), "", 0, embed_message, NEED_URL); WebcitAddUrlHandler(HKEY("message"), "", 0, handle_one_message, NEED_URL|XHTTP_COMMANDS|COOKIEUNNEEDED|FORCE_SESSIONCLOSE); WebcitAddUrlHandler(HKEY("printmsg"), "", 0, print_message, NEED_URL); WebcitAddUrlHandler(HKEY("msgheaders"), "", 0, display_headers, NEED_URL); WebcitAddUrlHandler(HKEY("mimepart"), "", 0, view_mimepart, NEED_URL); WebcitAddUrlHandler(HKEY("mimepart_download"), "", 0, download_mimepart, NEED_URL); WebcitAddUrlHandler(HKEY("postpart"), "", 0, view_postpart, NEED_URL|PROHIBIT_STARTPAGE); WebcitAddUrlHandler(HKEY("postpart_download"), "", 0, download_postpart, NEED_URL|PROHIBIT_STARTPAGE); WebcitAddUrlHandler(HKEY("upload_attachment"), "", 0, upload_attachment, AJAX); WebcitAddUrlHandler(HKEY("remove_attachment"), "", 0, remove_attachment, AJAX); WebcitAddUrlHandler(HKEY("show_num_attachments"), "", 0, show_num_attachments, AJAX); /* json */ WebcitAddUrlHandler(HKEY("roommsgs"), "", 0, jsonMessageList,0); l_subj = FourHash("subj", 4); l_wefw = FourHash("wefw", 4); l_msgn = FourHash("msgn", 4); l_from = FourHash("from", 4); l_rcpt = FourHash("rcpt", 4); l_cccc = FourHash("cccc", 4); l_replyto = FourHash("rep2", 4); l_node = FourHash("node", 4); l_rfca = FourHash("rfca", 4); l_nvto = FourHash("nvto", 4); return ; } void SessionDetachModule_MSG (wcsession *sess) { DeleteHash(&sess->summ); } webcit-9.01-dfsg/messages.h000066400000000000000000000210401254743150300156220ustar00rootroot00000000000000/* * Copyright (c) 1996-2013 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ extern CtxType CTX_MAILSUM; extern CtxType CTX_MIME_ATACH; extern HashList *MsgHeaderHandler; extern HashList *MimeRenderHandler; extern HashList *ReadLoopHandler; typedef struct wc_mime_attachment wc_mime_attachment; typedef void (*RenderMimeFunc)(StrBuf *Target, WCTemplputParams *TP, StrBuf *FoundCharset); typedef struct _RenderMimeFuncStruct { RenderMimeFunc f; } RenderMimeFuncStruct; struct wc_mime_attachment { int level; StrBuf *Name; StrBuf *FileName; StrBuf *PartNum; StrBuf *Disposition; StrBuf *ContentType; StrBuf *Charset; StrBuf *Data; size_t length; /* length of the mimeattachment */ long size_known; long lvalue; /* if we put a long... */ long msgnum; /* the message number on the citadel server derived from message_summary */ const RenderMimeFuncStruct *Renderer; }; void DestroyMime(void *vMime); #define MSGFLAG_READ (1<<0) typedef struct _message_summary { long msgnum; /* the message number on the citadel server */ int Flags; time_t date; /* its creation date */ int nhdr; int format_type; StrBuf *euid; StrBuf *from; /* the author */ StrBuf *to; /* the recipient */ StrBuf *subj; /* the title / subject */ StrBuf *reply_inreplyto; long reply_inreplyto_hash; StrBuf *reply_references; long reply_references_hash; StrBuf *ReplyTo; StrBuf *cccc; StrBuf *hnod; StrBuf *AllRcpt; StrBuf *Room; StrBuf *Rfca; StrBuf *EnvTo; StrBuf *OtherNode; const StrBuf *PartNum; HashList *Attachments; /* list of attachments */ HashList *Submessages; HashList *AttachLinks; HashList *AllAttach; int hasattachments; /* The mime part of the message */ wc_mime_attachment *MsgBody; } message_summary; void DestroyMessageSummary(void *vMsg); static inline message_summary* GetMessagePtrAt(int n, HashList *Summ) { const char *Key; long HKLen; void *vMsg; if (Summ == NULL) return NULL; GetHashAt(Summ, n, &HKLen, &Key, &vMsg); return (message_summary*) vMsg; } typedef void (*ExamineMsgHeaderFunc)(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset); void evaluate_mime_part(StrBuf *Target, WCTemplputParams *TP); typedef enum _eCustomRoomRenderer { eUseDefault = VIEW_JOURNAL + 100, eReadEUIDS }eCustomRoomRenderer; enum { do_search, headers, readfwd, readnew, readold, readgt, readlt }; /** * @brief function to parse the | separated message headers list * @param Line the raw line with your message data * @param Msg put your parser results here... * @param ConversionBuffer if you need some workbuffer, don't free me! * @returns 0: failure, trash this message. 1: all right, store it */ typedef int (*load_msg_ptrs_detailheaders) (StrBuf *Line, const char **pos, message_summary *Msg, StrBuf *ConversionBuffer); typedef void (*readloop_servcmd)(char *buf, long bufsize); typedef struct _readloopstruct { ConstStr name; readloop_servcmd cmd; } readloop_struct; extern readloop_struct rlid[]; void readloop(long oper, eCustomRoomRenderer ForceRenderer); int read_message(StrBuf *Target, const char *tmpl, long tmpllen, long msgnum, const StrBuf *section, const StrBuf **OutMime); int load_message(message_summary *Msg, StrBuf *FoundCharset, StrBuf **Error); typedef struct _SharedMessageStatus { long load_seen; /* should read information be loaded */ long sortit; /* should we sort it using the standard sort API? */ long defaultsortorder; /* if we should sort it, which direction should be the default? */ long maxload; /* how many headers should we accept from the server? defaults to 10k */ long maxmsgs; /* how many message bodies do you want to load at most?*/ long startmsg; /* which is the start message? */ long nummsgs; /* How many messages are available to your view? */ long numNewmsgs; /* if you load the seen-status, this is the count of them. */ long num_displayed; /* counted up for LoadMsgFromServer */ /* TODO: unclear who should access this and why */ long lowest_found; /* smallest Message ID found; */ long highest_found; /* highest Message ID found; */ } SharedMessageStatus; int load_msg_ptrs(const char *servcmd, const char *filter, SharedMessageStatus *Stat, load_msg_ptrs_detailheaders LH); typedef int (*GetParamsGetServerCall_func)(SharedMessageStatus *Stat, void **ViewSpecific, long oper, char *cmd, long len, char *filter, long flen); typedef int (*PrintViewHeader_func)(SharedMessageStatus *Stat, void **ViewSpecific); typedef int (*LoadMsgFromServer_func)(SharedMessageStatus *Stat, void **ViewSpecific, message_summary* Msg, int is_new, int i); typedef int (*RenderView_or_Tail_func)(SharedMessageStatus *Stat, void **ViewSpecific, long oper); typedef int (*View_Cleanup_func)(void **ViewSpecific); void RegisterReadLoopHandlerset( /** * RoomType: which View definition are you going to be called for */ int RoomType, /** * GetParamsGetServerCall should do the following: * * allocate your private context structure * * evaluate your commandline arguments, put results to your private struct. * * fill cmd with the command to load the message pointer list: * * might depend on bstr/oper depending on your needs * * might stay empty if no list should loaded and LoadMsgFromServer * is skipped. * * influence the behaviour by presetting values on SharedMessageStatus */ GetParamsGetServerCall_func GetParamsGetServerCall, /** * PrintpageHeader prints the surrounding information like iconbar, header etc. * by default, output_headers() is called. * */ PrintViewHeader_func PrintPageHeader, /** * PrintViewHeader is here to print informations infront of your messages. * The message list is already loaded & sorted (if) so you can evaluate * its result on the SharedMessageStatus struct. */ PrintViewHeader_func PrintViewHeader, /** * LH is the function, you specify if you want to load more than just message * numbers from the server during the listing fetch operation. */ load_msg_ptrs_detailheaders LH, /** * LoadMsgFromServer is called for every message in the message list: * * which is * * after 'startmsg' * * up to 'maxmsgs' after your 'startmsg' * * it should load and parse messages from citserer. * * depending on your needs you might want to print your message here... * * if cmd was empty, its skipped alltogether. */ LoadMsgFromServer_func LoadMsgFromServer, /** * RenderView_or_Tail is called last; * * if you used PrintViewHeader to print messages, you might want to print * trailing information here * * if you just pre-loaded your messages, put your render code here. */ RenderView_or_Tail_func RenderView_or_Tail, /** * ViewCleanup should just clear your private data so all your mem can go back to * VALgrindHALLA. * it also should release the content for delivery via end_burst() or wDumpContent(1); */ View_Cleanup_func ViewCleanup ); /* GetParamsGetServerCall PrintViewHeader LoadMsgFromServer RenderView_or_Tail */ int ParseMessageListHeaders_Detail(StrBuf *Line, const char **pos, message_summary *Msg, StrBuf *ConversionBuffer); /** * @brief function to register the availability to render a specific message * @param HeaderName Mimetype we know howto display * @param HdrNLen length... * @param InlineRenderable Should we announce to citserver that we want to receive these mimeparts immediately? * @param Priority if multipart/alternative; which mimepart/Renderer should be prefered? (only applies if InlineRenderable) */ void RegisterMimeRenderer(const char *HeaderName, long HdrNLen, RenderMimeFunc MimeRenderer, int InlineRenderable, int Priority); /** * @brief fill the header parts of Msg with the headers loaded by MSG0 * @param Msg empty message struct, only preinitialized with the msgid * @param FoundCharset buffer with the prefered charset of the headers * @param buf linebuffer used to buffer citserver replies */ int ReadOneMessageSummary(message_summary *Msg, StrBuf *FoundCharset, StrBuf *Buf); webcit-9.01-dfsg/missing000077500000000000000000000140021254743150300152410ustar00rootroot00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. # Copyright (C) 1996, 1997 Free Software Foundation, Inc. # Franc,ois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 3. # the Free Software Foundation; either version 2, 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. # # # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi case "$1" in -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file yacc create \`y.tab.[ch]', if possible, from existing .[ch]" ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing - GNU libit 0.0" ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; aclocal) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`acinclude.m4' or \`configure.in'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`configure.in'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`acconfig.h' or \`configure.in'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER([^):]*:\([^)]*\)).*/\1/p' configure.in` if test -z "$files"; then files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^):]*\)).*/\1/p' configure.in` test -z "$files" || files="$files.in" else files=`echo "$files" | sed -e 's/:/ /g'` fi test -z "$files" && files="config.h.in" touch $files ;; automake) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print \ | sed 's/^\(.*\).am$/touch \1.in/' \ | sh ;; bison|yacc) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if [ $# -ne 1 ]; then eval LASTARG="\${$#}" case "$LASTARG" in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.h fi ;; esac fi if [ ! -f y.tab.h ]; then echo >y.tab.h fi if [ ! -f y.tab.c ]; then echo 'main() { return 0; }' >y.tab.c fi ;; lex|flex) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if [ $# -ne 1 ]; then eval LASTARG="\${$#}" case "$LASTARG" in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if [ ! -f lex.yy.c ]; then echo 'main() { return 0; }' >lex.yy.c fi ;; makeinfo) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` if test -z "$file"; then file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` fi touch $file ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and you do not seem to have it handy on your system. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequirements for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 webcit-9.01-dfsg/mkinstalldirs000077500000000000000000000037041254743150300164570ustar00rootroot00000000000000#! /bin/sh # mkinstalldirs --- make directory hierarchy # Author: Noah Friedman # Created: 1993-05-16 # Public domain errstatus=0 dirmode="" usage="\ Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..." # process command line arguments while test $# -gt 0 ; do case $1 in -h | --help | --h*) # -h for help echo "$usage" 1>&2 exit 0 ;; -m) # -m PERM arg shift test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } dirmode=$1 shift ;; --) # stop option processing shift break ;; -*) # unknown option echo "$usage" 1>&2 exit 1 ;; *) # first non-opt arg break ;; esac done for file do if test -d "$file"; then shift else break fi done case $# in 0) exit 0 ;; esac case $dirmode in '') if mkdir -p -- . 2>/dev/null; then echo "mkdir -p -- $*" exec mkdir -p -- "$@" fi ;; *) if mkdir -m "$dirmode" -p -- . 2>/dev/null; then echo "mkdir -m $dirmode -p -- $*" exec mkdir -m "$dirmode" -p -- "$@" fi ;; esac for file do set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` shift pathcomp= for d do pathcomp="$pathcomp$d" case $pathcomp in -*) pathcomp=./$pathcomp ;; esac if test ! -d "$pathcomp"; then echo "mkdir $pathcomp" mkdir "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then errstatus=$lasterr else if test ! -z "$dirmode"; then echo "chmod $dirmode $pathcomp" lasterr="" chmod "$dirmode" "$pathcomp" || lasterr=$? if test ! -z "$lasterr"; then errstatus=$lasterr fi fi fi fi pathcomp="$pathcomp/" done done exit $errstatus # Local Variables: # mode: shell-script # sh-indentation: 2 # End: # mkinstalldirs ends here webcit-9.01-dfsg/modules_init.c000066400000000000000000000352671254743150300165210ustar00rootroot00000000000000/* * /var/www/easyinstall/citadel/webcit/modules_init.c * Auto generated by mk_modules_init.sh DO NOT EDIT THIS FILE */ #include "sysdep.h" #include #include #include #include #include #include #include #include "webcit.h" #include "modules_init.h" #include "webserver.h" void LogPrintMessages(long err); extern long DetailErrorFlags; void start_modules (void) { #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Starting CONTEXT\n"); #endif ServerStartModule_CONTEXT(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Starting DAV\n"); #endif ServerStartModule_DAV(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Starting ICONBAR\n"); #endif ServerStartModule_ICONBAR(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Starting ICONTHEME\n"); #endif ServerStartModule_ICONTHEME(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Starting MSGRENDERERS\n"); #endif ServerStartModule_MSGRENDERERS(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Starting PREFERENCES\n"); #endif ServerStartModule_PREFERENCES(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Starting SERV_FUNC\n"); #endif ServerStartModule_SERV_FUNC(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Starting SITECONFIG\n"); #endif ServerStartModule_SITECONFIG(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Starting SMTP_QUEUE\n"); #endif ServerStartModule_SMTP_QUEUE(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Starting STATIC\n"); #endif ServerStartModule_STATIC(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Starting SUBST\n"); #endif ServerStartModule_SUBST(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Starting VCARD\n"); #endif ServerStartModule_VCARD(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Starting WEBCIT\n"); #endif ServerStartModule_WEBCIT(); } void initialise_modules (void) { #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing ADDRBOOK_POPUP\n"); #endif InitModule_ADDRBOOK_POPUP(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing AUTH\n"); #endif InitModule_AUTH(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing AUTO_COMPLETE\n"); #endif InitModule_AUTO_COMPLETE(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing BBSVIEWRENDERERS\n"); #endif InitModule_BBSVIEWRENDERERS(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing BLOGVIEWRENDERERS\n"); #endif InitModule_BLOGVIEWRENDERERS(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing CALENDAR\n"); #endif InitModule_CALENDAR(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing CALENDAR_VIEW\n"); #endif InitModule_CALENDAR_VIEW(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing CONTEXT\n"); #endif InitModule_CONTEXT(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing DATE\n"); #endif InitModule_DATE(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing DATETIME\n"); #endif InitModule_DATETIME(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing DOWNLOAD\n"); #endif InitModule_DOWNLOAD(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing GETTEXT\n"); #endif InitModule_GETTEXT(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing GRAPHICS\n"); #endif InitModule_GRAPHICS(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing GROUPDAV\n"); #endif InitModule_GROUPDAV(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing ICAL_MAPS\n"); #endif InitModule_ICAL_MAPS(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing ICAL_SUBST\n"); #endif InitModule_ICAL_SUBST(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing ICONBAR\n"); #endif InitModule_ICONBAR(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing ICONTHEME\n"); #endif InitModule_ICONTHEME(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing INETCONF\n"); #endif InitModule_INETCONF(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing LISTSUB\n"); #endif InitModule_LISTSUB(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing MAINMENU\n"); #endif InitModule_MAINMENU(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing MARCHLIST\n"); #endif InitModule_MARCHLIST(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing MSG\n"); #endif InitModule_MSG(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing MSGRENDERERS\n"); #endif InitModule_MSGRENDERERS(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing NETCONF\n"); #endif InitModule_NETCONF(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing NOTES\n"); #endif InitModule_NOTES(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing OPENID\n"); #endif InitModule_OPENID(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing PAGING\n"); #endif InitModule_PAGING(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing PARAMHANDLING\n"); #endif InitModule_PARAMHANDLING(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing PREFERENCES\n"); #endif InitModule_PREFERENCES(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing PROPFIND\n"); #endif InitModule_PROPFIND(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing PUSHMAIL\n"); #endif InitModule_PUSHMAIL(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing REPORT\n"); #endif InitModule_REPORT(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing ROOMCHAT\n"); #endif InitModule_ROOMCHAT(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing ROOMLIST\n"); #endif InitModule_ROOMLIST(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing ROOMOPS\n"); #endif InitModule_ROOMOPS(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing ROOMTOKENS\n"); #endif InitModule_ROOMTOKENS(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing ROOMVIEWS\n"); #endif InitModule_ROOMVIEWS(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing RSS\n"); #endif InitModule_RSS(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing SERVFUNC\n"); #endif InitModule_SERVFUNC(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing SETUP_WIZARD\n"); #endif InitModule_SETUP_WIZARD(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing SIEVE\n"); #endif InitModule_SIEVE(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing SITECONFIG\n"); #endif InitModule_SITECONFIG(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing SITEMAP\n"); #endif InitModule_SITEMAP(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing SMTP_QUEUE\n"); #endif InitModule_SMTP_QUEUE(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing STATIC\n"); #endif InitModule_STATIC(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing SUBST\n"); #endif InitModule_SUBST(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing SUMMARY\n"); #endif InitModule_SUMMARY(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing SYSMSG\n"); #endif InitModule_SYSMSG(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing TASKS\n"); #endif InitModule_TASKS(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing USEREDIT\n"); #endif InitModule_USEREDIT(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing VCARD\n"); #endif InitModule_VCARD(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing WEBCIT\n"); #endif InitModule_WEBCIT(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing WHO\n"); #endif InitModule_WHO(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing WIKI\n"); #endif InitModule_WIKI(); } void initialise2_modules (void) { #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing MSGRENDERERS\n"); #endif InitModule2_MSGRENDERERS(); } void shutdown_modules (void) { #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Shutting down CONTEXT\n"); #endif ServerShutdownModule_CONTEXT(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Shutting down DAV\n"); #endif ServerShutdownModule_DAV(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Shutting down GETTEXT\n"); #endif ServerShutdownModule_GETTEXT(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Shutting down ICAL\n"); #endif ServerShutdownModule_ICAL(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Shutting down ICONBAR\n"); #endif ServerShutdownModule_ICONBAR(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Shutting down ICONTHEME\n"); #endif ServerShutdownModule_ICONTHEME(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Shutting down MSGRENDERERS\n"); #endif ServerShutdownModule_MSGRENDERERS(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Shutting down PREFERENCES\n"); #endif ServerShutdownModule_PREFERENCES(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Shutting down SERV_FUNC\n"); #endif ServerShutdownModule_SERV_FUNC(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Shutting down SITECONFIG\n"); #endif ServerShutdownModule_SITECONFIG(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Shutting down SMTP_QUEUE\n"); #endif ServerShutdownModule_SMTP_QUEUE(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Shutting down STATIC\n"); #endif ServerShutdownModule_STATIC(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Shutting down SUBST\n"); #endif ServerShutdownModule_SUBST(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Shutting down VCARD\n"); #endif ServerShutdownModule_VCARD(); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Shutting down WEBCIT\n"); #endif ServerShutdownModule_WEBCIT(); } void session_new_modules (wcsession *sess) { #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing GETTEXT\n"); #endif SessionNewModule_GETTEXT(sess); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing PREFERENCES\n"); #endif SessionNewModule_PREFERENCES(sess); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing SUBST\n"); #endif SessionNewModule_SUBST(sess); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing TCPSOCKETS\n"); #endif SessionNewModule_TCPSOCKETS(sess); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing WEBCIT\n"); #endif SessionNewModule_WEBCIT(sess); } void session_attach_modules (wcsession *sess) { #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Attaching Session; GETTEXT\n"); #endif SessionAttachModule_GETTEXT(sess); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Attaching Session; PARAMHANDLING\n"); #endif SessionAttachModule_PARAMHANDLING(sess); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Attaching Session; SUBST\n"); #endif SessionAttachModule_SUBST(sess); } void session_detach_modules (wcsession *sess) { #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing MSG\n"); #endif SessionDetachModule_MSG(sess); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing PARAMHANDLING\n"); #endif SessionDetachModule_PARAMHANDLING(sess); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing _PREFERENCES\n"); #endif SessionDetachModule__PREFERENCES(sess); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing SIEVE\n"); #endif SessionDetachModule_SIEVE(sess); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing SUBST\n"); #endif SessionDetachModule_SUBST(sess); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing WEBCIT\n"); #endif SessionDetachModule_WEBCIT(sess); } void session_destroy_modules (wcsession **sess) { #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing AUTH\n"); #endif SessionDestroyModule_AUTH(*sess); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing GETTEXT\n"); #endif SessionDestroyModule_GETTEXT(*sess); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing ICONBAR\n"); #endif SessionDestroyModule_ICONBAR(*sess); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing ICONTHEME\n"); #endif SessionDestroyModule_ICONTHEME(*sess); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing MSGRENDERERS\n"); #endif SessionDestroyModule_MSGRENDERERS(*sess); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing PAGING\n"); #endif SessionDestroyModule_PAGING(*sess); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing PREFERENCES\n"); #endif SessionDestroyModule_PREFERENCES(*sess); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing ROOMCHAT\n"); #endif SessionDestroyModule_ROOMCHAT(*sess); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing ROOMOPS\n"); #endif SessionDestroyModule_ROOMOPS(*sess); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing SERVFUNC\n"); #endif SessionDestroyModule_SERVFUNC(*sess); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing SITECONFIG\n"); #endif SessionDestroyModule_SITECONFIG(*sess); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing SUBST\n"); #endif SessionDestroyModule_SUBST(*sess); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing TCPSOCKETS\n"); #endif SessionDestroyModule_TCPSOCKETS(*sess); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing WEBCIT\n"); #endif SessionDestroyModule_WEBCIT(*sess); free((*sess)); (*sess) = NULL; } void http_new_modules (ParsedHttpHdrs *httpreq) { #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "NEW AUTH\n"); #endif HttpNewModule_AUTH(httpreq); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "NEW CONTEXT\n"); #endif HttpNewModule_CONTEXT(httpreq); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "NEW TCPSOCKETS\n"); #endif HttpNewModule_TCPSOCKETS(httpreq); } void http_detach_modules (ParsedHttpHdrs *httpreq) { #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Detaching AUTH\n"); #endif HttpDetachModule_AUTH(httpreq); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Detaching CONTEXT\n"); #endif HttpDetachModule_CONTEXT(httpreq); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Detaching TCPSOCKETS\n"); #endif HttpDetachModule_TCPSOCKETS(httpreq); } void http_destroy_modules (ParsedHttpHdrs *httpreq) { #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Destructing AUTH\n"); #endif HttpDestroyModule_AUTH(httpreq); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Destructing CONTEXT\n"); #endif HttpDestroyModule_CONTEXT(httpreq); #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Destructing TCPSOCKETS\n"); #endif HttpDestroyModule_TCPSOCKETS(httpreq); } webcit-9.01-dfsg/modules_init.h000066400000000000000000000150741254743150300165200ustar00rootroot00000000000000/* * /var/www/easyinstall/citadel/webcit/modules_init.h * Auto generated by mk_modules_init.sh DO NOT EDIT THIS FILE */ #ifndef MODULES_INIT_H #define MODULES_INIT_H extern size_t nSizErrmsg; /* * server lifetime: */ void initialise_modules (void); void initialise2_modules (void); void start_modules (void); void shutdown_modules (void); /* * Session lifetime: */ void session_new_modules (wcsession *sess); void session_attach_modules (wcsession *sess); void session_detach_modules (wcsession *sess); void session_destroy_modules (wcsession **sess); void http_new_modules (ParsedHttpHdrs *httpreq); void http_detach_modules (ParsedHttpHdrs *httpreq); void http_destroy_modules (ParsedHttpHdrs *httpreq); /* * forwards... */ /* Server Start Hooks: */ extern void ServerStartModule_CONTEXT(void); extern void ServerStartModule_DAV(void); extern void ServerStartModule_ICONBAR(void); extern void ServerStartModule_ICONTHEME(void); extern void ServerStartModule_MSGRENDERERS(void); extern void ServerStartModule_PREFERENCES(void); extern void ServerStartModule_SERV_FUNC(void); extern void ServerStartModule_SITECONFIG(void); extern void ServerStartModule_SMTP_QUEUE(void); extern void ServerStartModule_STATIC(void); extern void ServerStartModule_SUBST(void); extern void ServerStartModule_VCARD(void); extern void ServerStartModule_WEBCIT(void); /* Server Init Hooks: */ extern void InitModule_ADDRBOOK_POPUP(void); extern void InitModule_AUTH(void); extern void InitModule_AUTO_COMPLETE(void); extern void InitModule_BBSVIEWRENDERERS(void); extern void InitModule_BLOGVIEWRENDERERS(void); extern void InitModule_CALENDAR(void); extern void InitModule_CALENDAR_VIEW(void); extern void InitModule_CONTEXT(void); extern void InitModule_DATE(void); extern void InitModule_DATETIME(void); extern void InitModule_DOWNLOAD(void); extern void InitModule_GETTEXT(void); extern void InitModule_GRAPHICS(void); extern void InitModule_GROUPDAV(void); extern void InitModule_ICAL_MAPS(void); extern void InitModule_ICAL_SUBST(void); extern void InitModule_ICONBAR(void); extern void InitModule_ICONTHEME(void); extern void InitModule_INETCONF(void); extern void InitModule_LISTSUB(void); extern void InitModule_MAINMENU(void); extern void InitModule_MARCHLIST(void); extern void InitModule_MSG(void); extern void InitModule_MSGRENDERERS(void); extern void InitModule_NETCONF(void); extern void InitModule_NOTES(void); extern void InitModule_OPENID(void); extern void InitModule_PAGING(void); extern void InitModule_PARAMHANDLING(void); extern void InitModule_PREFERENCES(void); extern void InitModule_PROPFIND(void); extern void InitModule_PUSHMAIL(void); extern void InitModule_REPORT(void); extern void InitModule_ROOMCHAT(void); extern void InitModule_ROOMLIST(void); extern void InitModule_ROOMOPS(void); extern void InitModule_ROOMTOKENS(void); extern void InitModule_ROOMVIEWS(void); extern void InitModule_RSS(void); extern void InitModule_SERVFUNC(void); extern void InitModule_SETUP_WIZARD(void); extern void InitModule_SIEVE(void); extern void InitModule_SITECONFIG(void); extern void InitModule_SITEMAP(void); extern void InitModule_SMTP_QUEUE(void); extern void InitModule_STATIC(void); extern void InitModule_SUBST(void); extern void InitModule_SUMMARY(void); extern void InitModule_SYSMSG(void); extern void InitModule_TASKS(void); extern void InitModule_USEREDIT(void); extern void InitModule_VCARD(void); extern void InitModule_WEBCIT(void); extern void InitModule_WHO(void); extern void InitModule_WIKI(void); /* Server Init Hooks: */ extern void InitModule2_MSGRENDERERS(void); /* Server shutdown Hooks: */ extern void ServerShutdownModule_CONTEXT(void); extern void ServerShutdownModule_DAV(void); extern void ServerShutdownModule_GETTEXT(void); extern void ServerShutdownModule_ICAL(void); extern void ServerShutdownModule_ICONBAR(void); extern void ServerShutdownModule_ICONTHEME(void); extern void ServerShutdownModule_MSGRENDERERS(void); extern void ServerShutdownModule_PREFERENCES(void); extern void ServerShutdownModule_SERV_FUNC(void); extern void ServerShutdownModule_SITECONFIG(void); extern void ServerShutdownModule_SMTP_QUEUE(void); extern void ServerShutdownModule_STATIC(void); extern void ServerShutdownModule_SUBST(void); extern void ServerShutdownModule_VCARD(void); extern void ServerShutdownModule_WEBCIT(void); /* Session New Hooks: */ extern void SessionNewModule_GETTEXT(wcsession *sess); extern void SessionNewModule_PREFERENCES(wcsession *sess); extern void SessionNewModule_SUBST(wcsession *sess); extern void SessionNewModule_TCPSOCKETS(wcsession *sess); extern void SessionNewModule_WEBCIT(wcsession *sess); /* Session Attach Hooks: */ extern void SessionAttachModule_GETTEXT(wcsession *sess); extern void SessionAttachModule_PARAMHANDLING(wcsession *sess); extern void SessionAttachModule_SUBST(wcsession *sess); /* Session detach Hooks: */ extern void SessionDetachModule_MSG(wcsession *sess); extern void SessionDetachModule_PARAMHANDLING(wcsession *sess); extern void SessionDetachModule__PREFERENCES(wcsession *sess); extern void SessionDetachModule_SIEVE(wcsession *sess); extern void SessionDetachModule_SUBST(wcsession *sess); extern void SessionDetachModule_WEBCIT(wcsession *sess); /* Session destroy Hooks: */ extern void SessionDestroyModule_AUTH(wcsession *sess); extern void SessionDestroyModule_GETTEXT(wcsession *sess); extern void SessionDestroyModule_ICONBAR(wcsession *sess); extern void SessionDestroyModule_ICONTHEME(wcsession *sess); extern void SessionDestroyModule_MSGRENDERERS(wcsession *sess); extern void SessionDestroyModule_PAGING(wcsession *sess); extern void SessionDestroyModule_PREFERENCES(wcsession *sess); extern void SessionDestroyModule_ROOMCHAT(wcsession *sess); extern void SessionDestroyModule_ROOMOPS(wcsession *sess); extern void SessionDestroyModule_SERVFUNC(wcsession *sess); extern void SessionDestroyModule_SITECONFIG(wcsession *sess); extern void SessionDestroyModule_SUBST(wcsession *sess); extern void SessionDestroyModule_TCPSOCKETS(wcsession *sess); extern void SessionDestroyModule_WEBCIT(wcsession *sess); extern void HttpNewModule_AUTH(ParsedHttpHdrs *httpreq); extern void HttpNewModule_CONTEXT(ParsedHttpHdrs *httpreq); extern void HttpNewModule_TCPSOCKETS(ParsedHttpHdrs *httpreq); extern void HttpDetachModule_AUTH(ParsedHttpHdrs *httpreq); extern void HttpDetachModule_CONTEXT(ParsedHttpHdrs *httpreq); extern void HttpDetachModule_TCPSOCKETS(ParsedHttpHdrs *httpreq); extern void HttpDestroyModule_AUTH(ParsedHttpHdrs *httpreq); extern void HttpDestroyModule_CONTEXT(ParsedHttpHdrs *httpreq); extern void HttpDestroyModule_TCPSOCKETS(ParsedHttpHdrs *httpreq); #endif /* MODULES_INIT_H */ webcit-9.01-dfsg/msg_renderers.c000066400000000000000000001457571254743150300166730ustar00rootroot00000000000000#include "webcit.h" #include "webserver.h" #include "dav.h" CtxType CTX_MAILSUM = CTX_NONE; CtxType CTX_MIME_ATACH = CTX_NONE; static inline void CheckConvertBufs(struct wcsession *WCC) { if (WCC->ConvertBuf1 == NULL) WCC->ConvertBuf1 = NewStrBuf(); if (WCC->ConvertBuf2 == NULL) WCC->ConvertBuf2 = NewStrBuf(); } /* * message index functions */ void DestroyMimeParts(wc_mime_attachment *Mime) { FreeStrBuf(&Mime->Name); FreeStrBuf(&Mime->FileName); FreeStrBuf(&Mime->PartNum); FreeStrBuf(&Mime->Disposition); FreeStrBuf(&Mime->ContentType); FreeStrBuf(&Mime->Charset); FreeStrBuf(&Mime->Data); } void DestroyMime(void *vMime) { wc_mime_attachment *Mime = (wc_mime_attachment*)vMime; DestroyMimeParts(Mime); free(Mime); } void DestroyMessageSummary(void *vMsg) { message_summary *Msg = (message_summary*) vMsg; FreeStrBuf(&Msg->from); FreeStrBuf(&Msg->to); FreeStrBuf(&Msg->subj); FreeStrBuf(&Msg->reply_inreplyto); FreeStrBuf(&Msg->reply_references); FreeStrBuf(&Msg->cccc); FreeStrBuf(&Msg->ReplyTo); FreeStrBuf(&Msg->hnod); FreeStrBuf(&Msg->AllRcpt); FreeStrBuf(&Msg->Room); FreeStrBuf(&Msg->Rfca); FreeStrBuf(&Msg->EnvTo); FreeStrBuf(&Msg->OtherNode); DeleteHash(&Msg->Attachments); /* list of Attachments */ DeleteHash(&Msg->Submessages); DeleteHash(&Msg->AttachLinks); DeleteHash(&Msg->AllAttach); free(Msg); } void RegisterMsgHdr(const char *HeaderName, long HdrNLen, ExamineMsgHeaderFunc evaluator, int type) { headereval *ev; ev = (headereval*) malloc(sizeof(headereval)); ev->evaluator = evaluator; ev->Type = type; Put(MsgHeaderHandler, HeaderName, HdrNLen, ev, NULL); } void RegisterMimeRenderer(const char *HeaderName, long HdrNLen, RenderMimeFunc MimeRenderer, int InlineRenderable, int Priority) { RenderMimeFuncStruct *f; f = (RenderMimeFuncStruct*) malloc(sizeof(RenderMimeFuncStruct)); f->f = MimeRenderer; Put(MimeRenderHandler, HeaderName, HdrNLen, f, NULL); if (InlineRenderable) RegisterEmbeddableMimeType(HeaderName, HdrNLen, 10000 - Priority); } /*----------------------------------------------------------------------------*/ /* * comparator for two longs in descending order. */ int longcmp_r(const void *s1, const void *s2) { long l1; long l2; l1 = *(long *)GetSearchPayload(s1); l2 = *(long *)GetSearchPayload(s2); if (l1 > l2) return(-1); if (l1 < l2) return(+1); return(0); } /* * comparator for longs; descending order. */ int qlongcmp_r(const void *s1, const void *s2) { long l1 = (long) s1; long l2 = (long) s2; if (l1 > l2) return(-1); if (l1 < l2) return(+1); return(0); } /* * comparator for message summary structs by ascending subject. */ int summcmp_subj(const void *s1, const void *s2) { message_summary *summ1; message_summary *summ2; summ1 = (message_summary *)GetSearchPayload(s1); summ2 = (message_summary *)GetSearchPayload(s2); return strcasecmp(ChrPtr(summ1->subj), ChrPtr(summ2->subj)); } /* * comparator for message summary structs by descending subject. */ int summcmp_rsubj(const void *s1, const void *s2) { message_summary *summ1; message_summary *summ2; summ1 = (message_summary *)GetSearchPayload(s1); summ2 = (message_summary *)GetSearchPayload(s2); return strcasecmp(ChrPtr(summ2->subj), ChrPtr(summ1->subj)); } /* * comparator for message summary structs by descending subject. */ int groupchange_subj(const void *s1, const void *s2) { message_summary *summ1; message_summary *summ2; summ1 = (message_summary *)s1; summ2 = (message_summary *)s2; return ChrPtr(summ2->subj)[0] != ChrPtr(summ1->subj)[0]; } /* * comparator for message summary structs by ascending sender. */ int summcmp_sender(const void *s1, const void *s2) { message_summary *summ1; message_summary *summ2; summ1 = (message_summary *)GetSearchPayload(s1); summ2 = (message_summary *)GetSearchPayload(s2); return strcasecmp(ChrPtr(summ1->from), ChrPtr(summ2->from)); } /* * comparator for message summary structs by descending sender. */ int summcmp_rsender(const void *s1, const void *s2) { message_summary *summ1; message_summary *summ2; summ1 = (message_summary *)GetSearchPayload(s1); summ2 = (message_summary *)GetSearchPayload(s2); return strcasecmp(ChrPtr(summ2->from), ChrPtr(summ1->from)); } /* * comparator for message summary structs by descending sender. */ int groupchange_sender(const void *s1, const void *s2) { message_summary *summ1; message_summary *summ2; summ1 = (message_summary *)s1; summ2 = (message_summary *)s2; return strcasecmp(ChrPtr(summ2->from), ChrPtr(summ1->from)) != 0; } /* * comparator for message summary structs by ascending date. */ int summcmp_date(const void *s1, const void *s2) { message_summary *summ1; message_summary *summ2; summ1 = (message_summary *)GetSearchPayload(s1); summ2 = (message_summary *)GetSearchPayload(s2); if (summ1->date < summ2->date) return -1; else if (summ1->date > summ2->date) return +1; else return 0; } /* * comparator for message summary structs by descending date. */ int summcmp_rdate(const void *s1, const void *s2) { message_summary *summ1; message_summary *summ2; summ1 = (message_summary *)GetSearchPayload(s1); summ2 = (message_summary *)GetSearchPayload(s2); if (summ1->date < summ2->date) return +1; else if (summ1->date > summ2->date) return -1; else return 0; } /* * comparator for message summary structs by descending date. */ const long DAYSECONDS = 24 * 60 * 60; int groupchange_date(const void *s1, const void *s2) { message_summary *summ1; message_summary *summ2; summ1 = (message_summary *)s1; summ2 = (message_summary *)s2; return (summ1->date % DAYSECONDS) != (summ2->date %DAYSECONDS); } /*----------------------------------------------------------------------------*/ /* Don't wanna know... or? */ void examine_pref(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) {return;} void examine_suff(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) {return;} void examine_path(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) {return;} void examine_content_encoding(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { /* TODO: do we care? */ } void examine_nhdr(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { Msg->nhdr = 0; if (!strncasecmp(ChrPtr(HdrLine), "yes", 8)) Msg->nhdr = 1; } int Conditional_ANONYMOUS_MESSAGE(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return Msg->nhdr != 0; } void examine_type(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { Msg->format_type = StrToi(HdrLine); } void examine_from(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { wcsession *WCC = WC; CheckConvertBufs(WCC); FreeStrBuf(&Msg->from); Msg->from = NewStrBufPlain(NULL, StrLength(HdrLine)); StrBuf_RFC822_2_Utf8(Msg->from, HdrLine, WCC->DefaultCharset, FoundCharset, WCC->ConvertBuf1, WCC->ConvertBuf2); } void tmplput_MAIL_SUMM_FROM(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendTemplate(Target, TP, Msg->from, 0); } void examine_subj(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { wcsession *WCC = WC; CheckConvertBufs(WCC); FreeStrBuf(&Msg->subj); Msg->subj = NewStrBufPlain(NULL, StrLength(HdrLine)); StrBuf_RFC822_2_Utf8(Msg->subj, HdrLine, WCC->DefaultCharset, FoundCharset, WCC->ConvertBuf1, WCC->ConvertBuf2); } void tmplput_MAIL_SUMM_SUBJECT(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); if (TP->Tokens->nParameters == 4) { const char *pch; long len; GetTemplateTokenString(Target, TP, 3, &pch, &len); if ((len > 0)&& (strstr(ChrPtr(Msg->subj), pch) == NULL)) { GetTemplateTokenString(Target, TP, 2, &pch, &len); StrBufAppendBufPlain(Target, pch, len, 0); } } StrBufAppendTemplate(Target, TP, Msg->subj, 0); } int Conditional_MAIL_SUMM_SUBJECT(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return StrLength(Msg->subj) > 0; } void examine_msgn(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { wcsession *WCC = WC; CheckConvertBufs(WCC); FreeStrBuf(&Msg->reply_inreplyto); Msg->reply_inreplyto = NewStrBufPlain(NULL, StrLength(HdrLine)); Msg->reply_inreplyto_hash = ThreadIdHash(HdrLine); StrBuf_RFC822_2_Utf8(Msg->reply_inreplyto, HdrLine, WCC->DefaultCharset, FoundCharset, WCC->ConvertBuf1, WCC->ConvertBuf2); } void tmplput_MAIL_SUMM_INREPLYTO(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendTemplate(Target, TP, Msg->reply_inreplyto, 0); } int Conditional_MAIL_SUMM_UNREAD(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return (Msg->Flags & MSGFLAG_READ) != 0; } void examine_wefw(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { wcsession *WCC = WC; CheckConvertBufs(WCC); FreeStrBuf(&Msg->reply_references); Msg->reply_references = NewStrBufPlain(NULL, StrLength(HdrLine)); Msg->reply_references_hash = ThreadIdHash(HdrLine); StrBuf_RFC822_2_Utf8(Msg->reply_references, HdrLine, WCC->DefaultCharset, FoundCharset, WCC->ConvertBuf1, WCC->ConvertBuf2); } void tmplput_MAIL_SUMM_REFIDS(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendTemplate(Target, TP, Msg->reply_references, 0); } void examine_replyto(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { wcsession *WCC = WC; CheckConvertBufs(WCC); FreeStrBuf(&Msg->ReplyTo); Msg->ReplyTo = NewStrBufPlain(NULL, StrLength(HdrLine)); StrBuf_RFC822_2_Utf8(Msg->ReplyTo, HdrLine, WCC->DefaultCharset, FoundCharset, WCC->ConvertBuf1, WCC->ConvertBuf2); if (Msg->AllRcpt == NULL) Msg->AllRcpt = NewStrBufPlain(NULL, StrLength(HdrLine)); if (StrLength(Msg->AllRcpt) > 0) { StrBufAppendBufPlain(Msg->AllRcpt, HKEY(", "), 0); } StrBufAppendBuf(Msg->AllRcpt, Msg->ReplyTo, 0); } void tmplput_MAIL_SUMM_REPLYTO(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendTemplate(Target, TP, Msg->ReplyTo, 0); } void examine_cccc(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { wcsession *WCC = WC; CheckConvertBufs(WCC); FreeStrBuf(&Msg->cccc); Msg->cccc = NewStrBufPlain(NULL, StrLength(HdrLine)); StrBuf_RFC822_2_Utf8(Msg->cccc, HdrLine, WCC->DefaultCharset, FoundCharset, WCC->ConvertBuf1, WCC->ConvertBuf2); if (Msg->AllRcpt == NULL) Msg->AllRcpt = NewStrBufPlain(NULL, StrLength(HdrLine)); if (StrLength(Msg->AllRcpt) > 0) { StrBufAppendBufPlain(Msg->AllRcpt, HKEY(", "), 0); } StrBufAppendBuf(Msg->AllRcpt, Msg->cccc, 0); } void tmplput_MAIL_SUMM_CCCC(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendTemplate(Target, TP, Msg->cccc, 0); } void examine_room(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { if ((StrLength(HdrLine) > 0) && (strcasecmp(ChrPtr(HdrLine), ChrPtr(WC->CurRoom.name)))) { FreeStrBuf(&Msg->Room); Msg->Room = NewStrBufDup(HdrLine); } } void tmplput_MAIL_SUMM_ORGROOM(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendTemplate(Target, TP, Msg->Room, 0); } void examine_rfca(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { FreeStrBuf(&Msg->Rfca); Msg->Rfca = NewStrBufDup(HdrLine); } void tmplput_MAIL_SUMM_RFCA(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendTemplate(Target, TP, Msg->Rfca, 0); } int Conditional_MAIL_SUMM_RFCA(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return StrLength(Msg->Rfca) > 0; } int Conditional_MAIL_SUMM_CCCC(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return StrLength(Msg->cccc) > 0; } int Conditional_MAIL_SUMM_REPLYTO(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return StrLength(Msg->ReplyTo) > 0; } void examine_node(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { wcsession *WCC = WC; if ( (StrLength(HdrLine) > 0) && ((WC->CurRoom.QRFlags & QR_NETWORK) || ((strcasecmp(ChrPtr(HdrLine), ChrPtr(WCC->serv_info->serv_nodename)) && (strcasecmp(ChrPtr(HdrLine), ChrPtr(WCC->serv_info->serv_fqdn))))))) { FreeStrBuf(&Msg->OtherNode); Msg->OtherNode = NewStrBufDup(HdrLine); } } void tmplput_MAIL_SUMM_OTHERNODE(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendTemplate(Target, TP, Msg->OtherNode, 0); } int Conditional_MAIL_SUMM_OTHERNODE(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return StrLength(Msg->OtherNode) > 0; } void examine_nvto(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { wcsession *WCC = WC; CheckConvertBufs(WCC); FreeStrBuf(&Msg->EnvTo); Msg->EnvTo = NewStrBufPlain(NULL, StrLength(HdrLine)); StrBuf_RFC822_2_Utf8(Msg->EnvTo, HdrLine, WCC->DefaultCharset, FoundCharset, WCC->ConvertBuf1, WCC->ConvertBuf2); } void examine_rcpt(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { wcsession *WCC = WC; CheckConvertBufs(WCC); FreeStrBuf(&Msg->to); Msg->to = NewStrBufPlain(NULL, StrLength(HdrLine)); StrBuf_RFC822_2_Utf8(Msg->to, HdrLine, WCC->DefaultCharset, FoundCharset, WCC->ConvertBuf1, WCC->ConvertBuf2); if (Msg->AllRcpt == NULL) Msg->AllRcpt = NewStrBufPlain(NULL, StrLength(HdrLine)); if (StrLength(Msg->AllRcpt) > 0) { StrBufAppendBufPlain(Msg->AllRcpt, HKEY(", "), 0); } StrBufAppendBuf(Msg->AllRcpt, Msg->to, 0); } void tmplput_MAIL_SUMM_TO(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendTemplate(Target, TP, Msg->to, 0); } int Conditional_MAIL_SUMM_TO(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return StrLength(Msg->to) != 0; } int Conditional_MAIL_SUMM_SUBJ(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return StrLength(Msg->subj) != 0; } void tmplput_MAIL_SUMM_ALLRCPT(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendTemplate(Target, TP, Msg->AllRcpt, 0); } void tmplput_SUMM_COUNT(StrBuf *Target, WCTemplputParams *TP) { StrBufAppendPrintf(Target, "%d", GetCount( WC->summ)); } HashList *iterate_get_mailsumm_All(StrBuf *Target, WCTemplputParams *TP) { return WC->summ; } void examine_time(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { Msg->date = StrTol(HdrLine); } void tmplput_MAIL_SUMM_DATE_BRIEF(StrBuf *Target, WCTemplputParams *TP) { char datebuf[64]; message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); webcit_fmt_date(datebuf, 64, Msg->date, DATEFMT_BRIEF); StrBufAppendBufPlain(Target, datebuf, -1, 0); } void tmplput_MAIL_SUMM_EUID(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendTemplate(Target, TP, Msg->euid, 0); } void tmplput_MAIL_SUMM_DATE_FULL(StrBuf *Target, WCTemplputParams *TP) { char datebuf[64]; message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); webcit_fmt_date(datebuf, 64, Msg->date, DATEFMT_FULL); StrBufAppendBufPlain(Target, datebuf, -1, 0); } void tmplput_MAIL_SUMM_DATE_NO(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendPrintf(Target, "%ld", Msg->date, 0); } void render_MAIL(StrBuf *Target, WCTemplputParams *TP, StrBuf *FoundCharset) { wc_mime_attachment *Mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); const StrBuf *TemplateMime; if (Mime->Data == NULL) Mime->Data = NewStrBufPlain(NULL, Mime->length); else FlushStrBuf(Mime->Data); read_message(Mime->Data, HKEY("view_submessage"), Mime->msgnum, Mime->PartNum, &TemplateMime); /* if ( (!IsEmptyStr(mime_submessages)) && (!section[0]) ) { for (i=0; i"); read_message(Mime->msgnum, 1, ChrPtr(Mime->Section)); wc_printf(""); } } */ } void render_MIME_VCard(StrBuf *Target, WCTemplputParams *TP, StrBuf *FoundCharset) { wc_mime_attachment *Mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); wcsession *WCC = WC; if (StrLength(Mime->Data) == 0) MimeLoadData(Mime); if (StrLength(Mime->Data) > 0) { StrBuf *Buf; Buf = NewStrBuf(); /** If it's my vCard I can edit it */ if ( (!strcasecmp(ChrPtr(WCC->CurRoom.name), USERCONFIGROOM)) || (!strcasecmp(&(ChrPtr(WCC->CurRoom.name)[11]), USERCONFIGROOM)) || (WC->CurRoom.view == VIEW_ADDRESSBOOK) ) { StrBufAppendPrintf(Buf, "
    ", Mime->msgnum, ChrPtr(Mime->PartNum)); StrBufAppendPrintf(Buf, "[%s]", _("edit")); } /* In all cases, display the full card */ display_vcard(Buf, Mime, 0, 1, NULL, -1); FreeStrBuf(&Mime->Data); Mime->Data = Buf; } } void render_MIME_ICS(StrBuf *Target, WCTemplputParams *TP, StrBuf *FoundCharset) { wc_mime_attachment *Mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); if (StrLength(Mime->Data) == 0) { MimeLoadData(Mime); } if (StrLength(Mime->Data) > 0) { cal_process_attachment(Mime); } } void examine_mime_part(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { const char *Ptr = NULL; wc_mime_attachment *Mime; StrBuf *Buf; wcsession *WCC = WC; CheckConvertBufs(WCC); Mime = (wc_mime_attachment*) malloc(sizeof(wc_mime_attachment)); memset(Mime, 0, sizeof(wc_mime_attachment)); Mime->msgnum = Msg->msgnum; Buf = NewStrBuf(); Mime->Name = NewStrBuf(); StrBufExtract_NextToken(Buf, HdrLine, &Ptr, '|'); StrBuf_RFC822_2_Utf8(Mime->Name, Buf, WCC->DefaultCharset, FoundCharset, WCC->ConvertBuf1, WCC->ConvertBuf2); StrBufTrim(Mime->Name); StrBufExtract_NextToken(Buf, HdrLine, &Ptr, '|'); Mime->FileName = NewStrBuf(); StrBuf_RFC822_2_Utf8(Mime->FileName, Buf, WCC->DefaultCharset, FoundCharset, WCC->ConvertBuf1, WCC->ConvertBuf2); StrBufTrim(Mime->FileName); Mime->PartNum = NewStrBuf(); StrBufExtract_NextToken(Mime->PartNum, HdrLine, &Ptr, '|'); StrBufTrim(Mime->PartNum); if (strchr(ChrPtr(Mime->PartNum), '.') != NULL) Mime->level = 2; else Mime->level = 1; Mime->Disposition = NewStrBuf(); StrBufExtract_NextToken(Mime->Disposition, HdrLine, &Ptr, '|'); Mime->ContentType = NewStrBuf(); StrBufExtract_NextToken(Mime->ContentType, HdrLine, &Ptr, '|'); StrBufTrim(Mime->ContentType); StrBufLowerCase(Mime->ContentType); if (!strcmp(ChrPtr(Mime->ContentType), "application/octet-stream")) { StrBufPlain(Mime->ContentType, GuessMimeByFilename(SKEY(Mime->FileName)), -1); } Mime->length = StrBufExtractNext_int(HdrLine, &Ptr, '|'); StrBufSkip_NTokenS(HdrLine, &Ptr, '|', 1); /* cbid?? */ Mime->Charset = NewStrBuf(); StrBufExtract_NextToken(Mime->Charset, HdrLine, &Ptr, '|'); if ( (StrLength(Mime->FileName) == 0) && (StrLength(Mime->Name) > 0) ) { StrBufAppendBuf(Mime->FileName, Mime->Name, 0); } if (StrLength(Msg->PartNum) > 0) { StrBuf *tmp; StrBufPrintf(Buf, "%s.%s", ChrPtr(Msg->PartNum), ChrPtr(Mime->PartNum)); tmp = Mime->PartNum; Mime->PartNum = Buf; Buf = tmp; } if (Msg->AllAttach == NULL) Msg->AllAttach = NewHash(1,NULL); Put(Msg->AllAttach, SKEY(Mime->PartNum), Mime, DestroyMime); FreeStrBuf(&Buf); } void evaluate_mime_part(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); wc_mime_attachment *Mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); void *vMimeRenderer; /* just print the root-node */ if ((Mime->level >= 1) && GetHash(MimeRenderHandler, SKEY(Mime->ContentType), &vMimeRenderer) && vMimeRenderer != NULL) { Mime->Renderer = (RenderMimeFuncStruct*) vMimeRenderer; if (Msg->Submessages == NULL) Msg->Submessages = NewHash(1,NULL); Put(Msg->Submessages, SKEY(Mime->PartNum), Mime, reference_free_handler); } else if ((Mime->level >= 1) && (!strcasecmp(ChrPtr(Mime->Disposition), "inline")) && (!strncasecmp(ChrPtr(Mime->ContentType), "image/", 6)) ){ if (Msg->AttachLinks == NULL) Msg->AttachLinks = NewHash(1,NULL); Put(Msg->AttachLinks, SKEY(Mime->PartNum), Mime, reference_free_handler); } else if ((Mime->level >= 1) && (StrLength(Mime->ContentType) > 0) && ( (!strcasecmp(ChrPtr(Mime->Disposition), "attachment")) || (!strcasecmp(ChrPtr(Mime->Disposition), "inline")) || (!strcasecmp(ChrPtr(Mime->Disposition), "")))) { if (Msg->AttachLinks == NULL) Msg->AttachLinks = NewHash(1,NULL); Put(Msg->AttachLinks, SKEY(Mime->PartNum), Mime, reference_free_handler); if ((strcasecmp(ChrPtr(Mime->ContentType), "application/octet-stream") == 0) && (StrLength(Mime->FileName) > 0)) { FlushStrBuf(Mime->ContentType); StrBufAppendBufPlain(Mime->ContentType, GuessMimeByFilename(SKEY(Mime->FileName)), -1, 0); } } } void tmplput_MAIL_SUMM_NATTACH(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendPrintf(Target, "%ld", GetCount(Msg->Attachments)); } void examine_hnod(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { wcsession *WCC = WC; CheckConvertBufs(WCC); FreeStrBuf(&Msg->hnod); Msg->hnod = NewStrBufPlain(NULL, StrLength(HdrLine)); StrBuf_RFC822_2_Utf8(Msg->hnod, HdrLine, WCC->DefaultCharset, FoundCharset, WCC->ConvertBuf1, WCC->ConvertBuf2); } void tmplput_MAIL_SUMM_H_NODE(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendTemplate(Target, TP, Msg->hnod, 0); } int Conditional_MAIL_SUMM_H_NODE(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return StrLength(Msg->hnod) > 0; } void examine_text(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { if (Msg->MsgBody->Data == NULL) Msg->MsgBody->Data = NewStrBufPlain(NULL, SIZ); else FlushStrBuf(Msg->MsgBody->Data); } void examine_msg4_partnum(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { Msg->MsgBody->PartNum = NewStrBufDup(HdrLine); StrBufTrim(Msg->MsgBody->PartNum); } void examine_content_lengh(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { Msg->MsgBody->length = StrTol(HdrLine); Msg->MsgBody->size_known = 1; } void examine_content_type(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { void *vHdr; headereval *Hdr; StrBuf *Token; StrBuf *Value; const char* sem; const char *eq; int len; StrBufTrim(HdrLine); Msg->MsgBody->ContentType = NewStrBufDup(HdrLine); sem = strchr(ChrPtr(HdrLine), ';'); if (sem != NULL) { Token = NewStrBufPlain(NULL, StrLength(HdrLine)); Value = NewStrBufPlain(NULL, StrLength(HdrLine)); len = sem - ChrPtr(HdrLine); StrBufCutAt(Msg->MsgBody->ContentType, len, NULL); while (sem != NULL) { while (isspace(*(sem + 1))) sem ++; StrBufCutLeft(HdrLine, sem - ChrPtr(HdrLine)); sem = strchr(ChrPtr(HdrLine), ';'); if (sem != NULL) len = sem - ChrPtr(HdrLine); else len = StrLength(HdrLine); FlushStrBuf(Token); FlushStrBuf(Value); StrBufAppendBufPlain(Token, ChrPtr(HdrLine), len, 0); eq = strchr(ChrPtr(Token), '='); if (eq != NULL) { len = eq - ChrPtr(Token); StrBufAppendBufPlain(Value, eq + 1, StrLength(Token) - len - 1, 0); StrBufCutAt(Token, len, NULL); StrBufTrim(Value); } StrBufTrim(Token); if (GetHash(MsgHeaderHandler, SKEY(Token), &vHdr) && (vHdr != NULL)) { Hdr = (headereval*)vHdr; Hdr->evaluator(Msg, Value, FoundCharset); } else syslog(LOG_WARNING, "don't know how to handle content type sub-header[%s]\n", ChrPtr(Token)); } FreeStrBuf(&Token); FreeStrBuf(&Value); } } int ReadOneMessageSummary(message_summary *Msg, StrBuf *FoundCharset, StrBuf *Buf) { void *vHdr; headereval *Hdr; const char *buf; const char *ebuf; int nBuf; long len; serv_printf("MSG0 %ld|1", Msg->msgnum); /* ask for headers only */ StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) != 1) { return 0; } while (len = StrBuf_ServGetln(Buf), (len >= 0) && ((len != 3) || strcmp(ChrPtr(Buf), "000"))) { buf = ChrPtr(Buf); ebuf = strchr(ChrPtr(Buf), '='); nBuf = ebuf - buf; if (GetHash(MsgHeaderHandler, buf, nBuf, &vHdr) && (vHdr != NULL)) { Hdr = (headereval*)vHdr; StrBufCutLeft(Buf, nBuf + 1); Hdr->evaluator(Msg, Buf, FoundCharset); } else syslog(LOG_INFO, "Don't know how to handle Message Headerline [%s]", ChrPtr(Buf)); } return 1; } void tmplput_MAIL_SUMM_N(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendPrintf(Target, "%ld", Msg->msgnum); } void tmplput_MAIL_SUMM_PERMALINK(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBuf *perma_link; const StrBuf *View; perma_link = NewStrBufPlain(HKEY("/readfwd?go=")); StrBufUrlescAppend(perma_link, WC->CurRoom.name, NULL); View = SBSTR("view"); if (View != NULL) { StrBufAppendBufPlain(perma_link, HKEY("?view="), 0); StrBufAppendBuf(perma_link, View, 0); } StrBufAppendBufPlain(perma_link, HKEY("?start_reading_at="), 0); StrBufAppendPrintf(perma_link, "%ld#%ld", Msg->msgnum, Msg->msgnum); StrBufAppendBuf(Target, perma_link, 0); FreeStrBuf(&perma_link); } int Conditional_MAIL_MIME_ALL(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return GetCount(Msg->Attachments) > 0; } int Conditional_MAIL_MIME_SUBMESSAGES(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return GetCount(Msg->Submessages) > 0; } int Conditional_MAIL_MIME_ATTACHLINKS(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return GetCount(Msg->AttachLinks) > 0; } int Conditional_MAIL_MIME_ATTACH(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return GetCount(Msg->AllAttach) > 0; } void tmplput_QUOTED_MAIL_BODY(StrBuf *Target, WCTemplputParams *TP) { const StrBuf *Mime; long MsgNum; StrBuf *Buf; MsgNum = LBstr(TKEY(0)); Buf = NewStrBuf(); read_message(Buf, HKEY("view_message_replyquote"), MsgNum, NULL, &Mime); StrBufAppendTemplate(Target, TP, Buf, 1); FreeStrBuf(&Buf); } void tmplput_EDIT_MAIL_BODY(StrBuf *Target, WCTemplputParams *TP) { const StrBuf *Mime; long MsgNum; StrBuf *Buf; MsgNum = LBstr(TKEY(0)); Buf = NewStrBuf(); read_message(Buf, HKEY("view_message_edit"), MsgNum, NULL, &Mime); StrBufAppendTemplate(Target, TP, Buf, 1); FreeStrBuf(&Buf); } void tmplput_EDIT_WIKI_BODY(StrBuf *Target, WCTemplputParams *TP) { const StrBuf *Mime; long msgnum; StrBuf *Buf; /* Insert the existing content of the wiki page into the editor. But we only want * to do this the first time -- if the user is uploading an attachment we don't want * to do it again. */ if (!havebstr("attach_button")) { char *wikipage = strdup(bstr("page")); putbstr("format", NewStrBufPlain(HKEY("plain"))); str_wiki_index(wikipage); msgnum = locate_message_by_uid(wikipage); free(wikipage); if (msgnum >= 0L) { Buf = NewStrBuf(); read_message(Buf, HKEY("view_message_wikiedit"), msgnum, NULL, &Mime); StrBufAppendTemplate(Target, TP, Buf, 1); FreeStrBuf(&Buf); } } } void tmplput_MAIL_BODY(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); StrBufAppendTemplate(Target, TP, Msg->MsgBody->Data, 0); } void render_MAIL_variformat(StrBuf *Target, WCTemplputParams *TP, StrBuf *FoundCharset) { /* Messages in legacy Citadel variformat get handled thusly... */ wc_mime_attachment *Mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); StrBuf *TTarget = NewStrBufPlain(NULL, StrLength(Mime->Data)); FmOut(TTarget, "JUSTIFY", Mime->Data); FreeStrBuf(&Mime->Data); Mime->Data = TTarget; } void render_MAIL_text_plain(StrBuf *Target, WCTemplputParams *TP, StrBuf *FoundCharset) { wc_mime_attachment *Mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); const char *ptr, *pte; const char *BufPtr = NULL; StrBuf *Line; StrBuf *Line1; StrBuf *Line2; StrBuf *TTarget; long Linecount; long nEmptyLines; int bn = 0; int bq = 0; int i; long len; #ifdef HAVE_ICONV StrBuf *cs = NULL; int ConvertIt = 1; iconv_t ic = (iconv_t)(-1) ; #endif if ((StrLength(Mime->Data) == 0) && (Mime->length > 0)) { FreeStrBuf(&Mime->Data); MimeLoadData(Mime); } #ifdef HAVE_ICONV if (ConvertIt) { if (StrLength(Mime->Charset) != 0) cs = Mime->Charset; else if (StrLength(FoundCharset) > 0) cs = FoundCharset; else if (StrLength(WC->DefaultCharset) > 0) cs = WC->DefaultCharset; if (cs == NULL) { ConvertIt = 0; } else if (!strcasecmp(ChrPtr(cs), "utf-8")) { ConvertIt = 0; } else if (!strcasecmp(ChrPtr(cs), "us-ascii")) { ConvertIt = 0; } else { ctdl_iconv_open("UTF-8", ChrPtr(cs), &ic); if (ic == (iconv_t)(-1) ) { syslog(LOG_WARNING, "%s:%d iconv_open(UTF-8, %s) failed: %s\n", __FILE__, __LINE__, ChrPtr(Mime->Charset), strerror(errno)); } } } #endif Line = NewStrBufPlain(NULL, SIZ); Line1 = NewStrBufPlain(NULL, SIZ); Line2 = NewStrBufPlain(NULL, SIZ); TTarget = NewStrBufPlain(NULL, StrLength(Mime->Data)); Linecount = 0; nEmptyLines = 0; if (StrLength(Mime->Data) > 0) do { StrBufSipLine(Line, Mime->Data, &BufPtr); bq = 0; i = 0; ptr = ChrPtr(Line); len = StrLength(Line); pte = ptr + len; while ((ptr < pte) && ((*ptr == '>') || isspace(*ptr))) { if (*ptr == '>') bq++; ptr ++; i++; } if (i > 0) StrBufCutLeft(Line, i); if (StrLength(Line) == 0) { if (Linecount == 0) continue; StrBufAppendBufPlain(TTarget, HKEY("
    \n"), 0); nEmptyLines ++; continue; } nEmptyLines = 0; for (i = bn; i < bq; i++) StrBufAppendBufPlain(TTarget, HKEY("
    "), 0); for (i = bq; i < bn; i++) StrBufAppendBufPlain(TTarget, HKEY("
    "), 0); #ifdef HAVE_ICONV if (ConvertIt) { StrBufConvert(Line, Line1, &ic); } #endif StrBufAppendBufPlain(TTarget, HKEY(""), 0); UrlizeText(Line1, Line, Line2); StrEscAppend(TTarget, Line1, NULL, 0, 0); StrBufAppendBufPlain(TTarget, HKEY("
    \n"), 0); bn = bq; Linecount ++; } while ((BufPtr != StrBufNOTNULL) && (BufPtr != NULL)); if (nEmptyLines > 0) StrBufCutRight(TTarget, nEmptyLines * (sizeof ("
    \n") - 1)); for (i = 0; i < bn; i++) StrBufAppendBufPlain(TTarget, HKEY(""), 0); StrBufAppendBufPlain(TTarget, HKEY("
    "), 0); #ifdef HAVE_ICONV if (ic != (iconv_t)(-1) ) { iconv_close(ic); } #endif FreeStrBuf(&Mime->Data); Mime->Data = TTarget; FlushStrBuf(Mime->ContentType); StrBufAppendBufPlain(Mime->ContentType, HKEY("text/html"), 0); FlushStrBuf(Mime->Charset); StrBufAppendBufPlain(Mime->Charset, HKEY("UTF-8"), 0); FreeStrBuf(&Line); FreeStrBuf(&Line1); FreeStrBuf(&Line2); } void render_MAIL_html(StrBuf *Target, WCTemplputParams *TP, StrBuf *FoundCharset) { wc_mime_attachment *Mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); StrBuf *Buf; if (StrLength(Mime->Data) == 0) return; Buf = NewStrBufPlain(NULL, StrLength(Mime->Data)); /* HTML is fun, but we've got to strip it first */ output_html(ChrPtr(Mime->Charset), (WC->CurRoom.view == VIEW_WIKI ? 1 : 0), Mime->msgnum, Mime->Data, Buf); FreeStrBuf(&Mime->Data); Mime->Data = Buf; } #ifdef HAVE_MARKDOWN /* char * MarkdownHandleURL(const char* SourceURL, const int len, void* something) { } */ void render_MAIL_markdown(StrBuf *Target, WCTemplputParams *TP, StrBuf *FoundCharset) { #include wc_mime_attachment *Mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); MMIOT *doc; char *md_as_html = NULL; const char *format; if (StrLength(Mime->Data) == 0) return; format = bstr("format"); if ((format == NULL) || strcmp(format, "plain")) { doc = mkd_string(ChrPtr(Mime->Data), StrLength(Mime->Data), 0); mkd_basename(doc, "/wiki?page="); mkd_compile(doc, 0); if (mkd_document(doc, &md_as_html) != EOF) { FreeStrBuf(&Mime->Data); Mime->Data = NewStrBufPlain(md_as_html, -1); } mkd_cleanup(doc); } } #endif void render_MAIL_UNKNOWN(StrBuf *Target, WCTemplputParams *TP, StrBuf *FoundCharset) { wc_mime_attachment *Mime = (wc_mime_attachment *) CTX(CTX_MIME_ATACH); /* Unknown weirdness */ FlushStrBuf(Mime->Data); StrBufAppendBufPlain(Mime->Data, _("I don't know how to display "), -1, 0); StrBufAppendBuf(Mime->Data, Mime->ContentType, 0); StrBufAppendBufPlain(Mime->Data, HKEY("
    \n"), 0); } HashList *iterate_get_mime_All(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return Msg->Attachments; } HashList *iterate_get_mime_Submessages(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return Msg->Submessages; } HashList *iterate_get_mime_AttachLinks(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return Msg->AttachLinks; } HashList *iterate_get_mime_Attachments(StrBuf *Target, WCTemplputParams *TP) { message_summary *Msg = (message_summary*) CTX(CTX_MAILSUM); return Msg->AllAttach; } void tmplput_MIME_Name(StrBuf *Target, WCTemplputParams *TP) { wc_mime_attachment *mime = (wc_mime_attachment*) CTX(CTX_MIME_ATACH); StrBufAppendTemplate(Target, TP, mime->Name, 0); } void tmplput_MIME_FileName(StrBuf *Target, WCTemplputParams *TP) { wc_mime_attachment *mime = (wc_mime_attachment*) CTX(CTX_MIME_ATACH); StrBufAppendTemplate(Target, TP, mime->FileName, 0); } void tmplput_MIME_PartNum(StrBuf *Target, WCTemplputParams *TP) { wc_mime_attachment *mime = (wc_mime_attachment*) CTX(CTX_MIME_ATACH); StrBufAppendTemplate(Target, TP, mime->PartNum, 0); } void tmplput_MIME_MsgNum(StrBuf *Target, WCTemplputParams *TP) { wc_mime_attachment *mime = (wc_mime_attachment*) CTX(CTX_MIME_ATACH); StrBufAppendPrintf(Target, "%ld", mime->msgnum); } void tmplput_MIME_Disposition(StrBuf *Target, WCTemplputParams *TP) { wc_mime_attachment *mime = (wc_mime_attachment*) CTX(CTX_MIME_ATACH); StrBufAppendTemplate(Target, TP, mime->Disposition, 0); } void tmplput_MIME_ContentType(StrBuf *Target, WCTemplputParams *TP) { wc_mime_attachment *mime = (wc_mime_attachment*) CTX(CTX_MIME_ATACH); StrBufAppendTemplate(Target, TP, mime->ContentType, 0); } void examine_charset(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset) { Msg->MsgBody->Charset = NewStrBufDup(HdrLine); } void tmplput_MIME_Charset(StrBuf *Target, WCTemplputParams *TP) { wc_mime_attachment *mime = (wc_mime_attachment*) CTX(CTX_MIME_ATACH); StrBufAppendTemplate(Target, TP, mime->Charset, 0); } void tmplput_MIME_Data(StrBuf *Target, WCTemplputParams *TP) { wc_mime_attachment *mime = (wc_mime_attachment*) CTX(CTX_MIME_ATACH); if (mime->Renderer != NULL) mime->Renderer->f(Target, TP, NULL); StrBufAppendTemplate(Target, TP, mime->Data, 0); /* TODO: check whether we need to load it now? */ } void tmplput_MIME_LoadData(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; wc_mime_attachment *mime = (wc_mime_attachment*) CTX(CTX_MIME_ATACH); wc_mime_attachment *att; if (( (!strcasecmp(ChrPtr(mime->Disposition), "inline"))|| (!strcasecmp(ChrPtr(mime->Disposition), "attachment"))) && (strcasecmp(ChrPtr(mime->ContentType), "application/ms-tnef")!=0)) { int n; char N[64]; /* steal this mime part... */ att = malloc(sizeof(wc_mime_attachment)); memcpy(att, mime, sizeof(wc_mime_attachment)); memset(mime, 0, sizeof(wc_mime_attachment)); if (att->Data == NULL) MimeLoadData(att); if (WCC->attachments == NULL) WCC->attachments = NewHash(1, NULL); /* And add it to the list. */ n = snprintf(N, sizeof N, "%d", GetCount(WCC->attachments) + 1); Put(WCC->attachments, N, n, att, DestroyMime); } } void tmplput_MIME_Length(StrBuf *Target, WCTemplputParams *TP) { wc_mime_attachment *mime = (wc_mime_attachment*) CTX(CTX_MIME_ATACH); StrBufAppendPrintf(Target, "%ld", mime->length); } HashList *iterate_get_registered_Attachments(StrBuf *Target, WCTemplputParams *TP) { return WC->attachments; } void get_registered_Attachments_Count(StrBuf *Target, WCTemplputParams *TP) { StrBufAppendPrintf(Target, "%ld", GetCount (WC->attachments)); } void servcmd_do_search(char *buf, long bufsize) { snprintf(buf, bufsize, "MSGS SEARCH|%s", bstr("query")); } void servcmd_headers(char *buf, long bufsize) { snprintf(buf, bufsize, "MSGS ALL"); } void servcmd_readfwd(char *buf, long bufsize) { snprintf(buf, bufsize, "MSGS ALL"); } void servcmd_readgt(char *buf, long bufsize) { snprintf(buf, bufsize, "MSGS GT|%s", bstr("gt")); } void servcmd_readlt(char *buf, long bufsize) { snprintf(buf, bufsize, "MSGS LT|%s", bstr("lt")); } void servcmd_readnew(char *buf, long bufsize) { snprintf(buf, bufsize, "MSGS NEW"); } void servcmd_readold(char *buf, long bufsize) { snprintf(buf, bufsize, "MSGS OLD"); } /* DO NOT REORDER OR REMOVE ANY OF THESE */ readloop_struct rlid[] = { { {HKEY("do_search")}, servcmd_do_search }, { {HKEY("headers")}, servcmd_headers }, { {HKEY("readfwd")}, servcmd_readfwd }, { {HKEY("readnew")}, servcmd_readnew }, { {HKEY("readold")}, servcmd_readold }, { {HKEY("readgt")}, servcmd_readgt }, { {HKEY("readlt")}, servcmd_readlt } }; int ParseMessageListHeaders_Detail(StrBuf *Line, const char **pos, message_summary *Msg, StrBuf *ConversionBuffer) { wcsession *WCC = WC; long len; long totallen; CheckConvertBufs(WCC); totallen = StrLength(Line); Msg->from = NewStrBufPlain(NULL, totallen); len = StrBufExtract_NextToken(ConversionBuffer, Line, pos, '|'); if (len > 0) { /* Handle senders with RFC2047 encoding */ StrBuf_RFC822_2_Utf8(Msg->from, ConversionBuffer, WCC->DefaultCharset, NULL, WCC->ConvertBuf1, WCC->ConvertBuf2); } /* node name */ len = StrBufExtract_NextToken(ConversionBuffer, Line, pos, '|'); if ((len > 0 ) && ( ((WCC->CurRoom.QRFlags & QR_NETWORK) || ((strcasecmp(ChrPtr(ConversionBuffer), ChrPtr(WCC->serv_info->serv_nodename)) && (strcasecmp(ChrPtr(ConversionBuffer), ChrPtr(WCC->serv_info->serv_fqdn)))))))) { StrBufAppendBufPlain(Msg->from, HKEY(" @ "), 0); StrBufAppendBuf(Msg->from, ConversionBuffer, 0); } /* Internet address (not used) * StrBufExtract_token(Msg->inetaddr, Line, 4, '|'); */ StrBufSkip_NTokenS(Line, pos, '|', 1); Msg->subj = NewStrBufPlain(NULL, totallen); FlushStrBuf(ConversionBuffer); /* we assume the subject is the last parameter inside of the list; * thus we don't use the tokenizer to fetch it, since it will hick up * on tokenizer chars inside of the subjects StrBufExtract_NextToken(ConversionBuffer, Line, pos, '|'); */ len = 0; if (*pos != StrBufNOTNULL) { len = totallen - (*pos - ChrPtr(Line)); StrBufPlain(ConversionBuffer, *pos, len); *pos = StrBufNOTNULL; if ((len > 0) && (*(ChrPtr(ConversionBuffer) + len - 1) == '|')) StrBufCutRight(ConversionBuffer, 1); } if (len == 0) StrBufAppendBufPlain(Msg->subj, _("(no subject)"), -1,0); else { StrBuf_RFC822_2_Utf8(Msg->subj, ConversionBuffer, WCC->DefaultCharset, NULL, WCC->ConvertBuf1, WCC->ConvertBuf2); } return 1; } int mailview_GetParamsGetServerCall(SharedMessageStatus *Stat, void **ViewSpecific, long oper, char *cmd, long len, char *filter, long flen) { DoTemplate(HKEY("msg_listview"),NULL,&NoCtx); return 200; } int mailview_Cleanup(void **ViewSpecific) { /* Note: wDumpContent() will output one additional
    tag. */ /* We ought to move this out into template */ wDumpContent(1); return 0; } int json_GetParamsGetServerCall(SharedMessageStatus *Stat, void **ViewSpecific, long oper, char *cmd, long len, char *filter, long flen) { Stat->defaultsortorder = 2; Stat->sortit = 1; Stat->load_seen = 1; /* Generally using maxmsgs|startmsg is not required in mailbox view, but we have a 'safemode' for clients (*cough* Exploder) that simply can't handle too many */ if (havebstr("maxmsgs")) Stat->maxmsgs = ibstr("maxmsgs"); else Stat->maxmsgs = 9999999; if (havebstr("startmsg")) Stat->startmsg = lbstr("startmsg"); snprintf(cmd, len, "MSGS %s|%s||1", (oper == do_search) ? "SEARCH" : "ALL", (oper == do_search) ? bstr("query") : "" ); return 200; } int json_MessageListHdr(SharedMessageStatus *Stat, void **ViewSpecific) { /* TODO: make a generic function */ hprintf("HTTP/1.1 200 OK\r\n"); hprintf("Content-type: application/json; charset=utf-8\r\n"); hprintf("Server: %s / %s\r\n", PACKAGE_STRING, ChrPtr(WC->serv_info->serv_software)); hprintf("Connection: close\r\n"); hprintf("Pragma: no-cache\r\nCache-Control: no-store\r\nExpires:-1\r\n"); begin_burst(); return 0; } int json_RenderView_or_Tail(SharedMessageStatus *Stat, void **ViewSpecific, long oper) { DoTemplate(HKEY("mailsummary_json"),NULL, NULL); return 0; } int json_Cleanup(void **ViewSpecific) { /* Note: wDumpContent() will output one additional tag. */ /* We ought to move this out into template */ end_burst(); return 0; } void InitModule_MSGRENDERERS (void) { RegisterCTX(CTX_MAILSUM); RegisterCTX(CTX_MIME_ATACH); RegisterReadLoopHandlerset( VIEW_MAILBOX, mailview_GetParamsGetServerCall, NULL, /* TODO: is this right? */ NULL, ParseMessageListHeaders_Detail, NULL, NULL, mailview_Cleanup); RegisterReadLoopHandlerset( VIEW_JSON_LIST, json_GetParamsGetServerCall, json_MessageListHdr, NULL, /* TODO: is this right? */ ParseMessageListHeaders_Detail, NULL, json_RenderView_or_Tail, json_Cleanup); RegisterSortFunc(HKEY("date"), NULL, 0, summcmp_date, summcmp_rdate, groupchange_date, CTX_MAILSUM); RegisterSortFunc(HKEY("subject"), NULL, 0, summcmp_subj, summcmp_rsubj, groupchange_subj, CTX_MAILSUM); RegisterSortFunc(HKEY("sender"), NULL, 0, summcmp_sender, summcmp_rsender, groupchange_sender, CTX_MAILSUM); RegisterNamespace("SUMM:COUNT", 0, 0, tmplput_SUMM_COUNT, NULL, CTX_NONE); /* iterate over all known mails in WC->summ */ RegisterIterator("MAIL:SUMM:MSGS", 0, NULL, iterate_get_mailsumm_All, NULL,NULL, CTX_MAILSUM, CTX_NONE, IT_NOFLAG); RegisterNamespace("MAIL:SUMM:EUID", 0, 1, tmplput_MAIL_SUMM_EUID, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:SUMM:DATEBRIEF", 0, 0, tmplput_MAIL_SUMM_DATE_BRIEF, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:SUMM:DATEFULL", 0, 0, tmplput_MAIL_SUMM_DATE_FULL, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:SUMM:DATENO", 0, 0, tmplput_MAIL_SUMM_DATE_NO, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:SUMM:N", 0, 0, tmplput_MAIL_SUMM_N, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:SUMM:PERMALINK", 0, 0, tmplput_MAIL_SUMM_PERMALINK, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:SUMM:FROM", 0, 2, tmplput_MAIL_SUMM_FROM, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:SUMM:TO", 0, 2, tmplput_MAIL_SUMM_TO, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:SUMM:SUBJECT", 0, 4, tmplput_MAIL_SUMM_SUBJECT, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:SUMM:NTATACH", 0, 0, tmplput_MAIL_SUMM_NATTACH, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:SUMM:CCCC", 0, 2, tmplput_MAIL_SUMM_CCCC, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:SUMM:REPLYTO", 0, 2, tmplput_MAIL_SUMM_REPLYTO, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:SUMM:H_NODE", 0, 2, tmplput_MAIL_SUMM_H_NODE, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:SUMM:ALLRCPT", 0, 2, tmplput_MAIL_SUMM_ALLRCPT, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:SUMM:ORGROOM", 0, 2, tmplput_MAIL_SUMM_ORGROOM, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:SUMM:RFCA", 0, 2, tmplput_MAIL_SUMM_RFCA, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:SUMM:OTHERNODE", 2, 0, tmplput_MAIL_SUMM_OTHERNODE, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:SUMM:REFIDS", 0, 1, tmplput_MAIL_SUMM_REFIDS, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:SUMM:INREPLYTO", 0, 2, tmplput_MAIL_SUMM_INREPLYTO, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:BODY", 0, 2, tmplput_MAIL_BODY, NULL, CTX_MAILSUM); RegisterNamespace("MAIL:QUOTETEXT", 1, 2, tmplput_QUOTED_MAIL_BODY, NULL, CTX_NONE); RegisterNamespace("MAIL:EDITTEXT", 1, 2, tmplput_EDIT_MAIL_BODY, NULL, CTX_NONE); RegisterNamespace("MAIL:EDITWIKI", 1, 2, tmplput_EDIT_WIKI_BODY, NULL, CTX_NONE); RegisterConditional("COND:MAIL:SUMM:RFCA", 0, Conditional_MAIL_SUMM_RFCA, CTX_MAILSUM); RegisterConditional("COND:MAIL:SUMM:CCCC", 0, Conditional_MAIL_SUMM_CCCC, CTX_MAILSUM); RegisterConditional("COND:MAIL:SUMM:REPLYTO", 0, Conditional_MAIL_SUMM_REPLYTO, CTX_MAILSUM); RegisterConditional("COND:MAIL:SUMM:UNREAD", 0, Conditional_MAIL_SUMM_UNREAD, CTX_MAILSUM); RegisterConditional("COND:MAIL:SUMM:H_NODE", 0, Conditional_MAIL_SUMM_H_NODE, CTX_MAILSUM); RegisterConditional("COND:MAIL:SUMM:OTHERNODE", 0, Conditional_MAIL_SUMM_OTHERNODE, CTX_MAILSUM); RegisterConditional("COND:MAIL:SUMM:SUBJECT", 0, Conditional_MAIL_SUMM_SUBJECT, CTX_MAILSUM); RegisterConditional("COND:MAIL:ANON", 0, Conditional_ANONYMOUS_MESSAGE, CTX_MAILSUM); RegisterConditional("COND:MAIL:TO", 0, Conditional_MAIL_SUMM_TO, CTX_MAILSUM); RegisterConditional("COND:MAIL:SUBJ", 0, Conditional_MAIL_SUMM_SUBJ, CTX_MAILSUM); /* do we have mimetypes to iterate over? */ RegisterConditional("COND:MAIL:MIME:ATTACH", 0, Conditional_MAIL_MIME_ALL, CTX_MAILSUM); RegisterConditional("COND:MAIL:MIME:ATTACH:SUBMESSAGES", 0, Conditional_MAIL_MIME_SUBMESSAGES, CTX_MAILSUM); RegisterConditional("COND:MAIL:MIME:ATTACH:LINKS", 0, Conditional_MAIL_MIME_ATTACHLINKS, CTX_MAILSUM); RegisterConditional("COND:MAIL:MIME:ATTACH:ATT", 0, Conditional_MAIL_MIME_ATTACH, CTX_MAILSUM); RegisterIterator("MAIL:MIME:ATTACH", 0, NULL, iterate_get_mime_All, NULL, NULL, CTX_MIME_ATACH, CTX_MAILSUM, IT_NOFLAG); RegisterIterator("MAIL:MIME:ATTACH:SUBMESSAGES", 0, NULL, iterate_get_mime_Submessages, NULL, NULL, CTX_MIME_ATACH, CTX_MAILSUM, IT_NOFLAG); RegisterIterator("MAIL:MIME:ATTACH:LINKS", 0, NULL, iterate_get_mime_AttachLinks, NULL, NULL, CTX_MIME_ATACH, CTX_MAILSUM, IT_NOFLAG); RegisterIterator("MAIL:MIME:ATTACH:ATT", 0, NULL, iterate_get_mime_Attachments, NULL, NULL, CTX_MIME_ATACH, CTX_MAILSUM, IT_NOFLAG); /* Parts of a mime attachent */ RegisterNamespace("MAIL:MIME:NAME", 0, 2, tmplput_MIME_Name, NULL, CTX_MIME_ATACH); RegisterNamespace("MAIL:MIME:FILENAME", 0, 2, tmplput_MIME_FileName, NULL, CTX_MIME_ATACH); RegisterNamespace("MAIL:MIME:PARTNUM", 0, 2, tmplput_MIME_PartNum, NULL, CTX_MIME_ATACH); RegisterNamespace("MAIL:MIME:MSGNUM", 0, 2, tmplput_MIME_MsgNum, NULL, CTX_MIME_ATACH); RegisterNamespace("MAIL:MIME:DISPOSITION", 0, 2, tmplput_MIME_Disposition, NULL, CTX_MIME_ATACH); RegisterNamespace("MAIL:MIME:CONTENTTYPE", 0, 2, tmplput_MIME_ContentType, NULL, CTX_MIME_ATACH); RegisterNamespace("MAIL:MIME:CHARSET", 0, 2, tmplput_MIME_Charset, NULL, CTX_MIME_ATACH); RegisterNamespace("MAIL:MIME:LENGTH", 0, 2, tmplput_MIME_Length, NULL, CTX_MIME_ATACH); RegisterNamespace("MAIL:MIME:DATA", 0, 2, tmplput_MIME_Data, NULL, CTX_MIME_ATACH); /* load the actual attachment into WC->attachments; no output!!! */ RegisterNamespace("MAIL:MIME:LOADDATA", 0, 0, tmplput_MIME_LoadData, NULL, CTX_MIME_ATACH); /* iterate the WC->attachments; use the above tokens for their contents */ RegisterIterator("MSG:ATTACHNAMES", 0, NULL, iterate_get_registered_Attachments, NULL, NULL, CTX_MIME_ATACH, CTX_NONE, IT_NOFLAG); RegisterNamespace("MSG:NATTACH", 0, 0, get_registered_Attachments_Count, NULL, CTX_NONE); /* mime renderers translate an attachment into webcit viewable html text */ RegisterMimeRenderer(HKEY("message/rfc822"), render_MAIL, 0, 150); RegisterMimeRenderer(HKEY("text/x-vcard"), render_MIME_VCard, 1, 201); RegisterMimeRenderer(HKEY("text/vcard"), render_MIME_VCard, 1, 200); //* RegisterMimeRenderer(HKEY("text/calendar"), render_MIME_ICS, 1, 501); RegisterMimeRenderer(HKEY("application/ics"), render_MIME_ICS, 1, 500); //*/ RegisterMimeRenderer(HKEY("text/x-citadel-variformat"), render_MAIL_variformat, 1, 2); RegisterMimeRenderer(HKEY("text/plain"), render_MAIL_text_plain, 1, 3); RegisterMimeRenderer(HKEY("text"), render_MAIL_text_plain, 1, 1); RegisterMimeRenderer(HKEY("text/html"), render_MAIL_html, 1, 100); #ifdef HAVE_MARKDOWN RegisterMimeRenderer(HKEY("text/x-markdown"), render_MAIL_markdown, 1, 30); #endif RegisterMimeRenderer(HKEY(""), render_MAIL_UNKNOWN, 0, 0); /* these headers are citserver replies to MSG4 and friends. one evaluator for each */ RegisterMsgHdr(HKEY("nhdr"), examine_nhdr, 0); RegisterMsgHdr(HKEY("type"), examine_type, 0); RegisterMsgHdr(HKEY("from"), examine_from, 0); RegisterMsgHdr(HKEY("subj"), examine_subj, 0); RegisterMsgHdr(HKEY("msgn"), examine_msgn, 0); RegisterMsgHdr(HKEY("wefw"), examine_wefw, 0); RegisterMsgHdr(HKEY("cccc"), examine_cccc, 0); RegisterMsgHdr(HKEY("rep2"), examine_replyto, 0); RegisterMsgHdr(HKEY("hnod"), examine_hnod, 0); RegisterMsgHdr(HKEY("room"), examine_room, 0); RegisterMsgHdr(HKEY("rfca"), examine_rfca, 0); RegisterMsgHdr(HKEY("node"), examine_node, 0); RegisterMsgHdr(HKEY("rcpt"), examine_rcpt, 0); RegisterMsgHdr(HKEY("nvto"), examine_nvto, 0); RegisterMsgHdr(HKEY("time"), examine_time, 0); RegisterMsgHdr(HKEY("part"), examine_mime_part, 0); RegisterMsgHdr(HKEY("text"), examine_text, 1); /* these are the content-type headers we get infront of a message; put it into the same hash since it doesn't clash. */ RegisterMsgHdr(HKEY("X-Citadel-MSG4-Partnum"), examine_msg4_partnum, 0); RegisterMsgHdr(HKEY("Content-type"), examine_content_type, 0); RegisterMsgHdr(HKEY("Content-length"), examine_content_lengh, 0); RegisterMsgHdr(HKEY("Content-transfer-encoding"), examine_content_encoding, 0); /* do we care? */ RegisterMsgHdr(HKEY("charset"), examine_charset, 0); /* Don't care about these... */ RegisterMsgHdr(HKEY("pref"), examine_pref, 0); RegisterMsgHdr(HKEY("suff"), examine_suff, 0); RegisterMsgHdr(HKEY("path"), examine_path, 0); } void InitModule2_MSGRENDERERS (void) { /* and finalize the anouncement to the server... */ CreateMimeStr(); } void ServerStartModule_MSGRENDERERS (void) { MsgHeaderHandler = NewHash(1, NULL); MimeRenderHandler = NewHash(1, NULL); ReadLoopHandler = NewHash(1, NULL); } void ServerShutdownModule_MSGRENDERERS (void) { DeleteHash(&MsgHeaderHandler); DeleteHash(&MimeRenderHandler); DeleteHash(&ReadLoopHandler); } void SessionDestroyModule_MSGRENDERERS (wcsession *sess) { DeleteHash(&sess->attachments); FreeStrBuf(&sess->ConvertBuf1); FreeStrBuf(&sess->ConvertBuf2); } webcit-9.01-dfsg/netconf.c000066400000000000000000000161661254743150300154570ustar00rootroot00000000000000#include "webcit.h" void display_netconf(void); CtxType CTX_NODECONF = CTX_NONE; /*----------------------------------------------------------------------*/ /* Business Logic */ /*----------------------------------------------------------------------*/ typedef struct _nodeconf { int DeleteMe; StrBuf *NodeName; StrBuf *Secret; StrBuf *Host; StrBuf *Port; }NodeConf; void DeleteNodeConf(void *vNode) { NodeConf *Node = (NodeConf*) vNode; FreeStrBuf(&Node->NodeName); FreeStrBuf(&Node->Secret); FreeStrBuf(&Node->Host); FreeStrBuf(&Node->Port); free(Node); } NodeConf *NewNode(StrBuf *SerializedNode) { NodeConf *Node; if (StrLength(SerializedNode) < 8) return NULL; /** we need at least 4 pipes and some other text so its invalid. */ Node = (NodeConf *) malloc(sizeof(NodeConf)); Node->DeleteMe = 0; Node->NodeName=NewStrBuf(); StrBufExtract_token(Node->NodeName, SerializedNode, 0, '|'); Node->Secret=NewStrBuf(); StrBufExtract_token(Node->Secret, SerializedNode, 1, '|'); Node->Host=NewStrBuf(); StrBufExtract_token(Node->Host, SerializedNode, 2, '|'); Node->Port=NewStrBuf(); StrBufExtract_token(Node->Port, SerializedNode, 3, '|'); return Node; } NodeConf *HttpGetNewNode(void) { NodeConf *Node; if (!havebstr("node") || !havebstr("secret")|| !havebstr("host")|| !havebstr("port")) return NULL; Node = (NodeConf *) malloc(sizeof(NodeConf)); Node->DeleteMe = 0; Node->NodeName = NewStrBufDup(sbstr("node")); Node->Secret = NewStrBufDup(sbstr("secret")); Node->Host = NewStrBufDup(sbstr("host")); Node->Port = NewStrBufDup(sbstr("port")); return Node; } void SerializeNode(NodeConf *Node, StrBuf *Buf) { StrBufPrintf(Buf, "%s|%s|%s|%s", ChrPtr(Node->NodeName), ChrPtr(Node->Secret), ChrPtr(Node->Host), ChrPtr(Node->Port)); } HashList *load_netconf(StrBuf *Target, WCTemplputParams *TP) { StrBuf *Buf; HashList *Hash; char nnn[64]; char buf[SIZ]; int nUsed; NodeConf *Node; serv_puts("CONF getsys|application/x-citadel-ignet-config"); serv_getln(buf, sizeof buf); if (buf[0] == '1') { Hash = NewHash(1, NULL); Buf = NewStrBuf(); while (StrBuf_ServGetln(Buf), strcmp(ChrPtr(Buf), "000")) { Node = NewNode(Buf); if (Node != NULL) { nUsed = GetCount(Hash); nUsed = snprintf(nnn, sizeof(nnn), "%d", nUsed+1); Put(Hash, nnn, nUsed, Node, DeleteNodeConf); } } FreeStrBuf(&Buf); return Hash; } return NULL; } void save_net_conf(HashList *Nodelist) { char buf[SIZ]; StrBuf *Buf; HashPos *where; void *vNode; NodeConf *Node; const char *Key; long KeyLen; serv_puts("CONF putsys|application/x-citadel-ignet-config"); serv_getln(buf, sizeof buf); if (buf[0] == '4') { if ((Nodelist != NULL) && (GetCount(Nodelist) > 0)) { where = GetNewHashPos(Nodelist, 0); Buf = NewStrBuf(); while (GetNextHashPos(Nodelist, where, &KeyLen, &Key, &vNode)) { Node = (NodeConf*) vNode; if (Node->DeleteMe==0) { SerializeNode(Node, Buf); serv_putbuf(Buf); } } FreeStrBuf(&Buf); DeleteHashPos(&where); } serv_puts("000"); } } /*----------------------------------------------------------------------*/ /* WEB Handlers */ /*----------------------------------------------------------------------*/ /* * edit a network node */ void edit_node(void) { HashList *NodeConfig; const StrBuf *Index; NodeConf *NewNode; if (havebstr("ok_button")) { Index = sbstr("index"); NewNode = HttpGetNewNode(); if ((NewNode == NULL) || (Index == NULL)) { AppendImportantMessage(_("Invalid Parameter"), -1); url_do_template(); return; } NodeConfig = load_netconf(NULL, &NoCtx); Put(NodeConfig, ChrPtr(Index), StrLength(Index), NewNode, DeleteNodeConf); save_net_conf(NodeConfig); DeleteHash(&NodeConfig); } url_do_template(); } /* * modify an existing node */ void display_edit_node(void) { WCTemplputParams SubTP; HashList *NodeConfig; const StrBuf *Index; void *vNode; const StrBuf *Tmpl; Index = sbstr("index"); if (Index == NULL) { AppendImportantMessage(_("Invalid Parameter"), -1); url_do_template(); return; } NodeConfig = load_netconf(NULL, &NoCtx); if (!GetHash(NodeConfig, ChrPtr(Index), StrLength(Index), &vNode) || (vNode == NULL)) { AppendImportantMessage(_("Invalid Parameter"), -1); url_do_template(); DeleteHash(&NodeConfig); return; } StackContext(NULL, &SubTP, vNode, CTX_NODECONF, 0, NULL); { begin_burst(); Tmpl = sbstr("template"); output_headers(1, 0, 0, 0, 1, 0); DoTemplate(SKEY(Tmpl), NULL, &SubTP); end_burst(); } UnStackContext(&SubTP); DeleteHash(&NodeConfig); } /* * display all configured nodes */ void display_netconf(void) { wDumpContent(1); } /* * display the dialog to verify the deletion */ void display_confirm_delete_node(void) { wDumpContent(1); } /* * actually delete the node */ void delete_node(void) { HashList *NodeConfig; const StrBuf *Index; NodeConf *Node; void *vNode; Index = sbstr("index"); if (Index == NULL) { AppendImportantMessage(_("Invalid Parameter"), -1); url_do_template(); return; } NodeConfig = load_netconf(NULL, &NoCtx); if (!GetHash(NodeConfig, ChrPtr(Index), StrLength(Index), &vNode) || (vNode == NULL)) { AppendImportantMessage(_("Invalid Parameter"), -1); url_do_template(); DeleteHash(&NodeConfig); return; } Node = (NodeConf *) vNode; Node->DeleteMe = 1; save_net_conf(NodeConfig); DeleteHash(&NodeConfig); url_do_template(); } void tmplput_NodeName(StrBuf *Target, WCTemplputParams *TP) { NodeConf *Node = (NodeConf*) CTX(CTX_NODECONF); StrBufAppendTemplate(Target, TP, Node->NodeName, 0); } void tmplput_Secret(StrBuf *Target, WCTemplputParams *TP) { NodeConf *Node = (NodeConf*) CTX(CTX_NODECONF); StrBufAppendTemplate(Target, TP, Node->Secret, 0); } void tmplput_Host(StrBuf *Target, WCTemplputParams *TP) { NodeConf *Node= (NodeConf*) CTX(CTX_NODECONF); StrBufAppendTemplate(Target, TP, Node->Host, 0); } void tmplput_Port(StrBuf *Target, WCTemplputParams *TP) { NodeConf *Node= (NodeConf*) CTX(CTX_NODECONF); StrBufAppendTemplate(Target, TP, Node->Port, 0); } void InitModule_NETCONF (void) { RegisterCTX(CTX_NODECONF); WebcitAddUrlHandler(HKEY("display_edit_node"), "", 0, display_edit_node, 0); WebcitAddUrlHandler(HKEY("aide_ignetconf_edit_node"), "", 0, edit_node, 0); WebcitAddUrlHandler(HKEY("display_netconf"), "", 0, display_netconf, 0); WebcitAddUrlHandler(HKEY("display_confirm_delete_node"), "", 0, display_confirm_delete_node, 0); WebcitAddUrlHandler(HKEY("delete_node"), "", 0, delete_node, 0); RegisterNamespace("CFG:IGNET:NODE", 0, 1, tmplput_NodeName, NULL, CTX_NODECONF); RegisterNamespace("CFG:IGNET:SECRET", 0, 1, tmplput_Secret, NULL, CTX_NODECONF); RegisterNamespace("CFG:IGNET:HOST", 0, 1, tmplput_Host, NULL, CTX_NODECONF); RegisterNamespace("CFG:IGNET:PORT", 0, 1, tmplput_Port, NULL, CTX_NODECONF); RegisterIterator("NODECONFIG", 0, NULL, load_netconf, NULL, DeleteHash, CTX_NODECONF, CTX_NONE, IT_NOFLAG); } webcit-9.01-dfsg/nogz-mimetypes.txt000066400000000000000000000065331254743150300174040ustar00rootroot00000000000000# all mimetypes enlisted in this file won't be gzipped on the fly. application/gzip application/java-archive application/java-serialized-object application/java-vm application/ogg application/zip application/vnd.android.package-archive application/vnd.audiograph application/vnd.debian.binary-package application/vnd.google-earth.kmz application/vnd.oasis.opendocument.chart application/vnd.oasis.opendocument.database application/vnd.oasis.opendocument.formula application/vnd.oasis.opendocument.graphics application/vnd.oasis.opendocument.graphics-template application/vnd.oasis.opendocument.image application/vnd.oasis.opendocument.presentation application/vnd.oasis.opendocument.presentation-template application/vnd.oasis.opendocument.spreadsheet application/vnd.oasis.opendocument.spreadsheet-template application/vnd.oasis.opendocument.text application/vnd.oasis.opendocument.text-master application/vnd.oasis.opendocument.text-template application/vnd.oasis.opendocument.text-web application/vnd.openxmlformats-officedocument.presentationml.presentation application/vnd.openxmlformats-officedocument.presentationml.slide application/vnd.openxmlformats-officedocument.presentationml.slideshow application/vnd.openxmlformats-officedocument.presentationml.template application/vnd.openxmlformats-officedocument.spreadsheetml.sheet application/vnd.openxmlformats-officedocument.spreadsheetml.template application/vnd.openxmlformats-officedocument.wordprocessingml.document application/vnd.openxmlformats-officedocument.wordprocessingml.template application/zlib application/x-7z-compressed application/x-cab application/x-debian-package application/x-gtar-compressed application/x-iso9660-image application/x-java-applet application/x-java-bean application/x-lha application/x-lzh application/x-lzx application/x-redhat-package-manager application/x-tar application/x-videolan application/x-wingz application/x-xpinstall application/x-xz audio/32kadpcm audio/3gpp audio/amr audio/amr-wb audio/annodex audio/basic audio/csound audio/flac audio/g.722.1 audio/l16 audio/midi audio/mp4a-latm audio/mpa-robust audio/mpeg audio/mpegurl audio/ogg audio/parityfec audio/prs.sid audio/telephone-event audio/tone audio/vnd.cisco.nse audio/vnd.cns.anp1 audio/vnd.cns.inf1 audio/vnd.digital-winds audio/vnd.everad.plj audio/vnd.lucent.voice audio/vnd.nortel.vbk audio/vnd.nuera.ecelp4800 audio/vnd.nuera.ecelp7470 audio/vnd.nuera.ecelp9600 audio/vnd.octel.sbc audio/vnd.qcelp audio/vnd.rhetorex.32kadpcm audio/vnd.vmx.cvsd audio/x-aiff audio/x-gsm audio/x-mpegurl audio/x-ms-wma audio/x-ms-wax audio/x-pn-realaudio-plugin audio/x-pn-realaudio audio/x-realaudio audio/x-scpls audio/x-sd2 audio/x-wav image/cgm image/g3fax image/jp2 image/jpeg image/jpm image/jpx image/naplps image/png image/prs.btif image/prs.pti image/vnd.cns.inf2 image/vnd.djvu image/vnd.fastbidsheet image/vnd.fpx image/vnd.fst image/x-jng text/h323 video/3gpp video/annodex video/dl video/dv video/fli video/gl video/mpeg video/MP2T video/mp4 video/quicktime video/mkv video/mp4v-es video/ogg video/parityfec video/pointer video/webm video/vnd.fvt video/vnd.motorola.video video/vnd.motorola.videop video/vnd.mpegurl video/vnd.mts video/vnd.nokia.interleaved-multimedia video/vnd.vivo video/x-flv video/x-la-asf video/x-mng video/x-ms-asf video/x-ms-wm video/x-ms-wmv video/x-ms-wmx video/x-ms-wvx video/x-msvideo video/x-sgi-movie video/x-matroska webcit-9.01-dfsg/notes.c000066400000000000000000000314501254743150300151440ustar00rootroot00000000000000 #include "webcit.h" #include "dav.h" #include "webserver.h" CtxType CTX_VNOTE = CTX_NONE; int pastel_palette[9][3] = { { 0x80, 0x80, 0x80 }, { 0xff, 0x80, 0x80 }, { 0x80, 0x80, 0xff }, { 0xff, 0xff, 0x80 }, { 0x80, 0xff, 0x80 }, { 0xff, 0x80, 0xff }, { 0x80, 0xff, 0xff }, { 0xff, 0x80, 0x80 }, { 0x80, 0x80, 0x80 } }; /* * Fetch a message from the server and extract a vNote from it */ struct vnote *vnote_new_from_msg(long msgnum,int unread) { StrBuf *Buf; StrBuf *Data = NULL; const char *bptr; int Done = 0; char uid_from_headers[256]; char mime_partnum[256]; char mime_filename[256]; char mime_content_type[256]; char mime_disposition[256]; char relevant_partnum[256]; int phase = 0; /* 0 = citadel headers, 1 = mime headers, 2 = body */ char msg4_content_type[256] = ""; char msg4_content_encoding[256] = ""; int msg4_content_length = 0; struct vnote *vnote_from_body = NULL; int vnote_inline = 0; /* 1 = MSG4 gave us a text/x-vnote top level */ relevant_partnum[0] = '\0'; serv_printf("MSG4 %ld", msgnum); /* we need the mime headers */ Buf = NewStrBuf(); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) != 1) { FreeStrBuf (&Buf); return NULL; } while ((StrBuf_ServGetln(Buf)>=0) && !Done) { if ( (StrLength(Buf)==3) && !strcmp(ChrPtr(Buf), "000")) { Done = 1; break; } bptr = ChrPtr(Buf); switch (phase) { case 0: if (!strncasecmp(bptr, "exti=", 5)) { safestrncpy(uid_from_headers, &(ChrPtr(Buf)[5]), sizeof uid_from_headers); } else if (!strncasecmp(bptr, "part=", 5)) { extract_token(mime_filename, &bptr[5], 1, '|', sizeof mime_filename); extract_token(mime_partnum, &bptr[5], 2, '|', sizeof mime_partnum); extract_token(mime_disposition, &bptr[5], 3, '|', sizeof mime_disposition); extract_token(mime_content_type, &bptr[5], 4, '|', sizeof mime_content_type); if (!strcasecmp(mime_content_type, "text/vnote")) { strcpy(relevant_partnum, mime_partnum); } } else if ((phase == 0) && (!strncasecmp(bptr, "text", 4))) { phase = 1; } break; case 1: if (!IsEmptyStr(bptr)) { if (!strncasecmp(bptr, "Content-type: ", 14)) { safestrncpy(msg4_content_type, &bptr[14], sizeof msg4_content_type); striplt(msg4_content_type); } else if (!strncasecmp(bptr, "Content-transfer-encoding: ", 27)) { safestrncpy(msg4_content_encoding, &bptr[27], sizeof msg4_content_encoding); striplt(msg4_content_type); } else if ((!strncasecmp(bptr, "Content-length: ", 16))) { msg4_content_length = atoi(&bptr[16]); } break; } else { phase++; if ((msg4_content_length > 0) && ( !strcasecmp(msg4_content_encoding, "7bit")) && (!strcasecmp(msg4_content_type, "text/vnote")) ) { vnote_inline = 1; } } case 2: if (vnote_inline) { Data = NewStrBufPlain(NULL, msg4_content_length * 2); if (msg4_content_length > 0) { StrBuf_ServGetBLOBBuffered(Data, msg4_content_length); phase ++; } else { StrBufAppendBuf(Data, Buf, 0); StrBufAppendBufPlain(Data, "\r\n", 1, 0); } } case 3: if (vnote_inline) { StrBufAppendBuf(Data, Buf, 0); } } } FreeStrBuf(&Buf); /* If MSG4 didn't give us the part we wanted, but we know that we can find it * as one of the other MIME parts, attempt to load it now. */ if ((!vnote_inline) && (!IsEmptyStr(relevant_partnum))) { Data = load_mimepart(msgnum, relevant_partnum); } if (StrLength(Data) > 0) { if (IsEmptyStr(uid_from_headers)) { /* Convert an old-style note to a vNote */ vnote_from_body = vnote_new(); vnote_from_body->uid = strdup(uid_from_headers); vnote_from_body->color_red = pastel_palette[3][0]; vnote_from_body->color_green = pastel_palette[3][1]; vnote_from_body->color_blue = pastel_palette[3][2]; vnote_from_body->body = malloc(StrLength(Data) + 1); vnote_from_body->body[0] = 0; memcpy(vnote_from_body->body, ChrPtr(Data), StrLength(Data) + 1); FreeStrBuf(&Data); return vnote_from_body; } else { char *Buf = SmashStrBuf(&Data); struct vnote *v = vnote_new_from_str(Buf); free(Buf); return(v); } } return NULL; } /* * Serialize a vnote and write it to the server */ void write_vnote_to_server(struct vnote *v) { char buf[1024]; char *pch; char boundary[256]; static int seq = 0; snprintf(boundary, sizeof boundary, "Citadel--Multipart--%s--%04x--%04x", ChrPtr(WC->serv_info->serv_fqdn), getpid(), ++seq ); serv_puts("ENT0 1|||4"); serv_getln(buf, sizeof buf); if (buf[0] == '4') { /* Remember, serv_printf() appends an extra newline */ serv_printf("Content-type: multipart/alternative; " "boundary=\"%s\"\n", boundary); serv_printf("This is a multipart message in MIME format.\n"); serv_printf("--%s", boundary); serv_puts("Content-type: text/plain; charset=utf-8"); serv_puts("Content-Transfer-Encoding: 7bit"); serv_puts(""); serv_puts(v->body); serv_puts(""); serv_printf("--%s", boundary); serv_puts("Content-type: text/vnote"); serv_puts("Content-Transfer-Encoding: 7bit"); serv_puts(""); pch = vnote_serialize(v); serv_puts(pch); free(pch); serv_printf("--%s--", boundary); serv_puts("000"); } } /* * Background ajax call to receive updates from the browser when a note is moved, resized, or updated. */ void ajax_update_note(void) { char buf[1024]; int msgnum; struct vnote *v = NULL; if (!havebstr("note_uid")) { begin_ajax_response(); wc_printf("Received ajax_update_note() request without a note UID."); end_ajax_response(); return; } serv_printf("EUID %s", bstr("note_uid")); serv_getln(buf, sizeof buf); if (buf[0] != '2') { begin_ajax_response(); wc_printf("Cannot find message containing vNote with the requested uid!"); end_ajax_response(); return; } msgnum = atol(&buf[4]); /* Was this request a delete operation? If so, nuke it... */ if (havebstr("deletenote")) { if (!strcasecmp(bstr("deletenote"), "yes")) { serv_printf("DELE %d", msgnum); serv_getln(buf, sizeof buf); begin_ajax_response(); wc_printf("%s", buf); end_ajax_response(); return; } } /* If we get to this point it's an update, not a delete */ v = vnote_new_from_msg(msgnum, 0); if (!v) { begin_ajax_response(); wc_printf("Cannot locate a vNote within message %d\n", msgnum); end_ajax_response(); return; } /* Make any requested changes */ if (havebstr("top")) { v->pos_top = atoi(bstr("top")); } if (havebstr("left")) { v->pos_left = atoi(bstr("left")); } if (havebstr("height")) { v->pos_height = atoi(bstr("height")); } if (havebstr("width")) { v->pos_width = atoi(bstr("width")); } if (havebstr("red")) { v->color_red = atoi(bstr("red")); } if (havebstr("green")) { v->color_green = atoi(bstr("green")); } if (havebstr("blue")) { v->color_blue = atoi(bstr("blue")); } if (havebstr("value")) { /* I would have preferred 'body' but InPlaceEditor hardcodes 'value' */ if (v->body) free(v->body); v->body = strdup(bstr("value")); } /* Serialize it and save it to the message base. Server will delete the old one. */ write_vnote_to_server(v); begin_ajax_response(); if (v->body) { escputs(v->body); } end_ajax_response(); vnote_free(v); } /* * display sticky notes * * msgnum = Message number on the local server of the note to be displayed */ /*TODO: wrong hook */ int notes_LoadMsgFromServer(SharedMessageStatus *Stat, void **ViewSpecific, message_summary* Msg, int is_new, int i) { struct vnote *v; WCTemplputParams TP; memset(&TP, 0, sizeof(WCTemplputParams)); TP.Filter.ContextType = CTX_VNOTE; v = vnote_new_from_msg(Msg->msgnum, is_new); if (v) { TP.Context = v; DoTemplate(HKEY("vnoteitem"), WC->WBuf, &TP); /* uncomment these lines to see ugly debugging info StrBufAppendPrintf(WC->trailing_javascript, "document.write('L: ' + $('note-%s').style.left + '; ');", v->uid); StrBufAppendPrintf(WC->trailing_javascript, "document.write('T: ' + $('note-%s').style.top + '; ');", v->uid); StrBufAppendPrintf(WC->trailing_javascript, "document.write('W: ' + $('note-%s').style.width + '; ');", v->uid); StrBufAppendPrintf(WC->trailing_javascript, "document.write('H: ' + $('note-%s').style.height + '
    ');", v->uid); */ vnote_free(v); } return 0; } /* * Create a new note */ void add_new_note(void) { struct vnote *v; v = vnote_new(); if (v) { v->uid = malloc(128); generate_uuid(v->uid); v->color_red = pastel_palette[3][0]; v->color_green = pastel_palette[3][1]; v->color_blue = pastel_palette[3][2]; v->body = strdup(_("Click on any note to edit it.")); write_vnote_to_server(v); vnote_free(v); } readloop(readfwd, eUseDefault); } void tmpl_vcard_put_posleft(StrBuf *Target, WCTemplputParams *TP) { struct vnote *v = (struct vnote *) CTX(CTX_VNOTE); StrBufAppendPrintf(Target, "%d", v->pos_left); } void tmpl_vcard_put_postop(StrBuf *Target, WCTemplputParams *TP) { struct vnote *v = (struct vnote *) CTX(CTX_VNOTE); StrBufAppendPrintf(Target, "%d", v->pos_top); } void tmpl_vcard_put_poswidth(StrBuf *Target, WCTemplputParams *TP) { struct vnote *v = (struct vnote *) CTX(CTX_VNOTE); StrBufAppendPrintf(Target, "%d", v->pos_width); } void tmpl_vcard_put_posheight(StrBuf *Target, WCTemplputParams *TP) { struct vnote *v = (struct vnote *) CTX(CTX_VNOTE); StrBufAppendPrintf(Target, "%d", v->pos_height); } void tmpl_vcard_put_posheight2(StrBuf *Target, WCTemplputParams *TP) { struct vnote *v = (struct vnote *) CTX(CTX_VNOTE); StrBufAppendPrintf(Target, "%d", (v->pos_height / 16) - 5); } void tmpl_vcard_put_width2(StrBuf *Target, WCTemplputParams *TP) { struct vnote *v = (struct vnote *) CTX(CTX_VNOTE); StrBufAppendPrintf(Target, "%d", (v->pos_width / 9) - 1); } void tmpl_vcard_put_color(StrBuf *Target, WCTemplputParams *TP) { struct vnote *v = (struct vnote *) CTX(CTX_VNOTE); StrBufAppendPrintf(Target, "%02X%02X%02X", v->color_red, v->color_green, v->color_blue); } void tmpl_vcard_put_bgcolor(StrBuf *Target, WCTemplputParams *TP) { struct vnote *v = (struct vnote *) CTX(CTX_VNOTE); StrBufAppendPrintf(Target, "%02X%02X%02X", v->color_red/2, v->color_green/2, v->color_blue/2); } void tmpl_vcard_put_message(StrBuf *Target, WCTemplputParams *TP) { struct vnote *v = (struct vnote *) CTX(CTX_VNOTE); StrEscAppend(Target, NULL, v->body, 0, 0); /*TODO?*/ } void tmpl_vcard_put_uid(StrBuf *Target, WCTemplputParams *TP) { struct vnote *v = (struct vnote *) CTX(CTX_VNOTE); StrBufAppendBufPlain(Target, v->uid, -1, 0); } int notes_GetParamsGetServerCall(SharedMessageStatus *Stat, void **ViewSpecific, long oper, char *cmd, long len, char *filter, long flen) { strcpy(cmd, "MSGS ALL"); Stat->maxmsgs = 32767; wc_printf("
    \n"); return 200; } int notes_Cleanup(void **ViewSpecific) { wDumpContent(1); return 0; } void render_MIME_VNote(StrBuf *Target, WCTemplputParams *TP, StrBuf *FoundCharset) { wc_mime_attachment *Mime = CTX(CTX_MIME_ATACH); if (StrLength(Mime->Data) == 0) MimeLoadData(Mime); if (StrLength(Mime->Data) > 0) { struct vnote *v; StrBuf *Buf; char *vcard; Buf = NewStrBuf(); vcard = SmashStrBuf(&Mime->Data); v = vnote_new_from_str(vcard); free (vcard); if (v) { WCTemplputParams TP; memset(&TP, 0, sizeof(WCTemplputParams)); TP.Filter.ContextType = CTX_VNOTE; TP.Context = v; DoTemplate(HKEY("mail_vnoteitem"), Buf, &TP); vnote_free(v); Mime->Data = Buf; } else { if (Mime->Data == NULL) Mime->Data = NewStrBuf(); else FlushStrBuf(Mime->Data); } } } void InitModule_NOTES (void) { RegisterCTX(CTX_VNOTE); RegisterReadLoopHandlerset( VIEW_NOTES, notes_GetParamsGetServerCall, NULL, NULL, NULL, notes_LoadMsgFromServer, NULL, notes_Cleanup); WebcitAddUrlHandler(HKEY("add_new_note"), "", 0, add_new_note, 0); WebcitAddUrlHandler(HKEY("ajax_update_note"), "", 0, ajax_update_note, 0); RegisterNamespace("VNOTE:POS:LEFT", 0, 0, tmpl_vcard_put_posleft, NULL, CTX_VNOTE); RegisterNamespace("VNOTE:POS:TOP", 0, 0, tmpl_vcard_put_postop, NULL, CTX_VNOTE); RegisterNamespace("VNOTE:POS:WIDTH", 0, 0, tmpl_vcard_put_poswidth, NULL, CTX_VNOTE); RegisterNamespace("VNOTE:POS:HEIGHT", 0, 0, tmpl_vcard_put_posheight, NULL, CTX_VNOTE); RegisterNamespace("VNOTE:POS:HEIGHT2", 0, 0, tmpl_vcard_put_posheight2, NULL, CTX_VNOTE); RegisterNamespace("VNOTE:POS:WIDTH2", 0, 0, tmpl_vcard_put_width2, NULL, CTX_VNOTE); RegisterNamespace("VNOTE:COLOR", 0, 0, tmpl_vcard_put_color, NULL, CTX_VNOTE); RegisterNamespace("VNOTE:BGCOLOR", 0, 0,tmpl_vcard_put_bgcolor, NULL, CTX_VNOTE); RegisterNamespace("VNOTE:MSG", 0, 1, tmpl_vcard_put_message, NULL, CTX_VNOTE); RegisterNamespace("VNOTE:UID", 0, 0, tmpl_vcard_put_uid, NULL, CTX_VNOTE); RegisterMimeRenderer(HKEY("text/vnote"), render_MIME_VNote, 1, 300); } webcit-9.01-dfsg/openid.c000066400000000000000000000065331254743150300152760ustar00rootroot00000000000000/* * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" /* * Display the OpenIDs associated with an account */ void display_openids(void) { wcsession *WCC = WC; char buf[1024]; int bg = 0; output_headers(1, 1, 1, 0, 0, 0); do_template("box_begin_1"); StrBufAppendBufPlain(WCC->WBuf, _("Manage Account/OpenID Associations"), -1, 0); do_template("box_begin_2"); if (WCC->serv_info->serv_supports_openid) { wc_printf(""); serv_puts("OIDL"); serv_getln(buf, sizeof buf); if (buf[0] == '1') while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) { bg = 1 - bg; wc_printf("", (bg ? "even" : "odd")); wc_printf("\n"); } wc_printf("
    "); escputs(buf); wc_printf(""); wc_printf("", _("Do you really want to delete this OpenID?")); wc_printf("%s", _("(delete)")); wc_printf("

    \n"); wc_printf("
    \n"); wc_printf("\n", WCC->nonce); wc_printf(_("Add an OpenID: ")); wc_printf("\n"); wc_printf("" "
    \n", _("Attach")); } else { wc_printf(_("%s does not permit authentication via OpenID."), ChrPtr(WCC->serv_info->serv_humannode)); } do_template("box_end"); wDumpContent(2); } /* * Attempt to attach an OpenID to an existing, logged-in account */ void openid_attach(void) { char buf[4096]; if (havebstr("attach_button")) { syslog(LOG_DEBUG, "Attempting to attach %s\n", bstr("openid_url")); snprintf(buf, sizeof buf, "OIDS %s|%s/finalize_openid_login?attach_existing=1|%s", bstr("openid_url"), ChrPtr(site_prefix), ChrPtr(site_prefix) ); serv_puts(buf); serv_getln(buf, sizeof buf); if (buf[0] == '2') { syslog(LOG_DEBUG, "OpenID server contacted; redirecting to %s\n", &buf[4]); http_redirect(&buf[4]); return; } else { syslog(LOG_DEBUG, "OpenID attach failed: %s\n", &buf[4]); } } /* If we get to this point then something failed. */ display_openids(); } /* * Detach an OpenID from the currently logged-in account */ void openid_detach(void) { StrBuf *Line; if (havebstr("id_to_detach")) { serv_printf("OIDD %s", bstr("id_to_detach")); Line = NewStrBuf(); StrBuf_ServGetln(Line); GetServerStatusMsg(Line, NULL, 1, 2); FreeStrBuf(&Line); } display_openids(); } void InitModule_OPENID (void) { WebcitAddUrlHandler(HKEY("display_openids"), "", 0, display_openids, 0); WebcitAddUrlHandler(HKEY("openid_attach"), "", 0, openid_attach, 0); WebcitAddUrlHandler(HKEY("openid_detach"), "", 0, openid_detach, 0); } webcit-9.01-dfsg/packageversion000066400000000000000000000000021254743150300165610ustar00rootroot000000000000002 webcit-9.01-dfsg/paging.c000066400000000000000000000076401254743150300152650ustar00rootroot00000000000000/* * This module handles instant message related functions. * * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software; you can redistribute it and/or modify * it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" /* * display the form for paging (x-messaging) another user */ void display_page(void) { char recp[SIZ]; strcpy(recp, bstr("recp")); output_headers(1, 1, 1, 0, 0, 0); wc_printf("
    \n"); wc_printf("

    "); wc_printf(_("Send instant message")); wc_printf("

    "); wc_printf("
    \n"); wc_printf("
    \n"); wc_printf("
    \n"); wc_printf(_("Send an instant message to: ")); escputs(recp); wc_printf("
    \n"); wc_printf("
    \n"); wc_printf("\n", WC->nonce); wc_printf("\n"); wc_printf("
    \n"); wc_printf("\n"); wc_printf(_("Enter message text:")); wc_printf("
    "); wc_printf("\n"); wc_printf("

    \n"); wc_printf("", _("Send message")); wc_printf("
    \n", _("Cancel")); wc_printf("\n"); wc_printf("
    \n"); wDumpContent(1); } /* * page another user */ void page_user(void) { char recp[256]; StrBuf *Line; safestrncpy(recp, bstr("recp"), sizeof recp); if (!havebstr("send_button")) { AppendImportantMessage(_("Message was not sent."), -1); } else { Line = NewStrBuf(); serv_printf("SEXP %s|-", recp); StrBuf_ServGetln(Line); if (GetServerStatusMsg(Line, NULL, 0, 0) == 4) { char buf[256]; text_to_server(bstr("msgtext")); serv_puts("000"); stresc(buf, 256, recp, 0, 0); AppendImportantMessage(buf, -1); AppendImportantMessage(_("Message has been sent to "), -1); } } url_do_template(); } /* * display page popup * If there are instant messages waiting, and we notice that we haven't checked them in * a while, it probably means that we need to open the instant messenger window. */ int Conditional_PAGE_WAITING(StrBuf *Target, WCTemplputParams *TP) { int len; char buf[SIZ]; /** JavaScript function to alert the user that popups are probably blocked */ /** First, do the check as part of our page load. */ serv_puts("NOOP"); len = serv_getln(buf, sizeof buf); if ((len >= 3) && (buf[3] == '*')) { if ((time(NULL) - WC->last_pager_check) > 60) { return 1; } } return 0; /* Then schedule it to happen again a minute from now if the user is idle. */ } void ajax_send_instant_message(void) { char recp[256]; char buf[256]; safestrncpy(recp, bstr("recp"), sizeof recp); serv_printf("SEXP %s|-", recp); serv_getln(buf, sizeof buf); if (buf[0] == '4') { text_to_server(bstr("msg")); serv_puts("000"); } escputs(buf); /* doesn't really matter what we return - the client ignores it */ } void InitModule_PAGING (void) { WebcitAddUrlHandler(HKEY("display_page"), "", 0, display_page, 0); WebcitAddUrlHandler(HKEY("page_user"), "", 0, page_user, 0); WebcitAddUrlHandler(HKEY("ajax_send_instant_message"), "", 0, ajax_send_instant_message, AJAX); RegisterConditional("COND:PAGE:WAITING", 0, Conditional_PAGE_WAITING, CTX_NONE); } void SessionDestroyModule_PAGING (wcsession *sess) { /* nothing here anymore */ } webcit-9.01-dfsg/paramhandling.c000066400000000000000000000330071254743150300166210ustar00rootroot00000000000000/* * parse urlparts and post data * * Copyright (c) 1996-2013 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" /* uncomment to see all parameters sent to the server by the browser. */ /* #define DEBUG_URLSTRINGS */ void free_url(void *U) { urlcontent *u = (urlcontent*) U; FreeStrBuf(&u->url_data); free(u); } /* * Extract variables from the URL. */ void ParseURLParams(StrBuf *url) { const char *aptr, *bptr, *eptr, *up = NULL; int len, keylen = 0; urlcontent *u = NULL; wcsession *WCC = WC; if (WCC->Hdr->urlstrings == NULL) { WCC->Hdr->urlstrings = NewHash(1, NULL); } eptr = ChrPtr(url) + StrLength(url); up = ChrPtr(url); while ((up < eptr) && (!IsEmptyStr(up))) { aptr = up; while ((aptr < eptr) && (*aptr != '\0') && (*aptr != '=')) { aptr++; } if (*aptr != '=') { return; } aptr++; bptr = aptr; while ((bptr < eptr) && (*bptr != '\0') && (*bptr != '&') && (*bptr != '?') && (*bptr != ' ')) { bptr++; } keylen = aptr - up - 1; /* -1 -> '=' */ if (keylen > sizeof(u->url_key)) { syslog(LOG_WARNING, "%s:%d: invalid url_key of size %d in string size %d", __FILE__, __LINE__, keylen, sizeof(u->url_key) ); } u = (urlcontent *) malloc(sizeof(urlcontent)); memcpy(u->url_key, up, keylen); u->url_key[keylen] = '\0'; if (keylen < 0) { syslog(LOG_WARNING, "%s:%d: invalid url_key of size %d", __FILE__, __LINE__, keylen); free(u); return; } if (strncmp(u->url_key, "__", 2) != 0) { Put(WCC->Hdr->urlstrings, u->url_key, keylen, u, free_url); len = bptr - aptr; u->url_data = NewStrBufPlain(aptr, len); StrBufUnescape(u->url_data, 1); #ifdef DEBUG_URLSTRINGS syslog(LOG_DEBUG, "%s = [%d] %s\n", u->url_key, StrLength(u->url_data), ChrPtr(u->url_data)); #endif } else { len = bptr - aptr; u->url_data = NewStrBufPlain(aptr, len); StrBufUnescape(u->url_data, 1); syslog(LOG_WARNING, "REJECTED because of __ is internal only: %s = [%d] %s\n", u->url_key, StrLength(u->url_data), ChrPtr(u->url_data)); free_url(u); } up = bptr; ++up; } } /* * free urlstring memory */ void free_urls(void) { DeleteHash(&WC->Hdr->urlstrings); } /* * Diagnostic function to display the contents of all variables */ void dump_vars(void) { wcsession *WCC = WC; urlcontent *u; void *U; long HKLen; const char *HKey; HashPos *Cursor; Cursor = GetNewHashPos (WCC->Hdr->urlstrings, 0); while (GetNextHashPos(WCC->Hdr->urlstrings, Cursor, &HKLen, &HKey, &U)) { u = (urlcontent*) U; wc_printf("%38s = %s\n", u->url_key, ChrPtr(u->url_data)); } } /* * Return the value of a variable supplied to the current web page (from the url or a form) */ const char *XBstr(const char *key, size_t keylen, size_t *len) { void *U; if ((WC->Hdr->urlstrings != NULL) && GetHash(WC->Hdr->urlstrings, key, keylen, &U)) { *len = StrLength(((urlcontent *)U)->url_data); return ChrPtr(((urlcontent *)U)->url_data); } else { *len = 0; return (""); } } const char *XBSTR(const char *key, size_t *len) { void *U; if ((WC->Hdr->urlstrings != NULL) && GetHash(WC->Hdr->urlstrings, key, strlen (key), &U)){ *len = StrLength(((urlcontent *)U)->url_data); return ChrPtr(((urlcontent *)U)->url_data); } else { *len = 0; return (""); } } const char *BSTR(const char *key) { void *U; if ((WC->Hdr->urlstrings != NULL) && GetHash(WC->Hdr->urlstrings, key, strlen (key), &U)) return ChrPtr(((urlcontent *)U)->url_data); else return (""); } const char *Bstr(const char *key, size_t keylen) { void *U; if ((WC->Hdr->urlstrings != NULL) && GetHash(WC->Hdr->urlstrings, key, keylen, &U)) return ChrPtr(((urlcontent *)U)->url_data); else return (""); } const StrBuf *SBSTR(const char *key) { void *U; if ((WC->Hdr->urlstrings != NULL) && GetHash(WC->Hdr->urlstrings, key, strlen (key), &U)) return ((urlcontent *)U)->url_data; else return NULL; } const StrBuf *SBstr(const char *key, size_t keylen) { void *U; if ((WC->Hdr->urlstrings != NULL) && GetHash(WC->Hdr->urlstrings, key, keylen, &U)) return ((urlcontent *)U)->url_data; else return NULL; } long LBstr(const char *key, size_t keylen) { void *U; if ((WC->Hdr->urlstrings != NULL) && GetHash(WC->Hdr->urlstrings, key, keylen, &U)) return StrTol(((urlcontent *)U)->url_data); else return (0); } long LBSTR(const char *key) { void *U; if ((WC->Hdr->urlstrings != NULL) && GetHash(WC->Hdr->urlstrings, key, strlen(key), &U)) return StrTol(((urlcontent *)U)->url_data); else return (0); } int IBstr(const char *key, size_t keylen) { void *U; if ((WC->Hdr->urlstrings != NULL) && GetHash(WC->Hdr->urlstrings, key, keylen, &U)) return StrTol(((urlcontent *)U)->url_data); else return (0); } int IBSTR(const char *key) { void *U; if ((WC->Hdr->urlstrings != NULL) && GetHash(WC->Hdr->urlstrings, key, strlen(key), &U)) return StrToi(((urlcontent *)U)->url_data); else return (0); } int HaveBstr(const char *key, size_t keylen) { void *U; if ((WC->Hdr->urlstrings != NULL) && GetHash(WC->Hdr->urlstrings, key, keylen, &U)) return (StrLength(((urlcontent *)U)->url_data) != 0); else return (0); } int HAVEBSTR(const char *key) { void *U; if ((WC->Hdr->urlstrings != NULL) && GetHash(WC->Hdr->urlstrings, key, strlen(key), &U)) return (StrLength(((urlcontent *)U)->url_data) != 0); else return (0); } int YesBstr(const char *key, size_t keylen) { void *U; if ((WC->Hdr->urlstrings != NULL) && GetHash(WC->Hdr->urlstrings, key, keylen, &U)) return strcmp( ChrPtr(((urlcontent *)U)->url_data), "yes") == 0; else return (0); } int YESBSTR(const char *key) { void *U; if ((WC->Hdr->urlstrings != NULL) && GetHash(WC->Hdr->urlstrings, key, strlen(key), &U)) return strcmp( ChrPtr(((urlcontent *)U)->url_data), "yes") == 0; else return (0); } /* * This function is called by the MIME parser to handle data uploaded by * the browser. Form data, uploaded files, and the data from HTTP PUT * operations (such as those found in GroupDAV) all arrive this way. * * name Name of the item being uploaded * filename Filename of the item being uploaded * partnum MIME part identifier (not needed) * disp MIME content disposition (not needed) * content The actual data * cbtype MIME content-type * cbcharset Character set * length Content length * encoding MIME encoding type (not needed) * cbid Content ID (not needed) * userdata Not used here */ void upload_handler(char *name, char *filename, char *partnum, char *disp, void *content, char *cbtype, char *cbcharset, size_t length, char *encoding, char *cbid, void *userdata) { wcsession *WCC = WC; urlcontent *u; long keylen; #ifdef DEBUG_URLSTRINGS syslog(LOG_DEBUG, "upload_handler() name=%s, type=%s, len="SIZE_T_FMT, name, cbtype, length); #endif if (WCC->Hdr->urlstrings == NULL) WCC->Hdr->urlstrings = NewHash(1, NULL); /* Form fields */ if ( (length > 0) && (IsEmptyStr(cbtype)) ) { u = (urlcontent *) malloc(sizeof(urlcontent)); keylen = safestrncpy(u->url_key, name, sizeof(u->url_key)); u->url_data = NewStrBufPlain(content, length); if (strncmp(u->url_key, "__", 2) != 0) { Put(WCC->Hdr->urlstrings, u->url_key, keylen, u, free_url); } else { syslog(LOG_INFO, "REJECTED because of __ is internal only: %s = [%d] %s\n", u->url_key, StrLength(u->url_data), ChrPtr(u->url_data)); free_url(u); } #ifdef DEBUG_URLSTRINGS syslog(LOG_DEBUG, "Key: <%s> len: [%d] Data: <%s>", u->url_key, StrLength(u->url_data), ChrPtr(u->url_data)); #endif } /* Uploaded files */ if ( (length > 0) && (!IsEmptyStr(cbtype)) ) { WCC->upload = NewStrBufPlain(content, length); WCC->upload_length = length; WCC->upload_filename = NewStrBufPlain(filename, -1); safestrncpy(WCC->upload_content_type, cbtype, sizeof(WC->upload_content_type)); #ifdef DEBUG_URLSTRINGS syslog(LOG_DEBUG, "File: <%s> len: [%ld]", filename, (long int)length); #endif } } void PutBstr(const char *key, long keylen, StrBuf *Value) { urlcontent *u; if(keylen >= sizeof(u->url_key)) { syslog(LOG_WARNING, "%s:%d: invalid url_key of size %ld", __FILE__, __LINE__, keylen); FreeStrBuf(&Value); return; } u = (urlcontent*)malloc(sizeof(urlcontent)); memcpy(u->url_key, key, keylen + 1); u->url_data = Value; Put(WC->Hdr->urlstrings, u->url_key, keylen, u, free_url); } void PutlBstr(const char *key, long keylen, long Value) { StrBuf *Buf; Buf = NewStrBufPlain(NULL, sizeof(long) * 16); StrBufPrintf(Buf, "%ld", Value); PutBstr(key, keylen, Buf); } int ConditionalBstr(StrBuf *Target, WCTemplputParams *TP) { if(TP->Tokens->nParameters == 3) return HaveBstr(TKEY(2)); else { if (IS_NUMBER(TP->Tokens->Params[3]->Type)) { return LBstr(TKEY(2)) == GetTemplateTokenNumber(Target, TP, 3, 0); } else { const char *pch; long len; GetTemplateTokenString (Target, TP, 3, &pch, &len); return strcmp(Bstr(TKEY(2)), pch) == 0; } } } void tmplput_bstr(StrBuf *Target, WCTemplputParams *TP) { const StrBuf *Buf = SBstr(TKEY(0)); if (Buf != NULL) StrBufAppendTemplate(Target, TP, Buf, 1); } void tmplput_bstrforward(StrBuf *Target, WCTemplputParams *TP) { const StrBuf *Buf = SBstr(TKEY(0)); if (Buf != NULL) { StrBufAppendBufPlain(Target, HKEY("?"), 0); StrBufAppendBufPlain(Target, TKEY(0), 0); StrBufAppendBufPlain(Target, HKEY("="), 0); StrBufAppendTemplate(Target, TP, Buf, 1); } } void diagnostics(void) { output_headers(1, 1, 1, 0, 0, 0); wc_printf("Session: %d
    \n", WC->wc_session); wc_printf("Command:
    \n");
    /*	
    StrEscAppend(WC->WBuf, NULL, WC->UrlFragment1, 0, 0);
    	wc_printf("
    \n"); StrEscAppend(WC->WBuf, NULL, WC->UrlFragment12 0, 0); wc_printf("
    \n"); StrEscAppend(WC->WBuf, NULL, WC->UrlFragment3, 0, 0); */ wc_printf("

    \n"); wc_printf("Variables:
    \n");
    	dump_vars();
    	wc_printf("

    \n"); wDumpContent(1); } void tmplput_url_part(StrBuf *Target, WCTemplputParams *TP) { StrBuf *Name = NULL; StrBuf *UrlBuf = NULL; wcsession *WCC = WC; if (WCC != NULL) { long n; n = GetTemplateTokenNumber(Target, TP, 0, 0); if (n == 0) { if (WCC->Hdr->HR.Handler != NULL) UrlBuf = Name = WCC->Hdr->HR.Handler->Name; } else if (n == 1) { UrlBuf = NewStrBuf(); StrBufExtract_token(UrlBuf, WCC->Hdr->HR.ReqLine, 0, '/'); } else { UrlBuf = NewStrBuf(); StrBufExtract_token(UrlBuf, WCC->Hdr->HR.ReqLine, 1, '/'); } if (UrlBuf == NULL) { LogTemplateError(Target, "urlbuf", ERR_PARM1, TP, "not set."); } StrBufAppendTemplate(Target, TP, UrlBuf, 2); if (Name == NULL) FreeStrBuf(&UrlBuf); } } typedef struct __BstrPair { StrBuf *x; StrBuf *y; }BstrPair; CtxType CTX_BSTRPAIRS = CTX_NONE; void HFreeBstrPair(void *pv) { BstrPair *p = (BstrPair*) pv; FreeStrBuf(&p->x); FreeStrBuf(&p->y); free(pv); } HashList *iterate_GetBstrPairs(StrBuf *Target, WCTemplputParams *TP) { StrBuf *X, *Y; const char *ch = NULL; long len; const StrBuf *TheBStr; BstrPair *OnePair; HashList *List; const char *Pos = NULL; int i = 0; if (HaveTemplateTokenString(NULL, TP, 2, &ch, &len)) { GetTemplateTokenString(Target, TP, 2, &ch, &len); } else { return NULL; } TheBStr = SBstr(ch, len); if ((TheBStr == NULL) || (StrLength(TheBStr) == 0)) return NULL; List = NewHash(1, NULL); while (Pos != StrBufNOTNULL) { X = NewStrBufPlain(NULL, StrLength(TheBStr)); StrBufExtract_NextToken(X, TheBStr, &Pos, '|'); if (Pos == StrBufNOTNULL) { FreeStrBuf(&X); DeleteHash(&List); return NULL; } Y = NewStrBufPlain(NULL, StrLength(TheBStr)); StrBufExtract_NextToken(Y, TheBStr, &Pos, '|'); OnePair = (BstrPair*)malloc(sizeof(BstrPair)); OnePair->x = X; OnePair->y = Y; Put(List, IKEY(i), OnePair, HFreeBstrPair); i++; } return List; } void tmplput_bstr_pair(StrBuf *Target, WCTemplputParams *TP, int XY) { BstrPair *Pair = (BstrPair*) CTX(CTX_BSTRPAIRS); StrBufAppendTemplate(Target, TP, (XY)?Pair->y:Pair->x, 0); } void tmplput_bstr_pair_x(StrBuf *Target, WCTemplputParams *TP) { tmplput_bstr_pair(Target, TP, 0); } void tmplput_bstr_pair_y(StrBuf *Target, WCTemplputParams *TP) { tmplput_bstr_pair(Target, TP, 1); } void InitModule_PARAMHANDLING (void) { RegisterCTX(CTX_BSTRPAIRS); WebcitAddUrlHandler(HKEY("diagnostics"), "", 0, diagnostics, NEED_URL); RegisterIterator("ITERATE:BSTR:PAIR", 1, NULL, iterate_GetBstrPairs, NULL, DeleteHash, CTX_BSTRPAIRS, CTX_NONE, IT_NOFLAG); RegisterNamespace("BSTR:PAIR:X", 1, 2, tmplput_bstr_pair_x, NULL, CTX_BSTRPAIRS); RegisterNamespace("BSTR:PAIR:Y", 1, 2, tmplput_bstr_pair_y, NULL, CTX_BSTRPAIRS); RegisterConditional("COND:BSTR", 1, ConditionalBstr, CTX_NONE); RegisterNamespace("BSTR", 1, 2, tmplput_bstr, NULL, CTX_NONE); RegisterNamespace("BSTR:FORWARD", 1, 2, tmplput_bstrforward, NULL, CTX_NONE); RegisterNamespace("URLPART", 1, 2, tmplput_url_part, NULL, CTX_NONE); } void SessionAttachModule_PARAMHANDLING (wcsession *sess) { sess->Hdr->urlstrings = NewHash(1,NULL); } void SessionDetachModule_PARAMHANDLING (wcsession *sess) { DeleteHash(&sess->Hdr->urlstrings); FreeStrBuf(&sess->upload_filename); } webcit-9.01-dfsg/paramhandling.h000066400000000000000000000040151254743150300166230ustar00rootroot00000000000000/* * Copyright (c) 1996-2013 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ /* URL / Mime Post parsing -> paramhandling.c */ void upload_handler(char *name, char *filename, char *partnum, char *disp, void *content, char *cbtype, char *cbcharset, size_t length, char *encoding, char *cbid, void *userdata); void ParseURLParams(StrBuf *url); /* These may return NULL if not foud */ #define sbstr(a) SBstr(a, sizeof(a) - 1) const StrBuf *SBSTR(const char *key); const StrBuf *SBstr(const char *key, size_t keylen); #define xbstr(a, b) (char*) XBstr(a, sizeof(a) - 1, b) const char *XBstr(const char *key, size_t keylen, size_t *len); const char *XBSTR(const char *key, size_t *len); #define lbstr(a) LBstr(a, sizeof(a) - 1) long LBstr(const char *key, size_t keylen); long LBSTR(const char *key); #define ibstr(a) IBstr(a, sizeof(a) - 1) #define ibcstr(a) IBstr(a.Key, a.len) int IBstr(const char *key, size_t keylen); int IBSTR(const char *key); #define havebstr(a) HaveBstr(a, sizeof(a) - 1) int HaveBstr(const char *key, size_t keylen); int HAVEBSTR(const char *key); #define yesbstr(a) YesBstr(a, sizeof(a) - 1) int YesBstr(const char *key, size_t keylen); int YESBSTR(const char *key); /* TODO: get rid of the non-const-typecast */ #define bstr(a) (char*) Bstr(a, sizeof(a) - 1) const char *BSTR(const char *key); const char *Bstr(const char *key, size_t keylen); /* if you want to ease some parts by just parametring yourself... */ #define putbstr(a, b) PutBstr(a, sizeof(a) - 1, b) void PutBstr(const char *key, long keylen, StrBuf *Value); #define putlbstr(a, b) PutlBstr(a, sizeof(a) - 1, b) void PutlBstr(const char *key, long keylen, long Value); webcit-9.01-dfsg/po/000077500000000000000000000000001254743150300142635ustar00rootroot00000000000000webcit-9.01-dfsg/po/webcit/000077500000000000000000000000001254743150300155405ustar00rootroot00000000000000webcit-9.01-dfsg/po/webcit/Makefile.in000066400000000000000000000004471254743150300176120ustar00rootroot00000000000000SRCS:= $(wildcard *.po) OBJS:= $(patsubst %.po, ../../locale/%/LC_MESSAGES/webcit.mo, $(SRCS)) .SUFFIXES: .po .mo .PHONY: all all: $(OBJS) clean: rm -r ../../locale/* ../../locale/%/LC_MESSAGES/webcit.mo: %.po mkdir -p $(patsubst %.po, ../../locale/%/LC_MESSAGES, $<) msgfmt -o $@ $< webcit-9.01-dfsg/po/webcit/ar.po000066400000000000000000005034351254743150300165140ustar00rootroot00000000000000# Arabic translation for citadel # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the citadel package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: citadel\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2013-03-05 06:12+0000\n" "Last-Translator: husamuldeen \n" "Language-Team: Arabic \n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2013-03-06 05:06+0000\n" "X-Generator: Launchpad (build 16514)\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "حالة الوجود غير Ù…Ø¹Ø±ÙˆÙØ©" #: ../../availability.c:169 msgid "free" msgstr "خالي" #: ../../availability.c:179 msgid "BUSY" msgstr "مشغول" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "تم الغاء تحميل الرسومات" #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "لم تقم Ø¨Ø±ÙØ¹ ملÙ" #: ../../graphics.c:106 msgid "your photo" msgstr "صورتك" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "ايقونة هذه Ø§Ù„ØºØ±ÙØ©" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "صورة التحية لواجهة الدخول" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "صورة بنر الخروج" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "ايقونة هذا الطابق" #: ../../tasks.c:93 msgid "Completed?" msgstr "اكتمل" #: ../../tasks.c:95 msgid "Name of task" msgstr "اسم المهمة" #: ../../tasks.c:97 msgid "Date due" msgstr "الى تاريخ" #: ../../tasks.c:99 msgid "Category" msgstr "القسم" #: ../../tasks.c:101 msgid "Show All" msgstr "إظهار الكل" #: ../../tasks.c:224 msgid "Edit task" msgstr "تحرير مهمة" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "الملخص:" #: ../../tasks.c:259 msgid "Start date:" msgstr "تاريخ البداية:" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "بلا تاريخ" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "أو" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "الوقت الازم" #: ../../tasks.c:289 msgid "Due date:" msgstr "تاريخ الاستحقاق:" #: ../../tasks.c:318 msgid "Completed:" msgstr "اكتمال" #: ../../tasks.c:329 msgid "Category:" msgstr "الصنÙ" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "الوصÙ:" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "Ø­ÙØ¸" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "حذÙ" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "إلغاء" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "مهمة غير معنونة" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, c-format msgid "%d comments" msgstr "%d تعليقات" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "الرابط الثابت" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "احدث المشاركات" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "مشاركات أقدم" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "تحرير %s" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" "ادخل %s ÙÙŠ النص المهيئ لقارئة Ø§Ù„Ù…ØªØµÙØ® الخط الجديد يتم ÙØ±Ø¶ خط جديد ÙØ§Ø±Øº" #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "Ø­ÙØ¸ التغييرات" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "تم الالغاء %s لم يتم Ø­ÙØ¸ البيانات" #: ../../sysmsgs.c:103 msgid " has been saved." msgstr " تم Ø§Ù„Ø­ÙØ¸" #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "معلومات Ø§Ù„ØºØ±ÙØ©" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "الساعة " #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "الدقائق " #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "الحالة غير Ù…Ø¹Ø±ÙˆÙØ©" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "اتخاذ اللازم" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "مقبول" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "الغاء" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "الاطر النسبية" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "تÙويض" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "اكتمال" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "قيد التنÙيذ" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "(بدون)" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "ادارة الحساب / اسم المعرÙ" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "هل انتة متاكد تريد مسح هذا الاسم المعرÙ" #: ../../openid.c:47 msgid "(delete)" msgstr "مسح" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "Ø§Ø¶Ø§ÙØ© معر٠- مستخدم " #: ../../openid.c:58 msgid "Attach" msgstr "Ø¥Ø±ÙØ§Ù‚ ملÙ" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "غير مسموح للتوثيق باستخدتم هذا المعر٠- المستخدم %s" #: ../../summary.c:128 msgid "(None)" msgstr "(بدون)" #: ../../summary.c:184 msgid "(Nothing)" msgstr "لاشيء" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "اذهب Ù„Ù„Ù„ØµÙØ­Ø© " #: ../../bbsview_renderer.c:354 msgid "First" msgstr "أول" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "آخر" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "ealloc() خطاء! لانستطيع الحصول %d بايت: %s" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "تم الحذÙ" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "مستخدم جديد" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "مستخدم مشاكس" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "مستخدم داخلي" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "مستخدم شبكة" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "مستخدم Ù…ÙØ¶Ù„" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "مدير" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "حدث خطأ." #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "التحقق من صحة المستخدمين" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "ولا مستخدم مطلوب التحقق من صحته ÙÙŠ هذا الوقت" #: ../../auth.c:617 msgid "very weak" msgstr "جدا ضعيÙ" #: ../../auth.c:620 msgid "weak" msgstr "ضعيÙ" #: ../../auth.c:623 msgid "ok" msgstr "حسنا" #: ../../auth.c:627 msgid "strong" msgstr "قوي" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "مستوى الوصول الحالي : %d (%s)\n" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "اختار مستوى الوصول لهذا المستخدم" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "تم الالغاء لم يتم تغير كلمة السر" #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "لم يتم التطابق لكلمة السر , ولم يتم تغير كلمة السر" #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "غير مسموح ان تكون كلمة السر ÙØ§Ø±ØºØ©" #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "دعوة لقاء" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "المدعون اجابوا دعوتك" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "نشر الحدث" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "هذا هو نوع غير معرو٠من عنصر التقويم" #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "الموقع :" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "تاريخ:" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "تاريخ ووقت البدء" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "تاريخ الانتهاء" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "تكرار" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "هذا هو الحدث المتكرر" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "الحاضرين" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "هذا تخديث لل '%s' والذي هوة موجود اصلا ÙÙŠ تقويمك" #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "هذا تخديث سيتعارض لل '%s' والذي هوة موجود اصلا ÙÙŠ تقويمك" #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "تحديث:" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "تضارب" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "لاتوجد ترجمة لحد الان" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "مواÙÙ‚" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "مؤقت" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "Ø±ÙØ¶" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "اضغط تحديث لقبول هذه الاجابة وتحديث التقويمr." #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "حدّث" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "تجاهل" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "حصل خطا ÙÙŠ تحليل عنصر التقويم" #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "لقد قبلت دعوة الاجتماع وقد تم ادخالها ÙÙŠ تقويمك" #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "لقد قبلت هذه الدعوة مبدئيا وتم كتابتها ÙÙŠ التقويم الخاص بك" #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "لقد Ø±ÙØ¶Øª دعوة الاجتماع ولم يتم Ø§Ø¶Ø§ÙØªÙ‡Ø§ الى التقويم الخاص بك" #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "تم ارسال اجابتك لمنظم الاجتماع" #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "تم تحديث التقويم ليعكس اجابة الطلب" #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "لقد اختاريت عدم ارسال اجابة للطلب Ùˆ لم يتم تحديث التقويم" #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "يبدء يوم عرض التقويم ÙÙŠ" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "يتهي يوم عرض التقويم ÙÙŠ" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "يبدأ الأسبوع ÙÙŠ:" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "لقد حصل خطاء عند محاولة استعادة هذا المل٠:%s\n" #: ../../event.c:71 msgid "seconds" msgstr "ثوان/ثانية" #: ../../event.c:72 msgid "minutes" msgstr "دقيقة/دقائق" #: ../../event.c:73 msgid "hours" msgstr "ساعات" #: ../../event.c:74 msgid "days" msgstr "أيام" #: ../../event.c:75 msgid "weeks" msgstr "أسابيع" #: ../../event.c:76 msgid "months" msgstr "أشهر" #: ../../event.c:77 msgid "years" msgstr "سنوات" #: ../../event.c:78 msgid "never" msgstr "أبداً" #: ../../event.c:82 msgid "first" msgstr "الأوّل" #: ../../event.c:83 msgid "second" msgstr "ثانية" #: ../../event.c:84 msgid "third" msgstr "الثّالث" #: ../../event.c:85 msgid "fourth" msgstr "الرّابع" #: ../../event.c:86 msgid "fifth" msgstr "الخامس" #: ../../event.c:89 msgid "Event" msgstr "حدث" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "الحضور" #: ../../event.c:168 msgid "Add or edit an event" msgstr "اض٠او حرر حدث" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "موجز" #: ../../event.c:222 msgid "Location" msgstr "الموقع" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "أبدء" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "جميع أحداث اليوم" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "نهاية" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "ملاحظات" #: ../../event.c:374 msgid "Organizer" msgstr "المنظّÙÙ…" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "انتة المنظم" #: ../../event.c:397 msgid "Show time as:" msgstr "اظهر الوقت Ùƒ" #: ../../event.c:420 msgid "Free" msgstr "حرّ" #: ../../event.c:428 msgid "Busy" msgstr "مشغول" #: ../../event.c:445 msgid "(One per line)" msgstr "شخص واحد ÙÙŠ كل خط" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "جهات الاتصال" #: ../../event.c:518 msgid "Recurrence rule" msgstr "تكرار الحكم" #: ../../event.c:522 msgid "Repeats every" msgstr "تكرار كل" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "ÙÙŠ هذه الايام من الاسبوع" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "ÙÙŠ هذه %s%d%s الايام من الشهر" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "ÙÙŠ هذه " #: ../../event.c:631 msgid "of the month" msgstr "من هذا الشهر" #: ../../event.c:660 msgid "every " msgstr "كل " #: ../../event.c:661 msgid "year on this date" msgstr "السنة ÙÙŠ هذا التاريخ" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "من" #: ../../event.c:717 msgid "Recurrence range" msgstr "تكرار مجموعة" #: ../../event.c:725 msgid "No ending date" msgstr "بلا تاريخ انتهاء" #: ../../event.c:732 msgid "Repeat this event" msgstr "كرر هذا الحدث" #: ../../event.c:735 msgid "times" msgstr "مرات" #: ../../event.c:743 msgid "Repeat this event until " msgstr "كرر هذا الحدث الى " #: ../../event.c:771 msgid "Check attendee availability" msgstr "Ø§ÙØ­Øµ وجود الحاضرين" #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "حدث بغير عنوان" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "اعدادات شريط الايقونات" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "ادخال عنوان خاطء" #: ../../inetconf.c:126 msgid " has been deleted." msgstr " تم المسح" #. added status message #: ../../inetconf.c:144 msgid " added." msgstr " تمت Ø§Ù„Ø§Ø¶Ø§ÙØ©" #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "صلاحية اعلى للسماح بالوصل لهذه Ø§Ù„ÙˆØ¸ÙŠÙØ©" #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "يجب تحديد القائمة البريدية للاشتراك بها" #: ../../listsub.c:38 ../../listsub.c:76 msgid "You need to specify the email address you'd like to subscribe with." msgstr "يجب عليك تحديد العناوين البريدية التي تنوي الاشتراك بها" #: ../../messages.c:73 msgid "ERROR:" msgstr "خطأ:" #: ../../messages.c:91 msgid "Empty message" msgstr "رسالة ÙØ§Ø±ØºØ©" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "تم الالغاء لم يتم Ø§Ø¶Ø§ÙØ© الرسالة" #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "تم الالغاء تلقائيا وذلك بسبب كونك Ø­ÙØ¸Øª مسبقا" #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "ÙØ´Ù„ Ø§Ù„Ø­ÙØ¸ للمسودات " #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "Ø±ÙØ¶ Ø§Ø¶Ø§ÙØ© رسالة ÙØ§Ø±ØºØ©\n" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "تم Ø­ÙØ¸ الرسالة للمسودات\n" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "تم ارسال الرسالة بنجاح\n" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "تم نشر الرسالة بنجاح\n" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "لم يتم نقل الرسالة" #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "لقد حصل خطا عندما تم محاولة استرجاع هذا %s/%s\n" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "لقد حصل خطا عندما تم محاولة استرجاع هذا %s\n" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "ادخال توقيع للرسالة" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "استخدم التوقيع" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "Ø§Ù„ØµÙØ© Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠØ© المستخدمة لعنوان الرسالة" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "عناوين البريد الالكتروني Ø§Ù„Ù…ÙØ¶Ù„Ø©" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "الاسم Ø§Ù„Ù…ÙØ¶Ù„ لرسائل البريد الالكتروني" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "اسم العرض Ø§Ù„Ù…ÙØ¶Ù„ لوظائ٠لوحة الإعلانات" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "طريقة عرض البريد الالكتروني" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "اضغط على اي من الملاحضات للتعديل عليها" #: ../../paging.c:29 msgid "Send instant message" msgstr "ارسل رسالة Ùورية" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "ارسل رسالة Ùورية الى " #: ../../paging.c:51 msgid "Enter message text:" msgstr "ادخل رسالة نصية" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "إرسال رسالة" #: ../../paging.c:78 msgid "Message was not sent." msgstr "لم يتم ارسال الرسالة" #: ../../paging.c:89 msgid "Message has been sent to " msgstr "تم ارسال الرسالة " #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "الغاء لم يتم تغير اي من الاعدادات" #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "اجعل هذه ØµÙØ­Ø© البداية" #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "هذه غير مسموح لكي تكون ØµÙØ­Ø© البداية" #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "لم تعود تملك ØµÙØ­Ø© بداية مختارة" #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "ØµÙØ­Ø© البداية Ø§Ù„Ù…ÙØ¶Ù„Ø©" #: ../../roomlist.c:105 msgid "My Folders" msgstr "مجلداتي" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "الغاء لن يتم Ø­ÙØ¸ البيانات" #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "التغيرات التي قمت بها تم Ø­ÙØ¸Ù‡Ø§" #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "المستخدم '%s' تم طرده من Ø§Ù„ØºØ±ÙØ© '%s'." #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "المستخدم '%s' تم دعوته '%s'." #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "الغام لم يتم انشاء ØºØ±ÙØ© جديدة" #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "تم مسح الطابق" #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "تم انشاء طابق جديد" #: ../../roomops.c:1363 msgid "Room list view" msgstr "عرض قائمة Ø§Ù„ØºØ±ÙØ©" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "اضهر الطوابق Ø§Ù„ÙØ§Ø±ØºØ©" #: ../../roomtokens.c:570 msgid "file" msgstr "ملÙ" #: ../../roomtokens.c:572 msgid "files" msgstr "Ù…Ù„ÙØ§Øª" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "نشرة الأخبار لمجلس الإدارة" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "مجلد البريد" #: ../../roomviews.c:55 msgid "Address Book" msgstr "Ø¯ÙØªØ± العناوين" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "التقويم" #: ../../roomviews.c:57 msgid "Task List" msgstr "قائمة المهام" #: ../../roomviews.c:58 msgid "Notes List" msgstr "قائمة الملاحظات" #: ../../roomviews.c:59 msgid "Wiki" msgstr "Ø§Ù„Ù…Ø¹Ø±ÙØ©" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "قائمة التقويم" #: ../../roomviews.c:61 msgid "Journal" msgstr "السجل اليومي" #: ../../roomviews.c:62 msgid "Drafts" msgstr "المسودّات" #: ../../roomviews.c:63 msgid "Blog" msgstr "المدونة" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" "هذا الخادم يقوم بخدمة اقصى عدد ممكن من المستخدمين ولا يقبل محاولات دخول " "جديدة ÙÙŠ هذا الوقت يرجى المحاولة لاحقا او الاتصال بمدير النظام ." #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "استقبال اجابة غير متوقعة من Ø³ÙŠØ±ÙØ± كاتاديل مخرج الحسابات" #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "تم تحديث اعدادتك للخادم" #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "المحاولة الاولى معلقة" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "حدث خطأ أثناء محاولة إنشاء أو تحرير إدخال Ø¯ÙØªØ± العناوين هذا." #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "لم يتم Ø­ÙØ¸ التغيرات" #: ../../useredit.c:778 msgid "A new user has been created." msgstr "تم انشاء مستخدم جديد" #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" "تحاول إنشاء مستخدم جديد من داخل القلعة أثناء تشغيل ÙÙŠ وضع المضي٠المصادقة " "القائمة. ÙÙŠ هذا الوضع، يجب إنشاء مستخدمين جدد على النظام Ø§Ù„Ù…Ø¶ÙŠÙØŒ وليس داخل " "القلعة" #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "(بلا اسم)" #: ../../vcard_edit.c:438 msgid " (work)" msgstr " عمل" #: ../../vcard_edit.c:440 msgid " (home)" msgstr " الرئيسي" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr " الخلية" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "العنوان:" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "الهاتÙ:" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "البريد الإلكتروني:" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "Ø¯ÙØªØ± العناوين ÙØ§Ø±Øº" #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "حدث خطا داخلي" #: ../../vcard_edit.c:940 msgid "Error" msgstr "خطأ" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "تحرير معلومات المستخدم" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "البادئة" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "الاسم الأول" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "الاسم الأوسط" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "الاسم الأخير" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "اللاحقة" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "اسم العرض:" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr ": العنوان" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "المنظمة/الشركة:" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "صندوق البريد:" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "المدينة:" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "الولاية:" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "الرمز البريدي" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "البلد:" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "هات٠المنزل" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "هات٠العمل" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "الهات٠المحمول" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "رقم Ø§Ù„ÙØ§ÙƒØ³" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "العنوان البريدي الرئيسي" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "عناوين البريد المستعارة" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "غير قادر على الدخول Ù„Ù„ØºØ±ÙØ© Ù„Ø­ÙØ¸ الرسائل" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "الغاء العملية" #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "تعذر ÙÙƒ التشÙير الصورة\n" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "التوثيق مطلوب" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" "المصادر التي تحاول الوصول اليها تطلب ادخال اسم المستخدم وكلمة السر لا تستطيع " "الدخول %s\n" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" "لايستطيع البرنامج الاتصال او البقاء متصلا بخادم كاتديل رجاء ابلغ مدير النظام " "بهذه المشكلة" #: ../../webcit.c:688 msgid "Read More..." msgstr "اقراء المزيد" #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "'%s' هذه ليست ØºØ±ÙØ© Ù…Ø¹Ø±ÙØ©" #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "لاتوجد ØµÙØ­Ø© تدعى '%s' هنا" #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "اختار تحرير Ø§Ù„ØµÙØ­Ø© واربط مع بنر Ø§Ù„ØºØ±ÙØ© اذا كنت تريد انشاء هذه Ø§Ù„ØµÙØ­Ø©" #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "تاريخ" #: ../../wiki.c:143 msgid "Author" msgstr "المؤلÙ" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "عرض" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "النسخة الحالية" #: ../../wiki.c:184 msgid "(revert)" msgstr "العودة" #: ../../wiki.c:246 msgid "Page title" msgstr "عنوان Ø§Ù„ØµÙØ­Ø©" #: ../../fmt_date.c:306 msgid "Time format" msgstr "نسق الوقت" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "من" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "تاريخ وقت البدء" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "تاريخ الانتهاء" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "الوقت / التاريخ" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "ملاحظات" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "السابقة" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "التّالي" #: ../../calendar_view.c:750 msgid "Week" msgstr "الأسبوع" #: ../../calendar_view.c:752 msgid "Hours" msgstr "الساعات" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "الموضوع" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "الحدث الجاري" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "حرر" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "لا اعر٠كي٠اعرض " #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "(بدون موضوع)" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "قائمة المعالجة ÙØ§Ø±ØºØ©" #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "ليس لديك الصلاحية لعرض هذه المصادر" #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "تخصيص شريط الايقونات" #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "عرض على شكل" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "الصورة والنص" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "الصورة Ùقط" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "النص Ùقط" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "" "حدد الرموز التي تود أن ترى ÙÙŠ عرض قائمة \"شريط رمز\" على الجانب الأيسر من " "الشاشة." #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "نعم" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "كلا" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "شعار الموقع" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "ايقونة تص٠الموقع" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "ملخص Ø§Ù„ØµÙØ­Ø© الخاص بك" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "البريد الوارد" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "طريق مختصر لصندوق البريد الخاص بك" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "Ø¯ÙØªØ± العناوين الخاص بك" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "ملاحظتك" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "طريق مختصر لتقويمك الخاص" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "المهام" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "طريق مختصر لقائمة المهام الخاصة بك" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "الغرÙ" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "الضغط على هذه الايقونة يعرض جميع الغر٠او Ø§Ù„Ø­Ø§ÙØ¸Ø§Øª ÙÙŠ حالة وجودها" #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "من هو موجود الان ØŸ" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "" "الضغط على هذه الايقونة يعرض قائمة لجميع المستخدمين المسجلين الدخول حاليا" #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "محادثات" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "" "النقر على هذه الايقونة يسمح لكم بالدخول ÙÙŠ حالة المراسلة الحية مع المستخدمين " "ÙÙŠ Ù†ÙØ³ Ø§Ù„ØºØ±ÙØ©" #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "خيارات متقدمة" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "الوصول لكامل القائمة ووضائÙها ÙÙŠ كاتيديل" #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "شعار بريد كاتيديل" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "عرض ايقونة مقدم من كاتيديل" #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 msgid "System Administration Menu" msgstr "قائمة مدير النظام" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 msgid "Room Admin Menu" msgstr "قائمة مدير Ø§Ù„ØºØ±ÙØ©" #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "الأسماء المستعارة للمضي٠المحلي" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "دليل المجالات" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "المضيÙين الاذكياء" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 msgid "Fallback smart hosts" msgstr "النسخ الاحتياطي للمضيÙين الاذكياء" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "اشعار المضيÙين" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 msgid "RBL hosts" msgstr "" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "مضيÙين قاتل البريد المزعج" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 msgid "Masqueradable domains" msgstr "المجالات القابلة للتنكر" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" "التعديلات التي تم عملها سو٠لن تاخذ مجرها حتى عمل اعادة تشغيل لخادم كاتيديل" #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 msgid "Network services" msgstr "خدمات الشبكة" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 #, fuzzy msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "عنوان الخادم 0.0.0.0" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "الاعدادات المتقدمة مسيطرات التولي٠للخادم" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "اقصى طول للرسالة" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "وقت الاتصال بدون عمل على الخادم بالثانية" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "تردد عمل الشبكة بالثانية" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "اقصى عدد للجلسات المتزامنة (0 = لا حدود)" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "اقصى عدد من مؤشرات ترابط العمل" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "اقصى عدد من مؤشرات ترابط العمل" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "تلقائيا امسح بيانات السجل المتلازمة" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "انشاء اسم ØºØ±ÙØ© جديد" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "اسم Ø§Ù„ØºØ±ÙØ© " #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "يتواجد ÙÙŠ طابق " #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "العرض Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠ Ù„Ù„ØºØ±ÙØ© " #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "انواع الغرÙ" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "عام تلقائيا يضهر للجميع" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "خاص - مخÙÙŠ قابل للوصول من قبل اي شخص يعر٠الاسم" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "خاص يطلب كلمة مرور " #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "خاص عن طريق الدعوات" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "شخصي - صندوق بريد لك Ùقط" #: ../../i18n_templatelist.c:95 #, fuzzy msgid "Create new room" msgstr "انشاء اسم ØºØ±ÙØ© جديد" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "خروج" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "تسجيل الدخول مجددا" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "نسيان الغاء الاشتراك Ù„Ù„ØºØ±ÙØ© الحالية" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 msgid "If you select this option," msgstr "اذا ضغطت على هذا الخيار" #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 msgid "will disappear from your room list. Is this what you wish to do?" msgstr "سو٠تختÙÙŠ من قائمة الغر٠هل هو هذا ما تود عمله ØŸ" #: ../../i18n_templatelist.c:102 #, fuzzy msgid "Zap this room" msgstr "تخطي هذه Ø§Ù„ØºØ±ÙØ©" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" "الانتباه رجاءا , Ø§Ù„Ø¬Ø§ÙØ§ سكربت معطلة ÙÙŠ Ø§Ù„Ù…ØªØµÙØ­ العديد من الوظائ٠لهذا النضام " "لن تعمل بصورة صحيحة" #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "اسم المستخدم" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "ØºØ±ÙØ©" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "من المضيÙ" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "المرسÙÙ„" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "تحميل الرسائل من الخادم يرجى الانتضار" #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "Ø§ÙØªØ­ ÙÙŠ Ù†Ø§ÙØ°Ø© جديدة" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "نقل" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "إنسخ" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "طباعة" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "" "ارسل البريد الالكتروني الى هؤلاء المضيÙين Ùقط ÙÙŠ حالة ÙØ´Ù„ الاستلام المباشر" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "غر٠المتحركين المنسية" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 msgid "Click on any room to un-zap it and goto that room." msgstr "اضغط على اي ØºØ±ÙØ© Ù„ÙØªØ­Ù‡Ø§ وثم اذهب Ù„Ù„ØºØ±ÙØ©" #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "تغير اعدادتك Ø§Ù„Ù…ÙØ¶Ù„Ø©" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "حدث معلومات المستخدمين" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "تغيير كلمة سرّك" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "ادخل معلومات Bio" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "ادخل صورة التواجد الخاصة بك" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "عرض / تحرير جهة الخادم Ùلاتر البريد" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "تحرير اعدادات البريد" #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 msgid "Manage your OpenIDs" msgstr "ادارة المعر٠الخاص بك" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "" #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "عرض" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "نزّل" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "لإعدادات العالمية" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "ادارة حساب المستخدم" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "Ø§Ø·ÙØ§Ø¡ خادم كاتي ديل" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "الغر٠والطوابق" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "اذهب Ù„Ù„ØºØ±ÙØ© المخÙية" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" "اذا كنت تعر٠الاسم المخÙÙŠ واسم الضي٠او كلمة السر او كلمة سر Ø§Ù„ØºØ±ÙØ© تستطيع " "الدخول Ù„Ù„ØºØ±ÙØ© بالضغط على الاسم وعند حصولك صلاحية الوصول لهذه Ø§Ù„ØºØ±ÙØ© سو٠تضهر " "ÙÙŠ قائمة الغر٠الاعتيادية لديك" #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "ادخل اسم Ø§Ù„ØºØ±ÙØ©" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "ادخل كلمة السر Ù„Ù„ØºØ±ÙØ©" #: ../../i18n_templatelist.c:144 #, fuzzy msgid "Go there" msgstr "ÙÙŠ هذه " #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "Ù…ÙÙ† " #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "إلى" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "نسخة إلى:" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "الموضوع:" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 msgid "Push Email" msgstr "Ø§Ø¯ÙØ¹- اظغط البريد" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 msgid "Funambol server host (blank to disable)" msgstr "اسم المضي٠لخادم Funambol اترك ÙØ§Ø±Øº للتعطيل" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 msgid "Funambol server port " msgstr "Ù…Ù†ÙØ° خادم Funambol " #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 msgid "Funambol sync source" msgstr "مصدر مزامنة خادم Funambol" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "ØªÙØ§ØµÙŠÙ„ التوثيق لخادم Funambol" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 msgid "External pager tool (blank to disable)" msgstr "اداة التنضي٠الخارجية اترك ÙØ§Ø±Øº للتعطيل" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "عرض Ø§Ù„Ø­Ø§ÙØ¶Ø§Øª على شكل شجرة" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "عرض الغر٠على شكل جدول" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "12 ساعة" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "24 ساعة" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 msgid "Sunday" msgstr "اﻷحد" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 msgid "Monday" msgstr "الأثنين" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "بدون توقيع" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "كامل الوضائÙ" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "الوضع الامن" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "الوضع الامن هو اقل حمل على خادم البريد لكن لايعمل بجميع الميزات" #: ../../i18n_templatelist.c:168 msgid "Change" msgstr "" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "الاعدادات ÙˆØ§Ù„Ù…ÙØ¶Ù„ات" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "الروابط المستخدمة للابلاغ عند استلام بريد الكتروني جديد" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "الاوامر الاساسية" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "معلوماتك" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "اوامر Ø§Ù„ØºØ±ÙØ© المتقدمة" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "حر حساب مستخدم " #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "اسم المستخدم:" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "كلمة السر" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "الاذونات لارسال بريد داخلي" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 msgid "Number of logins" msgstr "عدد محاولات الدخول" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 msgid "Messages submitted" msgstr "تم تقديم الرسالة" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 msgid "Access level" msgstr "مستوى الوصول" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 msgid "User ID number" msgstr "رقم معر٠المستخدم" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "تاريخ ووقت اخر محاولة دخول" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "التطهير الاوتماتيكي بعد عدة ايام" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 msgid "POP3 fetch frequency in seconds" msgstr "تردد الاحضار ÙÙŠ الثانية \t POP3" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 msgid "POP3 fastest fetch frequency in seconds" msgstr "سرعة تردد الاحضار POP3 ÙÙŠ الثانية" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "اعرض حجز الخرج لبروتكول SMTP" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "اعادة تحديث Ø§Ù„ØµÙØ­Ø©" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 #, fuzzy msgid "Remote Sites:" msgstr "اسماء المضيÙين البعيدة" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 #, fuzzy msgid "Status:" msgstr "الولاية:" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 #, fuzzy msgid "Jobs waiting for further processing:" msgstr "مستمر بالمعالجة" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 msgid "Message to your Users:" msgstr "رسالة للمستخدمين" #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "الإدارة" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "الإعدادات" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "سياسة انهاء الرسائل" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "السيطرة على الوصول" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "المشاركة" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "خدمة قائمة البريد" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "الاسترجاع عن بعد" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "لقد تم تحديث شريط الايقونات الريجا اختيار احد الاختيارات للاستمرار" #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "تستيطع عمل تحديث عن طريق (SHIFT-F5)> من اجل ان تاخذ التغيرات Ù…ÙØ¹ÙˆÙ„ها" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 msgid "General site configuration items" msgstr "الاعدادت العامة للموقع" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "تغير شعار الدخول" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "تغير شعار الخروج" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 msgid "Node name" msgstr "اسم العقدة" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "اسم النطاق المؤهل الكامل" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "اسم العقد القابل للقراء" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 msgid "Telephone number" msgstr "رقم الهاتÙ" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "الواجه المخصصة لاستخدام النصوص للمستخدمين" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "موقع الرسومات لهذا النظام" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "اسم مدير النظام" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "" "وقت المنطقة Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠ Ù„Ø¹Ù†Ø§ØµØ± البريد الالكتروني الغير موضوعة ضمن منطقة معينة" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 #, fuzzy msgid "Networked Room" msgstr "ØºØ±ÙØ© المشاركة عن طريق الشبكة" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 msgid "Add a new node" msgstr "Ø§Ø¶Ø§ÙØ© عقدة جديدة" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "كلمة السر المشتركة بين طرÙين" #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "عنوان الانترنت Ip للمضيÙ" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 msgid "Port number" msgstr "رقم Ø§Ù„Ù…Ù†ÙØ°" #: ../../i18n_templatelist.c:241 #, fuzzy msgid "Add node?" msgstr "Ø§Ø¶Ø§ÙØ© عقدة جديدة" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 msgid "(kill)" msgstr "اقضي على العملية" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 #, fuzzy msgid "Edit configuration" msgstr "ضبط الموقع" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 #, fuzzy msgid "Edit address book entry" msgstr "Ø¯ÙØªØ± العناوين ÙØ§Ø±Øº" #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 #, fuzzy msgid "Minutes" msgstr "دقيقة/دقائق" #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 #, fuzzy msgid "active" msgstr "مؤقت" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 msgid "(Edit)" msgstr "تحرير" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "مسح" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "لاتوجد رسائل جديدة" #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "ØµÙØ­Ø© بداية جديدة" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "ØµÙØ­Ø© البدء الخاصة بك تم تغيرها" #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" "ملاحظة: هذا لا يغير Ø§Ù„ØµÙØ­Ø© الرئيسية ÙÙŠ Ø§Ù„Ù…ØªØµÙØ­ لديك. يتغير Ø§Ù„ØµÙØ­Ø© التي تبدأ " "عند تسجيل الدخول" #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "كتابة تعليق" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "اكد المسح" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "هل انتة متاكد من رغبتك بالمسح " #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 msgid "Add, change, delete user accounts" msgstr "اض٠غير امسح الحسابات" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 msgid "(hosts running the ClamAV clamd service)" msgstr "المستخدمين Ù…ÙØ¹Ù„ين خدمة ClamAV" #: ../../i18n_templatelist.c:270 #, fuzzy msgid "Send" msgstr "المرسÙÙ„" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 msgid "Restart Citadel" msgstr "اعادة تشغيل خادم كاتيديل" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "من" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "مجهول" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "ÙÙŠ" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "إلى:" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "نسخة مطابقة إلى:" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "الموضوع اختياري" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "اعادة توجيه" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 msgid "Post message" msgstr "انشر الرسالة" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "Ø­ÙØ¸ للمسودات" #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "مرÙقات:" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 #, fuzzy msgid "Delete this message?" msgstr "مسح هذه Ø§Ù„ØºØ±ÙØ©" #: ../../i18n_templatelist.c:300 #, fuzzy msgid "Room Logo" msgstr "معلومات Ø§Ù„ØºØ±ÙØ©" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "بحث: " #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "نتائج ايعاز الخادم" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 msgid "Enter another command" msgstr "ادخل ايعاز اخر" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 msgid "Return to menu" msgstr "العودة للقائمة" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 msgid "Users currently on" msgstr "المستخدمين الذي يعملون حاليا" #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "المل٠الشخصي للمستخدم" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 msgid "Click here to send an instant message to" msgstr "اضغط هنا لارسال رسالة Ùورية" #: ../../i18n_templatelist.c:308 #, fuzzy msgid "Pictures in" msgstr "الصورة Ùقط" #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 msgid "Edit or delete users" msgstr "حرر او امسح مستخدم" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 msgid "You need to be aide to view this." msgstr "يجب ان تكون المعاون لعرض هذا" #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 msgid "Add users" msgstr "Ø¥Ø¶Ø§ÙØ© مستخدمين" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 msgid "Edit or Delete users" msgstr "Ø§Ø¶Ø§ÙØ© او مسح يوزر" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "الرجاء الانتظار ... نقوم باعدة تشغيل خادم كاتيديل ... " #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 msgid "User list for " msgstr "قائمة المستخدمين لاجل " #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "إسم المستخدم" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "عدد" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "مستوى الوصول" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "آخر دخول" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "مجمع محاولات الدخول" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "مجموع المشاركات" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "جار٠التحميل" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "معر٠حسابك" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "تم التحقق بنجاح" #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "على كل حال" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "تضارب مع مستخدم موجود اصلا" #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "الرجاء تحديد اسم المستخدم الذي تنوي استخدامها" #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "سياسة انها الرسائل لهذه Ø§Ù„ØºØ±ÙØ©" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "استخدم السياسة Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠØ© لهذا الطابق" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "ابدا لا تسمح بانتهاء الرسائل" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "انهاء الرسائل عن طريق العداد" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "انهاء الرسائل عن طريق عمر الرسالة" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "عدد الرسائل أو أيام " #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "سياسة انهاء الرسائل ÙÙŠ هذا الطابق" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "اعادة النضام الى الوضع Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠ" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "إغلاق Ø§Ù„Ù†Ø§ÙØ°Ø©" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 #, fuzzy msgid "Upload failed" msgstr "Ø±ÙØ¹ ملÙ" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 #, fuzzy msgid "Are you shure you want to delete {filename}?" msgstr "هل انتة متاكد من رغبتك بالمسح " #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "المل٠المرÙÙ‚" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 msgid "Remove" msgstr "حذÙ" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "الÙهرسة واليوميات" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "تحذير: هذه المراكز تتطلب موارد كثيرة." #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "ØªÙØ¹ÙŠÙ„ Ùهرسة النص المتكامل" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 msgid "Perform journaling of email messages" msgstr "تنÙيذ يوميات رسائل البريد الإلكتروني" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 msgid "Perform journaling of non-email messages" msgstr "تنÙيذ يوميات لغير رسائل البريد اللاكتروني" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "وجهات الابريد الالكتروني ليوميات البريد او الرسائل" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "Ø§Ù„Ù…Ù„ÙØ§Øª الجاهزة للتحميل" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "Ø±ÙØ¹ ملÙ" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "Ø±ÙØ¹" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "اسم الملÙ" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "الحجم" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "المحتوى" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "الوصÙ" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" "هذا التنصيب للخادم بدون اي دعم Ùني - الرجاء الاتصال بمدير النظام ÙÙŠ حالة " "رغبتك بالحصول على هذه الميزة" #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "جديد من" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "رسائل" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "اختار ØµÙØ­Ø© " #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "استرداد الرسائل من حسابات POP3 البعيد هذه وتخزينها ÙÙŠ هذه Ø§Ù„ØºØ±ÙØ©:" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 msgid "Remote host" msgstr "اسماء المضيÙين البعيدة" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 msgid "Keep messages on server?" msgstr "ابقاء الرسائل ÙÙŠ الخادم" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 msgid "Interval" msgstr "Ø§Ù„ÙØªØ±Ø©" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "Ø¥Ø¶Ø§ÙØ©" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "جلب rss التالية وتخزينها ÙÙŠ هذه Ø§Ù„ØºØ±ÙØ©:" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "رابط التغذية" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "لانشاء مستخدم جديد ادخل اسم المستخدم المعني ÙÙŠ الحقل واضغط انشاء" #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 msgid "New user: " msgstr "مستخدم جديد " #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "المجالات المعين مع عناوني عالمية" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "قائمة Ø¨ØµÙØ­Ø§Øª Ø§Ù„Ù…Ø¹Ø±ÙØ©" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "حذÙ" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" "المستخدمين المدرجين ادناه لهم صلاحية الوصول لهذه Ø§Ù„ØºØ±ÙØ© لمسح مستخدم من قائمة " "الصلاحيات حدد اسم المستخدم من القائمة المدرجة واضغط طرد" #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" "لمنح مستخدم اخر صلاحية الوصول لهذه Ø§Ù„ØºØ±ÙØ© ادخل اسم المستخدم ÙÙŠ الحقل واضغط " "ادعو" #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "ادعو" #: ../../i18n_templatelist.c:426 #, fuzzy msgid "Invite" msgstr "ادعو" #: ../../i18n_templatelist.c:427 #, fuzzy msgid "User" msgstr "المستخدمون" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 msgid "Users" msgstr "المستخدمون" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 #, fuzzy msgid "Addressbook Popup" msgstr "Ø¯ÙØªØ± العناوين" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "لتحرير حساب مستخدم موجود اختار اسم المستخدم من القائمة واضغط تحرير" #: ../../i18n_templatelist.c:435 #, fuzzy msgid "Delete user" msgstr "مسح السكربتات - القطع البرمجية" #: ../../i18n_templatelist.c:436 #, fuzzy msgid "Delete this user?" msgstr "مسح هذه Ø§Ù„ØºØ±ÙØ©" #: ../../i18n_templatelist.c:437 #, fuzzy msgid "Delete File" msgstr "حذÙ" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "عرض الشرائح" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "المضيÙين Ù…ÙØ¹Ù„ين خدمة قاتل البريد المزعج" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "which is already in your calendar." msgstr "هذا تخديث لل '%s' والذي هوة موجود اصلا ÙÙŠ تقويمك" #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "This event would conflict with" msgstr "هذا تخديث سيتعارض لل '%s' والذي هوة موجود اصلا ÙÙŠ تقويمك" #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "عند وصل البريد الجديد " #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "اتركه ÙÙŠ صندوق البريد بدون Ùلترة" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "Ùلتر تبعا للقوانين المختارة هنا" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "Ùلتر بصور يدوية - وحرر النص - مستخدم متقدم Ùقط" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "البريد القادم لن تتم Ùلترته عن طريق اي نص برمجي سكربت معد مسبقا" #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "أض٠قاعدة" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "النصوص البرمجية Ø§Ù„Ù…ÙØ¹Ù„Ø© الان " #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "اض٠او حرر نص برمجي سكربت" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "تكوين رابط Ldap لخادم كاتيديل" #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" "ملاحظة: تم بناء هذا الخادم القلعة دون دعم LDAP. وهذه الخيارات ليس لها أي أثر." #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "اسم المضي٠لخادم Ldab اترك ÙØ§Ø±Øº لتعطيل الميزة" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "رقم Ø§Ù„Ù…Ù†ÙØ° لخادم Ldap اترك ÙØ§Ø±Øº لتعطيل الميزة" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "قاعدة دي إن (DN)" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "ربط dn" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "كلمة السر لربط dn" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "تحرير او Ø­Ø°Ù Ø§Ù„ØºØ±ÙØ©" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "الذهاب الى Ø§Ù„ØºØ±ÙØ© المخÙية" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 msgid "Zap (forget) this room" msgstr "Ø§Ù„ØºØ±ÙØ© المخÙية zap" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "اضهار جميع الغر٠المحمية zap" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 #, fuzzy msgid "Zap duplicate messages" msgstr "قراءة الرسائل الجديدة" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "عنوان الرسالة" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "وقت وتاريخ التقديم" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 msgid "Next attempt" msgstr "المحاولة القادمة" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "المتسلمون" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "قراءة #" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "الترتيب من القديم للحديث" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "الترتيب من الحديث للقديم" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "" "الرجاء الانتظار بينما يتم ترحيلها المستخدمين الخاص بك، سيتم إعادة تشغيل " "الملقم بعد ذلك خادم كاتيديل " #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "تحرير" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "الرد" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "الرد باقتباس" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "الرد على الجميع" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "إعادة توجيه" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "رؤوس" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "تحرير اعدادات ÙÙŠ ÙƒØ§ÙØ© أنحاء الموقع" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "اعدادات المجالات Ùˆ البريد الالكتروني" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "اعدادات النسخ التمائلي بين خادمين كاتيديل" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 #, fuzzy msgid "Powered by Citadel" msgstr "عرض ايقونة مقدم من كاتيديل" #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "اللغة:" #: ../../i18n_templatelist.c:507 #, fuzzy msgid "Go to your email inbox" msgstr "طريق مختصر لصندوق البريد الخاص بك" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "البريد الإلكتروني" #: ../../i18n_templatelist.c:509 #, fuzzy msgid "Go to your personal calendar" msgstr "طريق مختصر لتقويمك الخاص" #: ../../i18n_templatelist.c:511 #, fuzzy msgid "Go to your personal address book" msgstr "Ø¯ÙØªØ± العناوين الخاص بك" #: ../../i18n_templatelist.c:513 #, fuzzy msgid "Go to your personal notes" msgstr "ملاحظتك" #: ../../i18n_templatelist.c:515 #, fuzzy msgid "Go to your personal task list" msgstr "طريق مختصر لقائمة المهام الخاصة بك" #: ../../i18n_templatelist.c:517 #, fuzzy msgid "List all your accessible rooms" msgstr "اضهار جميع الغر٠المحمية zap" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "المستخدمون المتواجدون حالياً" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "الخيارات المتقدمة" #: ../../i18n_templatelist.c:526 #, fuzzy msgid "Room and system administration functions" msgstr "اسم مدير النظام هو" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "تخصيص هذه القائمة" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "تسجيل الدخول" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "تبديل الى قائمة الغرÙ" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "تبديل الى قائمة" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "مجلداتي" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "IMAP رقم Ù…Ù†ÙØ° (-1 to disable)" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "IMAP over SSL port (-1 to disable) Ù…Ù†ÙØ°" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "Ø±ÙØ¹ صورة" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "تستطيع Ø±ÙØ¹ صورة مباشرتا من حاسبتك" #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "الرجاء اختيار Ù…Ù„Ù Ù„Ù„Ø±ÙØ¹" #: ../../i18n_templatelist.c:545 #, fuzzy msgid "Reset form" msgstr "خلاصة التنسيق" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "قائمة المشتركين" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "قائمة المشتركين والغير المشتركين" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "تم ارسال طلب التاكيد" #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "انتة مشترك " #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 msgid " to the " msgstr " ÙÙŠ " #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 msgid " mailing list." msgstr " القائمة البريدية" #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" "قائمة الخادم ارسلت لك بريد الكتروني مع معلومات اضاÙية رابط الكتروني يجب " "الضغط عليها لتاكيد اشتراكك" #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" "هذه الخطوة Ø§Ù„Ø§Ø¶ÙØ§Ø© هي من اجل حمايتك لمنع الاخرين من Ø§Ø¶Ø§ÙØªÙƒ ÙÙŠ قائمة بريدية " "من دون اذنك" #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "الرجاء الضغط على الرابط - الذي تم ارساله لك وسيتم تاكيد اشتراكك" #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "الرجوع" #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 msgid "ERROR" msgstr "خطأ" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "انتة الان غير مشترك" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 msgid "from the" msgstr "من" #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 msgid "mailing list." msgstr "قائمة البريد" #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" "قائمة الخادم ارسلت لك بريد الكتروني يحتوي على رابط يجب عليك الضغط على الرابط " "لتاكيد الغاء اشتراكك من القائمة البريدية" #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" "الخطوة الاضاÙية لحمايتك من الاخرين لالغاء اشتراكك من القوائم بدون مواÙقتك" #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" "الرجاء الضغط على الرابط الذي تم ارساله لك Ùˆ سيتم تاكيد الغاء الاشتراك من " "القائمة البريدية" #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 msgid "Back..." msgstr "الرجوع" #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 msgid "Confirmation successful!" msgstr "تم التاكيد بنجاح" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 msgid "Confirmation failed." msgstr "ÙØ´Ù„ت عملية التاكيد" #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "هذا قد يعني واحد من اثنين" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" "لقد تاخرت ÙÙŠ تاكيد اشتراكك او عدم اشتراكك هذا الرابط غير صالح - رابط " "التاكيد صالح لمدة ثلاثة ايام Ùقط يرجى اعادة الطلب" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" "لقد قمت مسبقا وبنجاح تاكيد اشتراكك او عدم اشتراكك وانتة تحاول هذا مجددا" #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "الخطاء المرسل من الخادم كان " #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 msgid "Name of list:" msgstr "اسم القائمة:" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 msgid "Your e-mail address:" msgstr "عنوان البريد الالكتروني" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "اذا تم الاشتراك النسق Ø§Ù„Ù…ÙØ¶Ù„: " #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 msgid "One message at a time" msgstr "رسالة واحد ÙÙŠ الوقت" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 msgid "Digest format" msgstr "خلاصة التنسيق" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" "عند محاولتك للاشتراك او عدم الاشتراك ÙÙŠ قائمة البريد سو٠تستلم برمد يحتوي " "على معلومات اضاÙية اضغط عليها للتاكيد النهائي" #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" "هذه الخطوة الاضاÙية من اجل حمايتك لمنع الاخرين من Ø§Ø¶Ø§ÙØªÙƒ او الغاء اشتراكك ÙÙŠ " "قائمة بريدية" #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 msgid "name of room: " msgstr "اسم Ø§Ù„ØºØ±ÙØ© " #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "اذا خاص سبب جميع المستخدمين لنسيان هذه Ø§Ù„ØºØ±ÙØ©" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "المستخدمين Ø§Ù„Ù…ÙØ¶Ù„ين Ùقط" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "ØºØ±ÙØ© للقراءة Ùقط" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "مسموع لجميع المستخدمين المشاركة Ùˆ حذ٠الرسائل" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "مل٠دليل الغرÙ" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "اسم الدليل " #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "Ø§Ù„Ø±ÙØ¹ مسموح" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "مسموح التحميل" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "الدليل المرئي" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 msgid "Network shared room" msgstr "ØºØ±ÙØ© المشاركة عن طريق الشبكة" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "مسموح او مستثنى لا تقوم بالتنظي٠التلقائي" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "اسم الموضوع مطلوب اجبر المستخدمين على تحديد موضوع الرسالة" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "الرسائل من الغرباء" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "لا توجد رسائل من الغرباء" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "جميع الرسائل من غرباء" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "مطالبة المستخدم عن الدخول للرسائل" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 msgid "Room aide: " msgstr "معاون Ø§Ù„ØºØ±ÙØ© " #: ../../i18n_templatelist.c:611 #, fuzzy msgid "Delete this entry?" msgstr "مسح هذه Ø§Ù„ØºØ±ÙØ©" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "عدم المشاركة مع" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "المشاركة مع" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 msgid "Remote node name" msgstr "اسم العقدة البعيدة" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 msgid "Remote room name" msgstr "اسم Ø§Ù„ØºØ±ÙØ© البعيدة" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "إجراءات" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 #, fuzzy msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" "عند مشاركة Ø§Ù„ØºØ±ÙØ©ØŒ يجب أن تكون مشتركة من كلا الجانبين. Ø¥Ø¶Ø§ÙØ© إلى قائمة عقدة " "'المشتركة' يرسل رسائل، ولكن من أجل الحصول على الرسائل، يجب أن يتم تكوين " "العقد الأخرى لإرسال رسائل إلى النظام الخاص بك أيضا.
  • إذا اسم Ø§Ù„ØºØ±ÙØ© عن " "بعد ÙØ§Ø±ØºØ©ØŒ ÙŠÙØªØ±Ø¶ أن اسم Ø§Ù„ØºØ±ÙØ© مطابق على عقدة البعيد.
  • إذا اسم Ø§Ù„ØºØ±ÙØ© " "البعيد Ù…Ø®ØªÙ„ÙØ©ØŒ يجب تكوين العقدة البعيدة أيضا اسم Ø§Ù„ØºØ±ÙØ© هنا." #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 #, fuzzy msgid "resend messages to this node" msgstr "ابقاء الرسائل ÙÙŠ الخادم" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "اض٠او عدل او امسح الطوابق" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "رقم الطابق" #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "اسم الطابق" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "عدد الغرÙ" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "تصميم الغرÙ" #: ../../i18n_templatelist.c:633 #, fuzzy msgid "Create new floor" msgstr "انشاء اسم ØºØ±ÙØ© جديد" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "" #: ../../i18n_templatelist.c:636 #, fuzzy msgid "Delete rule" msgstr "حذÙ" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "اذا" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "الى او مع" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "اجابة الى" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "اعد ارسال الÙورم" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "اعد الارسال الى" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "شكل المضروÙ" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "مضرو٠الى" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "الريد - اكس" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "علامة - البريد المزعج -اكس" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "حالة البريد المزعج - اكس" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "قائمة المعرÙين" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "حجم الرسالة" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "جميع" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "يحتوي على" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "لا يحتوي على" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "يكون" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "لا يكون" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "مطابق" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "لا يطابق" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "جميع الرسائل" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "هوة اكبر من" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "أقل من" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 msgid "bytes" msgstr "بايتات" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "Ø­ÙØ¸" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "تجاهل بصمت" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "Ø±ÙØ¶" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "انقل الرسالة الى" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "مرّر إلى" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "اجازة - عطلة" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "الرسالة:" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "ثم اضÙ" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "مستمر بالمعالجة" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "توقÙ" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "المجالات لهذا المستخدم لاستقبال البريد" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "إعدادات الشبكة" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "الاعدادات الحالية للعقد" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "الطابق Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠ" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "تحرير الرسوم" #: ../../i18n_templatelist.c:679 #, fuzzy msgid "Change name" msgstr "غير اسم Ø§Ù„ØºØ±ÙØ©" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 msgid "Configure automatic expiry of old messages" msgstr "تهيئة وقت انتهاء اوتماتيكي للرسئل القديمة" #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "قد يتم تجاوز هذه الإعدادات على أساس لكل الطابق أو ÙÙŠ Ø§Ù„ØºØ±ÙØ©" #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "الساعات Ù„ØªÙØ¹ÙŠÙ„ النضام التنضي٠الاوتماتيكي لقاعدة البيانات" #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 msgid "Default message expire policy for public rooms" msgstr "رسالة الانتهاء Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠØ© للغر٠العامة" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 msgid "Default message expire policy for private mailboxes" msgstr "السياسة Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠØ© لانهاء صناديق البريد الخاصة" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 msgid "Same policy as public rooms" msgstr "Ù†ÙØ³ السياسة المتبعة ÙÙŠ الغر٠العامة" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "وقت التنضي Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠ Ù„Ù„Ù…Ø³ØªØ®Ø¯Ù… الايام" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "الوقت Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠ Ù„Ù„ØªÙ†Ø¸ÙŠÙ Ø§Ù„Ø§ÙŠØ§Ù…" #: ../../i18n_templatelist.c:700 #, fuzzy msgid "Are you sure you want to delete this room?" msgstr "هل انتة متاكد من رغبتك بالمسح " #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "مسح هذه Ø§Ù„ØºØ±ÙØ©" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 msgid "Set or change the icon for this rooms banner" msgstr "تهيئة او تغير ايقونة بنر Ø§Ù„ØºØ±ÙØ©" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 msgid "Edit this rooms Info file" msgstr "تحرير مل٠معلومات Ø§Ù„ØºØ±ÙØ©" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "ادخل ايعاز الخادم" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" "هذه Ø§Ù„Ù†Ø§ÙØ°Ø© تسمح لك ادخال الاوامر لخادم كاتيديل والتي هي غير مدعومة عن طريق " "Ø§Ù„Ù…ØªØµÙØ­ اذا كنت لاتعلم مايعني هذا اذن لن تكون هذه Ø§Ù„Ù†Ø§ÙØ°Ø© ذات اهمية لك" #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "ادخل الاوامر" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "مدخل الاوامر اذا تطب ارسل SEND_LISTING transfer mode" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 msgid "Detected host header is " msgstr "الكش٠عن راس المضي٠" #: ../../i18n_templatelist.c:709 #, fuzzy msgid "Send command" msgstr "ادخل الاوامر" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "المضيÙين الذي يعملون ÙÙŠ الوقت الحالي من القائمة السوداء" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "عناصر التحكم ÙÙŠ الوصول وإعدادات سياسة الموقع" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "حجب الرسائل عن المستخدمين المزعجين والمثيرين للمشاكل" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "اسم ØºØ±ÙØ© حجب الرسائل" #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 msgid "Name of room to log pages" msgstr "اسم الغر٠المسجلة Ù„Ù„ØµÙØ­Ø§Øª" #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 msgid "Authentication mode" msgstr "وضع الترابط" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 msgid "Self contained" msgstr "احتواء الذاتية" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 msgid "Host based" msgstr "استنادا للمضيÙ" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 msgid "Allow anonymous guest access" msgstr "السماح للضيو٠الغريبين بالدخول" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 msgid "Master user name (blank to disable)" msgstr "اسم المستخدم الرئيسي الماستر" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 msgid "Master user password" msgstr "كلمة السر للمستخدم الرئيسي الماستر" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 msgid "Initial access level for new users" msgstr "اولوية مستوى الوصول لجميع المستخدمين" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "مستوى الوصول مطلوب لانشاء غرÙ" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "تلقائيا اعطاء حالة المساعد للمستخدمين الذين يقومون بانشاء غر٠خاصة" #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "تلقائيا اعطاء حالة المساعد للمستخدمين الذين يقومون بانشاء غر٠مدونات" #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "تقيد الوصول للبريد الالكتروني" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "تعطيل خدمة انشاء حساب مستخدم Ø¨Ù†ÙØ³Ù‡" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "تلميح لا تقوم باختيار الاثنين معا" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "التسجيل مطلوب للمستخدمين الجدد" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 msgid "Add, change, or delete floors" msgstr "Ø§Ø¶Ø§ÙØ© تعديل مسح طوابق" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "عرض Ùƒ" #: ../../i18n_templatelist.c:753 #, fuzzy msgid "Delete this note?" msgstr "مسح هذه Ø§Ù„ØºØ±ÙØ©" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 msgid "Logged in as" msgstr "تم تسجيل الدخول باسم" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 msgid "Not logged in." msgstr "لم يتم تسجيل الدخول." #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "يجب عليك تسجيل الدخول للوصول الى هذه القائمة" #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "تسجيل الدخول باستخدام اسم وكلمة المرور" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "كلمة السر:" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "اسم مستخدم سجل الان" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "" "أدخل الاسم وكلمة المرور التي ترغب ÙÙŠ استخدامها، ثم انقر على \"مستخدم جديد\". " #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "الدخول باستخدام المعر٠الخاص بك" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "رابط المعر٠الخاص بك" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 msgid "Log in using Google" msgstr "الدخول باستخدام كوكل" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 msgid "Log in using Yahoo" msgstr "الدخول باستخدام ياهوو" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 msgid "Log in using AOL or AIM" msgstr "الدخول باستخدام AOL او AIM" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "ادخل اسم AOL او AIM الخاص بك" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "إنتظر من ÙØ¶Ù„Ùƒ" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "Ø§Ø¶Ø§ÙØ© سكربت - نص برمجي" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" "Ù„Ø§Ø¶Ø§ÙØ© سكربت - ÙØ·Ø¹Ø© برمجية - ادخل اسم القطعة البرمجية ÙÙŠ هذا الحقل واضغط " "انشاء" #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "اسم السكربت - القطعة البرمجية " #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "تحرير السكربت - القطعة البرمجية" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "الرجوع الى شاشة ÙØ§Ø¦Ù…Ø© تحرير" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "مسح السكربتات - القطع البرمجية" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "" "لمسح سكربت - قطعة برمجية موجودة مسبقا اختار اسم السكربت من القائمة ثم اضغط " "مسح" #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 msgid "Restart Now" msgstr "إعادة التشغيل الآن" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "اعادة التشغيل بعد ترحيل المستخدمين" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "اعادة التشغيل عندما يكون جميع المستخدمين متوقÙين عن العمل" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 msgid "Configure Push Email" msgstr "اعداد بريد Ø§Ù„Ø¯ÙØ¹" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "اعداد Ø¯ÙØ¹ ال رسائل القصير والبريد الالكتروني" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" "اذا المدير ÙØ¹Ù„ هذه الوظيÙية Ø³ÙŠØ±ÙØ± كاتيديل يستيطع ابلاغ خادم Funambol بانه " "تم استقبال بريد الكتروني جديد تلقائيا ويقوم بالمزامنة مع اي جهاز مع مستخدم " "Funambol مركب" #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" "بدلا من ذلك، إذا قام المدير العام باعداده ØŒ يمكن خادم إرسال رسالة نصية إليك " "عند وصول بريد جديد." #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 msgid "Notify Funambol server" msgstr "ابلغ خادم Funambol" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 msgid "Send a text message to..." msgstr "ارسال رسالة نصية الى" #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "استخدم الشكل الدولي بدون Ø§ØµÙØ§Ø± او Ù…Ø³Ø§ÙØ§Øª مثل +61415011501" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "استخدم ابلاغ مخصص مهيئة عن طريق المدير" #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "لاترسل اي تنبيهات" #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "مدعوم من" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "SMTP MSA port (-1 to disable) Ù…Ù†ÙØ°" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "SMTP over SSL port (-1 to disable) Ù…Ù†ÙØ°" #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "" #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "ضع علامة على البريد المزعج بدل من Ø±ÙØ¶Ù‡" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "" "السماح للعملاء SMTP غير مصادق الى المخادعة ومشاهدة بيانات هذه المجالات " "المواقع" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "اقامة Ùورم صحيح خلال عملية توثيق ال smtp" #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "Postfix TCP Dictionary Port Ù…Ù†ÙØ° القاموس" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "-1 to disable" msgstr "" #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 msgid "ManageSieve Port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "ضبط الموقع" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 msgid "General" msgstr "عام" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 #, fuzzy msgid "Settings" msgstr "اعدادات شريط الايقونات" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "Pop3 نوع ملقم البريد الالكتروني" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "Ùهرسة / يوميات" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 msgid "Access" msgstr "الوصول" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 msgid "Directory" msgstr "الدليل:" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "التنظي٠التلقائي" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" " محتويات هذه Ø§Ù„ØºØ±ÙØ© تم ارسالها بالبريد كرسائل Ø§Ù„ÙØ±Ø¯ÙŠØ© إلى " "المستلمين القائمة التالية:

    " #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" " محتويات هذه Ø§Ù„ØºØ±ÙØ© تم الارسال بالبريد ÙÙŠ شكل خلاصة إلى " "المستلمين القائمة التالية:

    " #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 #, fuzzy msgid "List" msgstr "قائمة المعرÙين" #: ../../i18n_templatelist.c:847 #, fuzzy msgid "Digest" msgstr "خلاصة التنسيق" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "جميع المستلمين من المستخدمين او من Ø¯ÙØªØ± العناوين" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "السماح لغير المشتركين ÙÙŠ البريد لهذه Ø§Ù„ØºØ±ÙØ©" #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "المشاركة ÙÙŠ الغر٠تحتاج لصلاحيات المدير" #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 msgid "Allow self-service subscribe/unsubscribe requests." msgstr "السماح للطلبات بخدمة الاشتراك وعدم الاشرتاك الذاتية Ø§Ù„ØªÙØ¹ÙŠÙ„" #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "عنوان الرابط للاشتراك او عدم الاشتراك هو " #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 #, fuzzy msgid "Set" msgstr "الموضوع" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 msgid "Summary page for " msgstr "ملخص Ø§Ù„ØµÙØ­Ø© " #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "الرسائل" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "اليوم هو ÙÙŠ التقويم" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 msgid "Who‘s online now" msgstr "من هوة متواجد الان" #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "حول هذا الخادم" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "انتة متصل ب" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 msgid "running" msgstr "يعمل" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 msgid "with" msgstr "مع" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "بناء الخادم" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 msgid "and located in" msgstr "وموجود ÙÙŠ" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 msgid "Your system administrator is" msgstr "اسم مدير النظام هو" #: ../../i18n_templatelist.c:874 #, fuzzy msgid "Do you really want to kill this session?" msgstr "هل انتة متاكد تريد مسح هذا الاسم المعرÙ" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "المستخدمون يعملون حاليا " #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 msgid "Click on a name to read user info. Click on" msgstr "اضغط على الاسم لقراءة معلومات المستخدم اضغط تشغيل" #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 msgid "to send an instant message to that user." msgstr "لارسال رسالة Ùورية لهذا المستخدم" #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "الرسائل القديمة" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "رسائل جديدة" #: ../../i18n_templatelist.c:880 #, fuzzy msgid "Share" msgstr "المشاركة" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "المجالات التنكرية المسموحة للمستخدمين" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "ادخل كلمة السر الجديدة" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "ادخل المعلومات مرة اخرى للتاكيد" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "تغيير كلمة المرور" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "حرر جلسة العرض" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" "هذه الشاشة تسمح لك بتغيير طريقة جلستك يظهر ÙÙŠ 'المتواجدون الآن' القائمة. " "لإيقا٠أي 'وهمية' اسم قمت بتعيينها مسبقا، يكÙÙŠ النقر على المناسبة \"التغيير" "\" زر دون كتابة أي شيء ÙÙŠ المربع المقابل. " #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "اسم Ø§Ù„ØºØ±ÙØ©" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "غير اسم Ø§Ù„ØºØ±ÙØ©" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "اسم المضيÙ:" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "تغير اسم المضيÙ" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "تغير اسم المستخدم" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "قائمة اخر تعديلات اجريتها لهذه Ø§Ù„ØµÙØ­Ø© history" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "اكد نقل الرسالة" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "انقل الرسالة الى" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "اصلا تمت المشاركة ÙÙŠ " #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "قائمة Ø§Ù„ØºØ±Ù Ø§Ù„Ù…Ø¹Ø±ÙˆÙØ©" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "اين استطيع الذهاب من هنا" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "الذهاب Ù„ØºØ±ÙØ© اخرى" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 msgid "...with unread messages" msgstr "مع ... غير مقروءة رسائل" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "التخطي الى ØºØ±ÙØ© اخرى" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "حاول العودة لاحقا" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "عدم الذهاب الى" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 msgid "oops! Back to " msgstr "للاس٠الدهاب الى " #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "قراءة الرسائل الجديدة" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "هل هذه Ø§Ù„ØºØ±ÙØ©" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "قراءة جميع الرسائل" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "Ùˆ القديمة ... جديد" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "ادخل الرسالة" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "(نشر ÙÙŠ هذه Ø§Ù„ØºØ±ÙØ©)" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "مكتبة Ø§Ù„Ù…Ù„ÙØ§Øª" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "قائمة Ø§Ù„Ù…Ù„ÙØ§Øª Ø§Ù„Ù…ØªÙˆÙØ±Ø© للتحميل" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 msgid "Summary page" msgstr "ملخص Ø§Ù„ØµÙØ­Ø©" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "ملخص حسابي" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "قائمة المستخدمين" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 msgid "(all registered users)" msgstr "جميع المستخدمين المسجلين" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "وداعا!" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "اذا مسموح اعادة توجيه جميع البريد الصادر الى احد من المضيÙين" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "عرض المستخدمين" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "Ø¥Ø¶Ø§ÙØ© جهاة اتصال جديدة" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "طريقة عرض اليوم" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "طريقة عرض الشهر" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "Ø§Ø¶Ø§ÙØ© حدث جديد" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "قائمة التقويم" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "اضهار المهام" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "Ø§Ø¶Ø§ÙØ© مهمة جديدة" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "اضهار الملاحظات" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "Ø§Ø¶Ø§ÙØ© ملاحضة جديدة" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "اعادت تحديث قائمة الرسائل" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "كتابة بريد" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "ØµÙØ­Ø© Ø§Ù„Ù…Ø¹Ø±ÙØ©" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "حرر Ø§Ù„ØµÙØ­Ø©" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "السجل للعمليات السابقة الهستوري" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 msgid "New blog post" msgstr "مشاركة جديدة ÙÙŠ المدونة" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "تخطي هذه Ø§Ù„ØºØ±ÙØ©" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 #, fuzzy msgid "Save changes?" msgstr "Ø­ÙØ¸ التغييرات" #~ msgid "" #~ "You are subscribing %s to the %s mailing list. The " #~ "listserver has sent you an e-mail with one additional Web link for you to " #~ "click on to confirm your subscription. This extra step is for your " #~ "protection, as it prevents others from being able to subscribe you to " #~ "lists without your consent.

    Please click on the link which is " #~ "being e-mailed to you and your subscription will be confirmed.
    \n" #~ msgstr "" #~ "You are subscribing %s to the %s انتة متشرك to the ÙÙŠ " #~ "القائمة البريدية تم ارسال بريد لكم من قائمة السيرÙير لتاكيد اشتراكك يرجى " #~ "الضغط على الرابط المرسل لتاكيد اشتراكك.

    Please click on the link " #~ "which is being e-mailed to you and your subscription will be confirmed." #~ "
    \n" #~ msgid "" #~ "WARNING: Failed to parse Server Config; do you run a to new citserver?" #~ msgstr "ÙØ´Ù„ تحلي العرض لبرمجة الخادم هل قمت بتشغيل خادم جديد ØŸ" #~ msgid "There is no room called '%s'." #~ msgstr "هذه Ø§Ù„ØºØ±ÙØ© تدعى '%s'" #~ msgid "Network" #~ msgstr "الشبكة" #~ msgid "Tuning" #~ msgstr "ضبط" #~ msgid "Instantly expunge deleted messages in IMAP" #~ msgstr "على الÙور محو الرسائل Ø§Ù„Ù…Ø­Ø°ÙˆÙØ© ÙÙŠ IMAP" webcit-9.01-dfsg/po/webcit/bg.po000066400000000000000000003670021254743150300165000ustar00rootroot00000000000000# Bulgarian translation for citadel # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the citadel package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: citadel\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2012-03-12 09:09+0000\n" "Last-Translator: Валери Фиков \n" "Language-Team: Bulgarian \n" "Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-03-21 04:47+0000\n" "X-Generator: Launchpad (build 14981)\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "" #: ../../availability.c:169 msgid "free" msgstr "" #: ../../availability.c:179 msgid "BUSY" msgstr "" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "" #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "" #: ../../graphics.c:106 msgid "your photo" msgstr "" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "" #: ../../tasks.c:93 msgid "Completed?" msgstr "" #: ../../tasks.c:95 msgid "Name of task" msgstr "" #: ../../tasks.c:97 msgid "Date due" msgstr "" #: ../../tasks.c:99 msgid "Category" msgstr "" #: ../../tasks.c:101 msgid "Show All" msgstr "" #: ../../tasks.c:224 msgid "Edit task" msgstr "" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "" #: ../../tasks.c:259 msgid "Start date:" msgstr "" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "" #: ../../tasks.c:289 msgid "Due date:" msgstr "" #: ../../tasks.c:318 msgid "Completed:" msgstr "" #: ../../tasks.c:329 msgid "Category:" msgstr "" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, c-format msgid "%d comments" msgstr "" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "ПоÑтоÑнна връзка" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "по-нови мнениÑ" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "по-възраÑтните мнениÑ" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "" #: ../../sysmsgs.c:103 msgid " has been saved." msgstr "" #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "" #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "" #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "" #: ../../openid.c:47 msgid "(delete)" msgstr "" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "" #: ../../openid.c:58 msgid "Attach" msgstr "" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "" #: ../../summary.c:128 msgid "(None)" msgstr "" #: ../../summary.c:184 msgid "(Nothing)" msgstr "" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "" #: ../../bbsview_renderer.c:354 msgid "First" msgstr "" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "" #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "" #: ../../auth.c:617 msgid "very weak" msgstr "" #: ../../auth.c:620 msgid "weak" msgstr "" #: ../../auth.c:623 msgid "ok" msgstr "" #: ../../auth.c:627 msgid "strong" msgstr "" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "" #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "" #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "" #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "" #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "" #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "" #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "" #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "" #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "" #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "" #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "" #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "" #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "" #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "" #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "" #: ../../event.c:71 msgid "seconds" msgstr "" #: ../../event.c:72 msgid "minutes" msgstr "" #: ../../event.c:73 msgid "hours" msgstr "" #: ../../event.c:74 msgid "days" msgstr "" #: ../../event.c:75 msgid "weeks" msgstr "" #: ../../event.c:76 msgid "months" msgstr "" #: ../../event.c:77 msgid "years" msgstr "" #: ../../event.c:78 msgid "never" msgstr "" #: ../../event.c:82 msgid "first" msgstr "" #: ../../event.c:83 msgid "second" msgstr "" #: ../../event.c:84 msgid "third" msgstr "" #: ../../event.c:85 msgid "fourth" msgstr "" #: ../../event.c:86 msgid "fifth" msgstr "" #: ../../event.c:89 msgid "Event" msgstr "" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "" #: ../../event.c:168 msgid "Add or edit an event" msgstr "" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "" #: ../../event.c:222 msgid "Location" msgstr "" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "" #: ../../event.c:374 msgid "Organizer" msgstr "" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "" #: ../../event.c:397 msgid "Show time as:" msgstr "" #: ../../event.c:420 msgid "Free" msgstr "" #: ../../event.c:428 msgid "Busy" msgstr "" #: ../../event.c:445 msgid "(One per line)" msgstr "" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "" #: ../../event.c:518 msgid "Recurrence rule" msgstr "" #: ../../event.c:522 msgid "Repeats every" msgstr "" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "" #: ../../event.c:631 msgid "of the month" msgstr "" #: ../../event.c:660 msgid "every " msgstr "" #: ../../event.c:661 msgid "year on this date" msgstr "" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "" #: ../../event.c:717 msgid "Recurrence range" msgstr "" #: ../../event.c:725 msgid "No ending date" msgstr "" #: ../../event.c:732 msgid "Repeat this event" msgstr "" #: ../../event.c:735 msgid "times" msgstr "" #: ../../event.c:743 msgid "Repeat this event until " msgstr "" #: ../../event.c:771 msgid "Check attendee availability" msgstr "" #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "" #: ../../inetconf.c:126 msgid " has been deleted." msgstr "" #. added status message #: ../../inetconf.c:144 msgid " added." msgstr "" #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "" #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "" #: ../../listsub.c:38 ../../listsub.c:76 msgid "You need to specify the email address you'd like to subscribe with." msgstr "" #: ../../messages.c:73 msgid "ERROR:" msgstr "" #: ../../messages.c:91 msgid "Empty message" msgstr "" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "" #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "" #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "" #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "" #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "" #: ../../paging.c:29 msgid "Send instant message" msgstr "" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "" #: ../../paging.c:51 msgid "Enter message text:" msgstr "" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "" #: ../../paging.c:78 msgid "Message was not sent." msgstr "" #: ../../paging.c:89 msgid "Message has been sent to " msgstr "" #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "" #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "" #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "" #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "" #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "" #: ../../roomlist.c:105 msgid "My Folders" msgstr "" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "" #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "" #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "" #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "" #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "" #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "" #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "" #: ../../roomops.c:1363 msgid "Room list view" msgstr "" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "" #: ../../roomtokens.c:570 msgid "file" msgstr "" #: ../../roomtokens.c:572 msgid "files" msgstr "" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "" #: ../../roomviews.c:55 msgid "Address Book" msgstr "" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "" #: ../../roomviews.c:57 msgid "Task List" msgstr "" #: ../../roomviews.c:58 msgid "Notes List" msgstr "" #: ../../roomviews.c:59 msgid "Wiki" msgstr "" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "" #: ../../roomviews.c:61 msgid "Journal" msgstr "" #: ../../roomviews.c:62 msgid "Drafts" msgstr "" #: ../../roomviews.c:63 msgid "Blog" msgstr "" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" "Този Ñървър е вече обÑлужва макÑимален брой потребители и не може да " "обÑлужва повече потребители в този момент. МолÑ, опитайте отново по-къÑно " "или Ñе Ñвържете Ñ Ð²Ð°ÑˆÐ¸Ñ ÑиÑтемен админиÑтратор." #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "" #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" "Вие Ñте Ñвързан към Citadel Ñървър работещ Ñ Citadel %d.%02d. \n" "За да Ñтартирате тази верÑÐ¸Ñ Ð½Ð° WebCit, трÑбва да имате Ñъщо Citadel %d.%02d " "или по-нова.\n" "\n" "\n" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "" #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "" #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "" #: ../../useredit.c:778 msgid "A new user has been created." msgstr "" #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "" #: ../../vcard_edit.c:438 msgid " (work)" msgstr "" #: ../../vcard_edit.c:440 msgid " (home)" msgstr "" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr "" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "" #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "" #: ../../vcard_edit.c:940 msgid "Error" msgstr "" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "" #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" #: ../../webcit.c:688 msgid "Read More..." msgstr "" #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "" #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "" #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "" #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "" #: ../../wiki.c:143 msgid "Author" msgstr "" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "" #: ../../wiki.c:184 msgid "(revert)" msgstr "" #: ../../wiki.c:246 msgid "Page title" msgstr "" #: ../../fmt_date.c:306 msgid "Time format" msgstr "" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "" #: ../../calendar_view.c:750 msgid "Week" msgstr "" #: ../../calendar_view.c:752 msgid "Hours" msgstr "" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "" #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "" #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "" #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "" #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "" #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "" #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "" #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "" #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "" #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "" #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 msgid "System Administration Menu" msgstr "" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 msgid "Room Admin Menu" msgstr "" #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 msgid "Fallback smart hosts" msgstr "" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 msgid "RBL hosts" msgstr "" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 msgid "Masqueradable domains" msgstr "" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 msgid "Network services" msgstr "" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "" #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "" #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "" #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "" #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "" #: ../../i18n_templatelist.c:95 msgid "Create new room" msgstr "" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 msgid "If you select this option," msgstr "" #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 msgid "will disappear from your room list. Is this what you wish to do?" msgstr "" #: ../../i18n_templatelist.c:102 msgid "Zap this room" msgstr "" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "" #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 msgid "Click on any room to un-zap it and goto that room." msgstr "" #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "" #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 msgid "Manage your OpenIDs" msgstr "" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "" #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "" #: ../../i18n_templatelist.c:144 msgid "Go there" msgstr "" #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "" #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 msgid "Push Email" msgstr "" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 msgid "Funambol server host (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 msgid "Funambol server port " msgstr "" #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 msgid "Funambol sync source" msgstr "" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 msgid "External pager tool (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 msgid "Sunday" msgstr "" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 msgid "Monday" msgstr "" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "" #: ../../i18n_templatelist.c:168 msgid "Change" msgstr "" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "" #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 msgid "Number of logins" msgstr "" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 msgid "Messages submitted" msgstr "" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 msgid "Access level" msgstr "" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 msgid "User ID number" msgstr "" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 msgid "POP3 fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 msgid "POP3 fastest fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 msgid "Remote Sites:" msgstr "" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 msgid "Status:" msgstr "" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 msgid "Jobs waiting for further processing:" msgstr "" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 msgid "Message to your Users:" msgstr "" #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "" #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 msgid "General site configuration items" msgstr "" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 msgid "Node name" msgstr "" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 msgid "Telephone number" msgstr "" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 msgid "Networked Room" msgstr "" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 msgid "Add a new node" msgstr "" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "" #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 msgid "Port number" msgstr "" #: ../../i18n_templatelist.c:241 msgid "Add node?" msgstr "" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 msgid "(kill)" msgstr "" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 msgid "Edit configuration" msgstr "" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 msgid "Edit address book entry" msgstr "" #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 msgid "Minutes" msgstr "" #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 msgid "active" msgstr "" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 msgid "(Edit)" msgstr "" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "" #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "" #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "Публикувай коментар" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "" #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 msgid "Add, change, delete user accounts" msgstr "" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 msgid "(hosts running the ClamAV clamd service)" msgstr "" #: ../../i18n_templatelist.c:270 msgid "Send" msgstr "" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 msgid "Restart Citadel" msgstr "" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 msgid "Post message" msgstr "" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "" #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 msgid "Delete this message?" msgstr "" #: ../../i18n_templatelist.c:300 msgid "Room Logo" msgstr "" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "" #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 msgid "Enter another command" msgstr "" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 msgid "Return to menu" msgstr "" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 msgid "Users currently on" msgstr "" #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 msgid "Click here to send an instant message to" msgstr "" #: ../../i18n_templatelist.c:308 msgid "Pictures in" msgstr "" #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 msgid "Edit or delete users" msgstr "" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 msgid "You need to be aide to view this." msgstr "" #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 msgid "Add users" msgstr "" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 msgid "Edit or Delete users" msgstr "" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "" #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 msgid "User list for " msgstr "" #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "" #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "" #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "" #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "" #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 msgid "Upload failed" msgstr "" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 msgid "Are you shure you want to delete {filename}?" msgstr "" #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 msgid "Remove" msgstr "" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "" #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 msgid "Perform journaling of email messages" msgstr "" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 msgid "Perform journaling of non-email messages" msgstr "" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "" #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 msgid "Remote host" msgstr "" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 msgid "Keep messages on server?" msgstr "" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 msgid "Interval" msgstr "" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "" #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 msgid "New user: " msgstr "" #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "" #: ../../i18n_templatelist.c:426 msgid "Invite" msgstr "" #: ../../i18n_templatelist.c:427 msgid "User" msgstr "" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 msgid "Users" msgstr "" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 msgid "Addressbook Popup" msgstr "" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "" #: ../../i18n_templatelist.c:435 msgid "Delete user" msgstr "" #: ../../i18n_templatelist.c:436 msgid "Delete this user?" msgstr "" #: ../../i18n_templatelist.c:437 msgid "Delete File" msgstr "" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 msgid "which is already in your calendar." msgstr "" #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 msgid "This event would conflict with" msgstr "" #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "" #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "" #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "" #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "" #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 msgid "Zap (forget) this room" msgstr "" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "Zap duplicate messages" msgstr "" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 msgid "Next attempt" msgstr "" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "" #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 msgid "Powered by Citadel" msgstr "" #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "" #: ../../i18n_templatelist.c:507 msgid "Go to your email inbox" msgstr "" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "" #: ../../i18n_templatelist.c:509 msgid "Go to your personal calendar" msgstr "" #: ../../i18n_templatelist.c:511 msgid "Go to your personal address book" msgstr "" #: ../../i18n_templatelist.c:513 msgid "Go to your personal notes" msgstr "" #: ../../i18n_templatelist.c:515 msgid "Go to your personal task list" msgstr "" #: ../../i18n_templatelist.c:517 msgid "List all your accessible rooms" msgstr "" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "" #: ../../i18n_templatelist.c:526 msgid "Room and system administration functions" msgstr "" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "" #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "" #: ../../i18n_templatelist.c:545 msgid "Reset form" msgstr "" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "" #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "" #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 msgid " to the " msgstr "" #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 msgid " mailing list." msgstr "" #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "" #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 msgid "ERROR" msgstr "" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 msgid "from the" msgstr "" #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 msgid "mailing list." msgstr "" #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 msgid "Back..." msgstr "" #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 msgid "Confirmation successful!" msgstr "" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 msgid "Confirmation failed." msgstr "" #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "" #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 msgid "Name of list:" msgstr "" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 msgid "Your e-mail address:" msgstr "" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "" #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 msgid "One message at a time" msgstr "" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 msgid "Digest format" msgstr "" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 msgid "name of room: " msgstr "" #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "" #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 msgid "Network shared room" msgstr "" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 msgid "Room aide: " msgstr "" #: ../../i18n_templatelist.c:611 msgid "Delete this entry?" msgstr "" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 msgid "Remote node name" msgstr "" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 msgid "Remote room name" msgstr "" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 msgid "resend messages to this node" msgstr "" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "" #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "" #: ../../i18n_templatelist.c:633 msgid "Create new floor" msgstr "" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "" #: ../../i18n_templatelist.c:636 msgid "Delete rule" msgstr "" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 msgid "bytes" msgstr "" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "" #: ../../i18n_templatelist.c:679 msgid "Change name" msgstr "" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 msgid "Configure automatic expiry of old messages" msgstr "" #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "" #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "" #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 msgid "Default message expire policy for public rooms" msgstr "" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 msgid "Default message expire policy for private mailboxes" msgstr "" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 msgid "Same policy as public rooms" msgstr "" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "" #: ../../i18n_templatelist.c:700 msgid "Are you sure you want to delete this room?" msgstr "" #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 msgid "Set or change the icon for this rooms banner" msgstr "" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 msgid "Edit this rooms Info file" msgstr "" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 msgid "Detected host header is " msgstr "" #: ../../i18n_templatelist.c:709 msgid "Send command" msgstr "" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "" #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 msgid "Name of room to log pages" msgstr "" #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 msgid "Authentication mode" msgstr "" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 msgid "Self contained" msgstr "" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 msgid "Host based" msgstr "" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 msgid "Allow anonymous guest access" msgstr "" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 msgid "Master user name (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 msgid "Master user password" msgstr "" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 msgid "Initial access level for new users" msgstr "" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "" #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "" #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 msgid "Add, change, or delete floors" msgstr "" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "" #: ../../i18n_templatelist.c:753 msgid "Delete this note?" msgstr "" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 msgid "Logged in as" msgstr "" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 msgid "Not logged in." msgstr "" #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "ТрÑбва да Ñте влезли в ÑиÑтемата за доÑтъп до тази Ñтраница." #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "Ðов потребител? РегиÑтрирайте Ñе Ñега" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "" #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 msgid "Log in using Google" msgstr "" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 msgid "Log in using Yahoo" msgstr "" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 msgid "Log in using AOL or AIM" msgstr "" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "" #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "" #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 msgid "Restart Now" msgstr "" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 msgid "Configure Push Email" msgstr "" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 msgid "Notify Funambol server" msgstr "" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 msgid "Send a text message to..." msgstr "" #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "" #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "" #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "" #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "" #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "-1 to disable" msgstr "" #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 msgid "ManageSieve Port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 msgid "General" msgstr "" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 msgid "Settings" msgstr "" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 msgid "Access" msgstr "" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 msgid "Directory" msgstr "" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 msgid "List" msgstr "" #: ../../i18n_templatelist.c:847 msgid "Digest" msgstr "" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "" #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "" #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 msgid "Allow self-service subscribe/unsubscribe requests." msgstr "" #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "" #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 msgid "Set" msgstr "" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 msgid "Summary page for " msgstr "" #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 msgid "Who‘s online now" msgstr "" #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 msgid "running" msgstr "" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 msgid "with" msgstr "" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 msgid "and located in" msgstr "" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 msgid "Your system administrator is" msgstr "" #: ../../i18n_templatelist.c:874 msgid "Do you really want to kill this session?" msgstr "" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "" #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 msgid "Click on a name to read user info. Click on" msgstr "" #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 msgid "to send an instant message to that user." msgstr "" #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "" #: ../../i18n_templatelist.c:880 msgid "Share" msgstr "" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "" #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 msgid "...with unread messages" msgstr "" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 msgid "oops! Back to " msgstr "" #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 msgid "Summary page" msgstr "" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 msgid "(all registered users)" msgstr "" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 #, fuzzy msgid "New blog post" msgstr "по-нови мнениÑ" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 msgid "Save changes?" msgstr "" webcit-9.01-dfsg/po/webcit/create-pot.sh000077500000000000000000000006271254743150300201470ustar00rootroot00000000000000#!/bin/bash CSOURCES=`find ../.. -name \*.c` HSOURCES=`find ../.. -name \*.html` echo Updating webcit.pot from strings in the source code ... xgettext \ --copyright-holder='The Citadel Project - http://www.citadel.org' \ --from-code='utf-8' \ -k_ \ -o webcit.pot \ --add-comments \ $CSOURCES $HSOURCES for x in *.po do echo Merging webcit.pot into $x ... msgmerge $x webcit.pot -o $x done webcit-9.01-dfsg/po/webcit/cs.po000066400000000000000000004522551254743150300165220ustar00rootroot00000000000000# Czech translation for citadel # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the citadel package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: citadel\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2013-08-20 09:48+0000\n" "Last-Translator: Vilem Kebrt \n" "Language-Team: Czech \n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2013-08-21 04:32+0000\n" "X-Generator: Launchpad (build 16731)\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "dostupnost neznámá" #: ../../availability.c:169 msgid "free" msgstr "volný" #: ../../availability.c:179 msgid "BUSY" msgstr "ZAMÄšSTNANÃ" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "Nahrání obrázku bylo zruÅ¡eno." #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "Nenahrál jste soubor." #: ../../graphics.c:106 msgid "your photo" msgstr "fotografie" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "ikona této místnosti" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "Uvítací obrázek pro pÅ™ihlášení" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "obrázek - odhlášení" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "ikona pro toto podlaží" #: ../../tasks.c:93 msgid "Completed?" msgstr "DokonÄeno?" #: ../../tasks.c:95 msgid "Name of task" msgstr "Název úlohy" #: ../../tasks.c:97 msgid "Date due" msgstr "Plánované dokonÄení" #: ../../tasks.c:99 msgid "Category" msgstr "Kategorie" #: ../../tasks.c:101 msgid "Show All" msgstr "Zobrazit vÅ¡e" #: ../../tasks.c:224 msgid "Edit task" msgstr "Upravit úlohu" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "Shrnutí:" #: ../../tasks.c:259 msgid "Start date:" msgstr "ZaÄátek:" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "Žádné datum" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "nebo" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "PÅ™iÅ™azený Äas" #: ../../tasks.c:289 msgid "Due date:" msgstr "Konec:" #: ../../tasks.c:318 msgid "Completed:" msgstr "DokonÄeno:" #: ../../tasks.c:329 msgid "Category:" msgstr "Kategorie:" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "Popis:" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "Uložit" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "Odstranit" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "ZruÅ¡it" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "Nepojmenovaná úloha" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, c-format msgid "%d comments" msgstr "%d komentářů" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "pevný odkaz" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "NovÄ›jší příspÄ›vky" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "Starší příspÄ›vky" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "Upravit %s" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" "Vložte %s dolu. Text je formátován pro prohlížeÄ návÅ¡tÄ›vníka. Nová řádka je " "vynucena následující druhou prázdnou řádkou." #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "Uložit zmÄ›ny" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "ZruÅ¡eno. %s se neuloží." #: ../../sysmsgs.c:103 msgid " has been saved." msgstr " byl uložen." #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "Informace o místnosti" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "biografii" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "Hodina: " #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "Minuta: " #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "(neznámý stav)" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "(potÅ™ebuje akci)" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "(pÅ™ijato)" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "(zamítnuto)" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "(pÅ™edběžnÄ›)" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "(delegováno)" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "(dokonÄeno)" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "(zpracovává se)" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "(nic)" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "Nastavení úÄtu/OpenID associace" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "Chcete opravdu smazat toto OpenID?" #: ../../openid.c:47 msgid "(delete)" msgstr "(smazat)" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "PÅ™idat OpenID: " #: ../../openid.c:58 msgid "Attach" msgstr "PÅ™ipojit" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "%s nepodporuje pÅ™ihlášení pÅ™es OpenID." #: ../../summary.c:128 msgid "(None)" msgstr "(Žádný)" #: ../../summary.c:184 msgid "(Nothing)" msgstr "(Nic)" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "Jdi na stranu: " #: ../../bbsview_renderer.c:354 msgid "First" msgstr "První" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "Poslední" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "chyba v realloc() nelze získat %d bytes: %s" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "Smazáno" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "Nový uživatel" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "Problémový uživatel" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "Klasický uživatel" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "Síťový uživatel" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "Preferovaný uživatel" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "Poradce" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "DoÅ¡lo k chybÄ›." #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "Potvrdit nové uživatele" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "Žádný uživatel právÄ› nevyžaduje potvrzení." #: ../../auth.c:617 msgid "very weak" msgstr "velmi slabé" #: ../../auth.c:620 msgid "weak" msgstr "slabé" #: ../../auth.c:623 msgid "ok" msgstr "dobré" #: ../../auth.c:627 msgid "strong" msgstr "silné" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "Aktuální úroveň přístupových práv: %d (%s)\n" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "Úroveň přístupových práv tohoto uživatele:" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "ZruÅ¡eno. Heslo se nezmÄ›ní." #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "Hesla nesouhlasí. Heslo nezmÄ›nÄ›no." #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "Heslo nemůže být prázdné." #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "Pozvánka na schůzku" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "OdpovÄ›Ä ÃºÄastníka na pozvánku" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "Publikovaná událost" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "Toto je neznámý typ kalendářového objektu." #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "UmístÄ›ní:" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "Datum:" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "PoÄáteÄní datum/Äas:" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "KoneÄný datum/Äas:" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "Opakování" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "Toto je opakující se událost" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "ÚÄastník:" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "Toto je aktualizace události '%s' která už je ve vaÅ¡em kalendáři." #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "Tato událost bude v konfliktu s '%s' která už je ve vaÅ¡em kalendáři." #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "Aktualizace:" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "KONFLIFT:" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "Jak odpovÄ›dÄ›t na toto pozvání?" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "Potvrdit" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "PÅ™edběžné" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "Zamítnout" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "" "KliknÄ›te na Aktualizovat pro potvrzení a aktualizování kalendáře." #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "Aktualizovat" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "Ignorovat" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "Chyba pÅ™i zpracování této kalendářové položky." #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "Provedeno potvrzení na pozvánku. Událost byla vložena do kalendáře." #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "" "Byl jste pÅ™edběžnÄ› pÅ™ijat na tuto schůzku. Tato schůzka byla poznaÄena ve " "vaÅ¡em kalendáři." #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "" "Zamítl jste pozvání na tuto schůzku. Schůzka nebyla poznaÄena v kalendáři." #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "OdpovÄ›Ä byla zaslána organizátorovi." #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "Kalendář byl aktualizován na základÄ› RSVP." #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "" "Rozhodli jste se ignorovat tento \"RSVP.\" Váš kalendář nebyl " "aktualizován." #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "ZaÄáteÄní den kalendáře:" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "Koncový den kalendáře:" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "Týden zaÄíná v:" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "DoÅ¡lo k chybÄ› bÄ›hem získávání souboru: %s\n" #: ../../event.c:71 msgid "seconds" msgstr "sekundy" #: ../../event.c:72 msgid "minutes" msgstr "minuty" #: ../../event.c:73 msgid "hours" msgstr "hodiny" #: ../../event.c:74 msgid "days" msgstr "dny" #: ../../event.c:75 msgid "weeks" msgstr "týdny" #: ../../event.c:76 msgid "months" msgstr "mÄ›síce" #: ../../event.c:77 msgid "years" msgstr "let" #: ../../event.c:78 msgid "never" msgstr "nikdy" #: ../../event.c:82 msgid "first" msgstr "první" #: ../../event.c:83 msgid "second" msgstr "druhý" #: ../../event.c:84 msgid "third" msgstr "tÅ™etí" #: ../../event.c:85 msgid "fourth" msgstr "Ätvrtý" #: ../../event.c:86 msgid "fifth" msgstr "pátý" #: ../../event.c:89 msgid "Event" msgstr "Událost" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "ÚÄastníci" #: ../../event.c:168 msgid "Add or edit an event" msgstr "PÅ™idat nebo upravit událost" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "PÅ™ehled" #: ../../event.c:222 msgid "Location" msgstr "UmístÄ›ní" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "Start" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "Celodenní událost" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "Konec" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "Poznámky" #: ../../event.c:374 msgid "Organizer" msgstr "Organizátor" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "(jste organizátor)" #: ../../event.c:397 msgid "Show time as:" msgstr "Ukaž Äas jako:" #: ../../event.c:420 msgid "Free" msgstr "Volný" #: ../../event.c:428 msgid "Busy" msgstr "Obsazený" #: ../../event.c:445 msgid "(One per line)" msgstr "(jeden na řádku)" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "Kontakty" #: ../../event.c:518 msgid "Recurrence rule" msgstr "Pravidlo pro opakování" #: ../../event.c:522 msgid "Repeats every" msgstr "Opakovat vždy" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "v tÄ›chto dnech" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "v dni %s%d%s mÄ›síce" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "na " #: ../../event.c:631 msgid "of the month" msgstr "mÄ›síce" #: ../../event.c:660 msgid "every " msgstr "každý " #: ../../event.c:661 msgid "year on this date" msgstr "roÄnÄ›" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "z" #: ../../event.c:717 msgid "Recurrence range" msgstr "Délka opakování" #: ../../event.c:725 msgid "No ending date" msgstr "Chybí datum ukonÄení" #: ../../event.c:732 msgid "Repeat this event" msgstr "Opakovat tuto událost" #: ../../event.c:735 msgid "times" msgstr "krát" #: ../../event.c:743 msgid "Repeat this event until " msgstr "Opakovat do " #: ../../event.c:771 msgid "Check attendee availability" msgstr "Zkontrolovat dostupnost úÄastníka" #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "Nepojmenovaná akce" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "Nastavení Iconbaru" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "Neplatný parametr" #: ../../inetconf.c:126 msgid " has been deleted." msgstr " bylo smazáno." #. added status message #: ../../inetconf.c:144 msgid " added." msgstr " pÅ™idáno." #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "Pro přístup k této funkci jsou zapotÅ™ebí vyšší práva." #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "Musíte zadat poÅ¡tovní seznam, který chcete použít." #: ../../listsub.c:38 ../../listsub.c:76 msgid "You need to specify the email address you'd like to subscribe with." msgstr "Musíte zadat poÅ¡tovní adresu, kterou chcete použít." #: ../../messages.c:73 msgid "ERROR:" msgstr "CHYBA:" #: ../../messages.c:91 msgid "Empty message" msgstr "Prázdná zpráva" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "ZruÅ¡eno. Zpráva nebyla odeslána." #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "Automaticky zruÅ¡eno, jelikož zpráva už byla uložena." #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "Uložení do Konceptů selhalo: " #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "Odmítám odeslat prázdnou zprávu.\n" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "Zpráva byla uložena do Konceptů.\n" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "Zpráva byla odeslána.\n" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "Zpráva byla vystavena.\n" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "Zpráva nebyla pÅ™esunuta." #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "Vyskytla se chyba pÅ™i zpracování této Äásti: %s/%s\n" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "Vyskytla se chyba pÅ™i zpracování této Äásti: %s\n" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "PÅ™ipojit podpis k e-mailu?" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "Použít tento podpis:" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "Základní kódování pro hlaviÄku e-mailu:" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "Preferovaná e-mailová adresa" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "Zobrazené jméno pro e-maily" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "Preferovaný pohled na zobrazení příspÄ›vků na BBS" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "Zobrazení poÅ¡ty" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "KliknÄ›te na poznámku pro její úpravu." #: ../../paging.c:29 msgid "Send instant message" msgstr "Odeslat okamžitou zprávu" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "Odeslat okamžitou zprávu: " #: ../../paging.c:51 msgid "Enter message text:" msgstr "Zadejte text zprávy:" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "Odeslat zprávu" #: ../../paging.c:78 msgid "Message was not sent." msgstr "Zpráva nebyla odeslána." #: ../../paging.c:89 msgid "Message has been sent to " msgstr "Zpráva byla odeslána na " #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "ZruÅ¡eno. Nastavení se nezmÄ›nilo." #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "Toto bude má startovní stránka" #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "Toto nemůže být startovní stránkou" #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "Nyní nemáte nastavenou startovací stránku." #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "UpÅ™ednostňovaná startovní stránka" #: ../../roomlist.c:105 msgid "My Folders" msgstr "Mé složky" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "ZruÅ¡eno. ZmÄ›ny se neuloží." #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "VaÅ¡e zmÄ›ny byly uloženy." #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "Uživatel '%s' byl vykopnut z místnosti '%s'." #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "Uživatel '%s' pozván do místnosti '%s'." #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "ZruÅ¡eno. Nová místnost nebyla vytvoÅ™ena" #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "Podlaží bylo vymazáno." #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "Nové podlaží bylo vytvoÅ™eno." #: ../../roomops.c:1363 msgid "Room list view" msgstr "Pohled na místnosti" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "Zobrazit prázdná podlaží" #: ../../roomtokens.c:570 msgid "file" msgstr "soubor" #: ../../roomtokens.c:572 msgid "files" msgstr "soubory" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "NástÄ›nka" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "PoÅ¡tovní složka" #: ../../roomviews.c:55 msgid "Address Book" msgstr "Adresář" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "Kalendář" #: ../../roomviews.c:57 msgid "Task List" msgstr "Seznam úkolů" #: ../../roomviews.c:58 msgid "Notes List" msgstr "Seznam poznámek" #: ../../roomviews.c:59 msgid "Wiki" msgstr "Wiki" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "Kalendářní pohled" #: ../../roomviews.c:61 msgid "Journal" msgstr "Deník" #: ../../roomviews.c:62 msgid "Drafts" msgstr "Koncepty" #: ../../roomviews.c:63 msgid "Blog" msgstr "Blog" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" "Tento server již obsluhuje nejvyšší možný poÄet uživatelů a nyní nemůže " "příjmat žádná další pÅ™ihlášení. Zkuste to, prosím, pozdÄ›ji, nebo kontaktujte " "správce systému." #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "PÅ™ijata neoÄekávaná odpovÄ›Ä od Citadel servru; zachraňuji se." #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" "Jste pÅ™ipojeni k Citadel serveru verze %d.%02d. \n" "Pro možný bÄ›h této verze WebCit musíte mít Citadel verze %d.%02d nebo " "novÄ›jší.\n" "\n" "\n" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "VaÅ¡e systémová konfigurace byla zmÄ›nÄ›na" #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "První pokus probíhá" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "Vznikla chyba pÅ™i vytváření nebo úpravÄ› položky v adresáři." #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "ZmÄ›ny nebyly uloženy." #: ../../useredit.c:778 msgid "A new user has been created." msgstr "Nový uživatel byl vytvoÅ™en." #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" "Pokoušíte se vytvoÅ™it uživatele v Citadel avÅ¡ak systém je nastaven na HOST " "autentifikaci. V tomto módu musíte vytvoÅ™it uživatele na servru/hostu." #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "(beze jména)" #: ../../vcard_edit.c:438 msgid " (work)" msgstr " (práce)" #: ../../vcard_edit.c:440 msgid " (home)" msgstr " (domů)" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr " (mobil)" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "Adresa:" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "Telefon:" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "E-mail:" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "Tato kniha adres je prázdná." #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "Objevila se vnitÅ™ní chyba." #: ../../vcard_edit.c:940 msgid "Error" msgstr "Chyba" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "Upravit kontaktní údaje" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "Titul pÅ™ed jménem" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "KÅ™estní jméno" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "Druhé jméno" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "Příjmení" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "Titul za jménem" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "Zobrazované jméno:" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "Titul:" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "Organizace:" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "PoÅ¡tovní schránka:" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "Obec:" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "Stát:" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "PSÄŒ:" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "ZemÄ›:" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "Telefon domů:" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "Telefon do práce:" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "Mobilní telefon:" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "Fax:" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "Primární e-mailová adresa" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "Ostatní e-mailové adresy" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "Nelze vstoupit do této místnosti pro uložení zprávy" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "PÅ™eruÅ¡uji." #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "NepodaÅ™ilo se dekódovat VCard fotografii\n" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "Vyžadována autorizace" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" "Pro přístup je potÅ™eba platné uživatelské jméno a heslo. Nemohl jste být " "pÅ™ihlášen: %s\n" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" "Tento program nemÄ›l možnost se pÅ™ipojit nebo zůstat pÅ™ipojený k Citadel " "servru. Prosím ohlaÅ¡te tento problém vaÅ¡emu administrátorovi." #: ../../webcit.c:688 msgid "Read More..." msgstr "PÅ™eÄtÄ›te více…" #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "'%s' není wiki místnost" #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "Strana '%s' není k nalezení zde." #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "" "Vyberte 'Upravte tuto stránku' odkaz v názvu místnosti, pokud chcete " "vytvoÅ™it tuto stránku." #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "Datum" #: ../../wiki.c:143 msgid "Author" msgstr "Autor:" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "(zobrazit)" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "Aktuální verze" #: ../../wiki.c:184 msgid "(revert)" msgstr "(vrátit zpÄ›t)" #: ../../wiki.c:246 msgid "Page title" msgstr "Název stránky" #: ../../fmt_date.c:306 msgid "Time format" msgstr "Formát Äasu" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "Z" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "PoÄáteÄní datum:" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "KoneÄné datum:" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "Datum/Äas:" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "Poznámky:" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "pÅ™edchozí" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "další" #: ../../calendar_view.c:750 msgid "Week" msgstr "Týden" #: ../../calendar_view.c:752 msgid "Hours" msgstr "Hodiny" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "PÅ™edmÄ›t" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "Probíhající akce" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "upravit" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "Nevím jak zobrazit " #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "(bez pÅ™edmÄ›tu)" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "Fronta je prázdná." #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "Nemáte povolení vidÄ›t tento zdroj." #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "Upravte menu ikon" #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "Zobraz ikony jako:" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "obrázky a text" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "pouze obrázky" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "pouze text" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "Vyberte ikony, které chcete vidÄ›t v liÅ¡tÄ› ikon na levé stranÄ› okna." #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "Ano" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "Ne" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "Logo webu" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "Ikona popisující tuto stránku" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "Souhrnná stránka" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "PoÅ¡ta (příchozí)" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "Zkratka do složky pÅ™ijatých zpráv" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "Osobní adresář" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "Osobní poznámky" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "Zkratka do kalendáře" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "Úlohy" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "Zkratka do seznamu" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "Místnosti" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "" "Kliknutím na tuto ikonu zobrazíte seznam přístupných místností (adresářů), " "které jsou dostupné." #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "Kdo je online?" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "Kliknutím na tuto ikonu zobrazíte seznam vÅ¡ech pÅ™ihlášených uživatelů." #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "Diskuze" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "" "Kliknutím na tuto ikonu vstoupíte do chatu s ostatními uživateli stejné " "místnosti." #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "PokroÄilé nastavení" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "Přístup do kompletního menu funkcí Citadel server." #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "Citadel logo" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "Zobrazit \"PohánÄ›no pÅ™es Citadel\" ikonu" #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 msgid "System Administration Menu" msgstr "Systémové AdministraÄní menu" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 msgid "Room Admin Menu" msgstr "Menu poradce pro pokoj" #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "Lokální alias klienta" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "Adresář domén" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 msgid "Fallback smart hosts" msgstr "" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "Oznámení hostů" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 msgid "RBL hosts" msgstr "" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 msgid "Masqueradable domains" msgstr "Domény, mající povolenou maÅ¡karádu" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" "ZmÄ›ny provedené v této Äásti nebudou provedeny dokud nerestartujete server " "Citadelu." #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 msgid "Network services" msgstr "Síťové služby" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 #, fuzzy msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "IP adresa serveru (0.0.0.0 pro \"jakákoli\")" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "XMPP (Jabber) server <> klient port (-1 pro vypnutí)" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "XMPP (Jabber) server <> server port (-1 pro vypnutí)" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "PokroÄilé nastavení serveru" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "Maximální délka zprávy" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "Spojení se serverem v neÄinnosti - timeout (sekundy)" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "Maximální množství spojení (0 = bez omezení)" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "Minimální poÄet pracovních vláken" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "Maximální poÄet pracovních vláken" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "Automaticky smazat odeslaný databázový záznam" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "VytvoÅ™it novou místnost" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "Jméno místnosti: " #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "Nachází se na podlaží: " #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "Základní pohled pro místnost: " #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "Typ místnosti:" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "VeÅ™ejná (místnost je viditelná pro vÅ¡echny)" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "Sokromá - skrytá (přístupná pouze pro ty, kteří znají jméno)" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "Soukromá - vyžaduje heslo: " #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "Soukromé - pouze na pozvání" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "Osobní (poÅ¡ta pouze pro vás)" #: ../../i18n_templatelist.c:95 #, fuzzy msgid "Create new room" msgstr "VytvoÅ™it novou místnost" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "Odhlásit" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "PÅ™ihlaÅ¡te se znovu" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "Schovat souÄasnou místnost" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 msgid "If you select this option," msgstr "Pokud vyberete tuto možnost," #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 msgid "will disappear from your room list. Is this what you wish to do?" msgstr "zmizí ze seznamu místností. PÅ™ejete si to udÄ›lat?" #: ../../i18n_templatelist.c:102 #, fuzzy msgid "Zap this room" msgstr "PÅ™eskoÄit tuto místnost" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" "Varování: Máte zakázaný JavaScript ve vaÅ¡em webovém prohlížeÄi. VÄ›tÅ¡ina " "funkcí tohoto systému nebude správnÄ› fungovat." #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "Jméno uživatele" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "Místnost" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "Odesílatel" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "NaÄítám zprávy ze serveru, prosím Äekejte" #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "Otevřít v novém oknÄ›" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "PÅ™esunout" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "Kopírovat" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "Vytisknout" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "" "(zasílání odchozích mailů na tyto hosty pouze, pokud přímé doruÄení selže)" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "Schované místnosti" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 msgid "Click on any room to un-zap it and goto that room." msgstr "KliknÄ›te na místnost pro obnovení a vstup do této místnosti." #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "Upravte své preference a nastavení" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "Aktualizujte své kontaktní informace" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "ZmÄ›nit heslo" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "Vložte vaÅ¡e 'bio'" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "Upravit online foto" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "Zobrazit/upravit e-mailové filtry na stranÄ› serveru" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "Upravit nastavení push email" #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 msgid "Manage your OpenIDs" msgstr "Upravit OpenID" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "" #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "Zobrazit" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "Stáhnout" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "Globální Configurace" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "Nastavení uživatelů" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "Vypnout Citadel" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "Místnosti a podlaží" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "Jít do skryté místnosti" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" "Pokud znáte jméno skryté nebo zaheslované místnosti, můžete vstoupit zadáním " "jejího jméno níže. Jakmile získáte přístup do soukromé místnosti, objeví se " "vám mezi běžnými místnostmi, takže se sem nemusíte vracet." #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "Vložte jméno místnosti:" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "Vložte heslo místnosti" #: ../../i18n_templatelist.c:144 #, fuzzy msgid "Go there" msgstr "na " #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "od " #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "komu" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "Kopie:" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "PÅ™edmÄ›t:" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 msgid "Push Email" msgstr "Odeslat Email" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 msgid "Funambol server host (blank to disable)" msgstr "Hostitelský server Funambol (prázdné pole pro vypnutí)" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 msgid "Funambol server port " msgstr "Port serveru Funambol. " #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 msgid "Funambol sync source" msgstr "Funambol sync zdroje" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "Funambol autorizaÄní detaily (uživatel:heslo)" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 msgid "External pager tool (blank to disable)" msgstr "Externí pager nástroje (prázdné pole pro vypnutí)" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "Stromový (adresářový) pohled" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "Table (rooms) view" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "12 hodin (am/pm)" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "24 hodin" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 msgid "Sunday" msgstr "NedÄ›le" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 msgid "Monday" msgstr "PondÄ›lí" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "Bez podpisu" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "Plná funkcionalita" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "BezpeÄný mód" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "" "BezpeÄný mód je ménÄ› nároÄný pro prohlížeÄ, ale ne vÅ¡echny funkce budou " "fungovat." #: ../../i18n_templatelist.c:168 msgid "Change" msgstr "" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "Preference a nastavení" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "(URLS pro oznámení, když uživatel dostane nový email; )" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "" "Zápis syntaxe: Å ablona pro oznánení:http[s]://user:password@hostname/path" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "Základní příkazy" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "Informace o vás" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "PokroÄilé příkazy místnosti" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "Upravit nastavení uživatele: " #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "Uživatelské jméno:" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "Heslo:" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "OprávnÄ›ní pro odeslání Internetového e-mailu" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 msgid "Number of logins" msgstr "PoÄet pÅ™ihlášení" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 msgid "Messages submitted" msgstr "Vložené zprávy" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 msgid "Access level" msgstr "Úroveň přístupu" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 msgid "User ID number" msgstr "ID uživatele" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "Datum a Äas posledního pÅ™ihlášení" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "Automaticky vymazat po dnech" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "POP3" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "POP3 naslouchací port (-1 pro vypnutí)" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "POP3 pÅ™es SSL port (-1 pro vypnutí)" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 msgid "POP3 fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 msgid "POP3 fastest fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "Zobrazit odchozí frontu na SMTP servru" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "Obnovit tuto stránku" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 #, fuzzy msgid "Remote Sites:" msgstr "Vzdálený host" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 #, fuzzy msgid "Status:" msgstr "Stát:" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 #, fuzzy msgid "Jobs waiting for further processing:" msgstr "pokraÄovat ve zpracovávání" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 msgid "Message to your Users:" msgstr "Zpráva pro uživatele:" #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "Administrace" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "Nastavení" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "Doba platnosti zprávy" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "Kontrola přístupu" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "Sdílení" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "Služba mailing seznamů" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "Vzdálené stažení" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "" "Panel ikon byl aktualizován. Prosím vyberte nÄ›jakou volbu pro pokraÄování." #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "" "Možná budete potÅ™ebovat obnovit stránku (SHIFT - F5) > aby byly zmÄ›ny " "provedeny" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 msgid "General site configuration items" msgstr "Obecné nastavení služby" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "ZmÄ›nit logo pÅ™i pÅ™ihlaÅ¡ování" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "ZmÄ›nit logo pÅ™i odhlaÅ¡ování" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 msgid "Node name" msgstr "Jméno uzlu" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "PlnÄ› kvalifikované doménové jméno" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "ÄŒlovÄ›ku Äitelný název nodu" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 msgid "Telephone number" msgstr "Telefonní Äíslo" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "ZemÄ›pisná poloha tohoto systému" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "Jméno systéového administrátora" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "Základní Äasová zóna pro nepÅ™iÅ™azené kalendáře" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 #, fuzzy msgid "Networked Room" msgstr "Síťová sdílená místnost" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 msgid "Add a new node" msgstr "PÅ™idat nový uzel" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "Sdílené heslo" #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "Host nebo IP adresa" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 msgid "Port number" msgstr "Číslo portu" #: ../../i18n_templatelist.c:241 #, fuzzy msgid "Add node?" msgstr "PÅ™idat nový uzel" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 msgid "(kill)" msgstr "(ukonÄit)" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 #, fuzzy msgid "Edit configuration" msgstr "Nastavení webu" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 #, fuzzy msgid "Edit address book entry" msgstr "Tato kniha adres je prázdná." #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 #, fuzzy msgid "Minutes" msgstr "minuty" #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 #, fuzzy msgid "active" msgstr "PÅ™edběžné" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 msgid "(Edit)" msgstr "(Upravit)" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "(Smazat)" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "Žádné nové zprávy." #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "Nová startovní stránka" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "VaÅ¡e startovní stránka byla upravena." #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" "(Poznámka: tato akce nezmÄ›ní domovskou stránku prohlížeÄe. Pouze startovní " "stránku po pÅ™ihlášení do" #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "PÅ™idat komentář" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "Potvrdit smazání" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "Opravdu chcete odstranit " #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 msgid "Add, change, delete user accounts" msgstr "PÅ™idat, upravit nebo vymazat uživatelské úÄty" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 msgid "(hosts running the ClamAV clamd service)" msgstr "(hosti využívající ClamAV clamd službu)" #: ../../i18n_templatelist.c:270 #, fuzzy msgid "Send" msgstr "Odesílatel" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 msgid "Restart Citadel" msgstr "Restartovat Citadel" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "od" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "Anonymní" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "v" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "Příjemce:" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "Skrytá kopie:" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "PÅ™edmÄ›t (volitelný):" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "--- pÅ™eposlaná zpráva ---" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 msgid "Post message" msgstr "Odeslat zprávu" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "Uložit do Konceptů" #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "Přílohy:" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 #, fuzzy msgid "Delete this message?" msgstr "Odstranit tuto místnost" #: ../../i18n_templatelist.c:300 #, fuzzy msgid "Room Logo" msgstr "Informace o místnosti" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "Hledat: " #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "Výsledek příkazu" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 msgid "Enter another command" msgstr "Vložte další příkaz" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 msgid "Return to menu" msgstr "ZpÄ›t do menu" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 msgid "Users currently on" msgstr "Uživatelé kteří jsou online" #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "Uživatelský profil" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 msgid "Click here to send an instant message to" msgstr "KliknÄ›te zde pro odeslání okamžité zprávy pro" #: ../../i18n_templatelist.c:308 #, fuzzy msgid "Pictures in" msgstr "pouze obrázky" #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 msgid "Edit or delete users" msgstr "Upravit nebo smazat uživatele" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 msgid "You need to be aide to view this." msgstr "Musíte být Admin pro zobrazení tohoto." #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 msgid "Add users" msgstr "PÅ™idat uživatele" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 msgid "Edit or Delete users" msgstr "Upravit nebo smazat uživatele" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "Prosím Äekejte dokud Citadel server je restartován... " #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 msgid "User list for " msgstr "Seznam uživatelů pro " #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "Uživatelské jméno" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "Číslo" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "Úroveň přístupu" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "Poslední pÅ™ihlášení" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "Celkem pÅ™ihlášení" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "Celkem příspÄ›vků" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "NaÄítání" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "VaÅ¡e OpenID" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "bylo úspěšnÄ› ověřeno." #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "AvÅ¡ak toto uživatelské jméno" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "je v konfliktu s existujícím uživatelem." #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "Prosím specifikujte uživatele, kterého použít." #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "Vymazávací politika pro tuto místnost" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "Použij základní politiku pro tuto místnost" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "Nikdy nevymazávat proÅ¡lé zprávy" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "Zprávy vyprší poÄtem" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "Zprávy propadnou stářím" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "PoÄet zprávy nebo dní: " #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "Použít výchozí nastavení systému" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "Zavřít okno" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 #, fuzzy msgid "Upload failed" msgstr "Nahrát soubor:" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 #, fuzzy msgid "Are you shure you want to delete {filename}?" msgstr "Opravdu chcete odstranit " #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "PÅ™ipojit soubor" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 msgid "Remove" msgstr "Odstranit" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "Indexování a Žurnálování" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "Varování: tyto možnosti jsou systémovÄ› nároÄné." #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "Aktivovat full-textové indexování" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 msgid "Perform journaling of email messages" msgstr "" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 msgid "Perform journaling of non-email messages" msgstr "" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "Soubory dostupné pro stažení v" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "Nahrát soubor:" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "Nahrát" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "Název souboru:" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "Velikosti" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "Obsah" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "Popis" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" "Tato instalace Citadely nepodporuje filtrování pošty na straně serveru." "
    Pokud tuto funkci potÅ™ebujete, kontaktujte administrátora VaÅ¡eho systému." #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "nový z" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "zprávy" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "Vyberte stránku: " #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "Stáhnout zprávy ze vzdáleného POP3 servru a ulož je v této místnosti:" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 msgid "Remote host" msgstr "Vzdálený host" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 msgid "Keep messages on server?" msgstr "Ponechat zprávy na servru?" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 msgid "Interval" msgstr "Rozmezí" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "PÅ™idat" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "NaÄti RSS feedy a ulož je v této místnosti:" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "Adresa kanálu" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "" "Pro vytvoÅ™ení nového uživatelského úÄtu vložte požadované jméno do textového " "pole dole a kliknÄ›te 'VytvoÅ™it'" #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 msgid "New user: " msgstr "Nový uživatel: " #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "(domény uvedené v Globálním Adresáři)" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "Seznam stránek Wiki" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "(odstranit)" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" "Níže zobrazení uživatelé mají přístup do této místnosti. Pro odstranÄ›ní " "uživatele z přístupového seznamu, vyberte uživatele a kliknÄ›te \"Vykopnout\"" #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" "Pokud chcete umožnit přístup ostatním uživatelům do této místnosti, vložte " "jejich jméno kliknÄ›te \"Pozvat\"" #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "Pozvat:" #: ../../i18n_templatelist.c:426 #, fuzzy msgid "Invite" msgstr "Pozvat:" #: ../../i18n_templatelist.c:427 #, fuzzy msgid "User" msgstr "Uživatelé" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 msgid "Users" msgstr "Uživatelé" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 #, fuzzy msgid "Addressbook Popup" msgstr "Adresář" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "" "Pro upravení existujícího uživatelského úÄtu, vyberte jméno ze seznamu a " "kliknÄ›te na 'Upravit'" #: ../../i18n_templatelist.c:435 #, fuzzy msgid "Delete user" msgstr "Smazat skripty" #: ../../i18n_templatelist.c:436 #, fuzzy msgid "Delete this user?" msgstr "Odstranit tuto místnost" #: ../../i18n_templatelist.c:437 #, fuzzy msgid "Delete File" msgstr "Odstranit" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "Prezentace" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "(hosti využívající SpamAssassin službu)" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "which is already in your calendar." msgstr "Toto je aktualizace události '%s' která už je ve vaÅ¡em kalendáři." #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "This event would conflict with" msgstr "Tato událost bude v konfliktu s '%s' která už je ve vaÅ¡em kalendáři." #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "Kdy e-mail pÅ™iÅ¡el: " #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "Zanechat v mé doruÄené poÅ¡tÄ› bez filtrování" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "Provést filtraci na základÄ› pravidel dole" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "Filtrovat skrz manuálnÄ› editované skripty (pokroÄilý uživatelé)" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "VaÅ¡e příchozí poÅ¡ta nebude filtrována žádnými skripty." #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "PÅ™idat pravidlo" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "PrávÄ› je aktivní skript: " #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "PÅ™idat nebo odstranit text" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "Nastavení LDAP konektoru pro Citadel" #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" "Poznámka: Tento Citadel server byl postaven bez podpory LDAP. Toto nastavení " "nebude mít vliv." #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "Název hosta LDAP serveru (nechte prázdné pro vypnutí)" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "Číslo portu LDAP serveru (prázdné pole pro vypnutí)" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "Upravit nebo odstranit místnost" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "Jdi do 'skryté' místnosti" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 msgid "Zap (forget) this room" msgstr "Schovat tuto místnost" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "Seznam vÅ¡ech schovaných místností" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 #, fuzzy msgid "Zap duplicate messages" msgstr "PÅ™eÄíst nové zprávy" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "ID zprávy" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "Datum a Äas poslání" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 msgid "Next attempt" msgstr "Další pokus" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "Příjemci" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "ÄŒtení #" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "nejstařší po nejnovÄ›jší" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "nejnovÄ›jší po nejstarší" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "" "Prosím poÄkejte dokud nebudou uživatelé nastránkováni, citadel server se " "poté restartuje. " #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "Upravit" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "OdpovÄ›dÄ›t" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "OdpovÄ›dÄ›t citací" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "OdpovÄ›dÄ›t vÅ¡em" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "PÅ™eposlat" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "HlaviÄky" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "Upravit nastavení" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "Doménová jména a nastavení Internetových e-mailů" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "Nastavit replikaci ostatních Citadel servrů" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 #, fuzzy msgid "Powered by Citadel" msgstr "Zobrazit \"PohánÄ›no pÅ™es Citadel\" ikonu" #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "Jazyk:" #: ../../i18n_templatelist.c:507 #, fuzzy msgid "Go to your email inbox" msgstr "Zkratka do složky pÅ™ijatých zpráv" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "E-mail" #: ../../i18n_templatelist.c:509 #, fuzzy msgid "Go to your personal calendar" msgstr "Zkratka do kalendáře" #: ../../i18n_templatelist.c:511 #, fuzzy msgid "Go to your personal address book" msgstr "Osobní adresář" #: ../../i18n_templatelist.c:513 #, fuzzy msgid "Go to your personal notes" msgstr "Osobní poznámky" #: ../../i18n_templatelist.c:515 #, fuzzy msgid "Go to your personal task list" msgstr "Zkratka do seznamu" #: ../../i18n_templatelist.c:517 #, fuzzy msgid "List all your accessible rooms" msgstr "Seznam vÅ¡ech schovaných místností" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "PÅ™ipojení uživatelé" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "PokroÄilý" #: ../../i18n_templatelist.c:526 #, fuzzy msgid "Room and system administration functions" msgstr "Váš systémový administrátor je" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "upravit toto menu" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "PÅ™ihlásit se" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "pÅ™epnout do seznamu místností" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "pÅ™epnout na menu" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "Moje složky" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "IMAP naslouchací port (-1 pro vypnutí)" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "IMAP pÅ™es SSL port (-1 pro vypnutí)" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "Zachovat originální hlaviÄky na IMAP" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "Nahrát obrázek" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "Můžete nahrát obrázek přímo z vaÅ¡eho poÄítaÄe" #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "Prosím vyberte soubor k nahrání:" #: ../../i18n_templatelist.c:545 #, fuzzy msgid "Reset form" msgstr "Vybraný formát" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "Seznam odebírání" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "Seznam pÅ™ihlášených/odhlášených" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "Potvrzovací požadavek odeslán" #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "Jste pÅ™ihlášen " #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 msgid " to the " msgstr " k " #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 msgid " mailing list." msgstr " poÅ¡tovnímu seznamu." #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" "DistribuÄní server Vám zaslal e-mail s webovým odkazem, kliknutím na nÄ›j " "potvrdíte vaÅ¡e pÅ™ihlášení." #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" "Tento krok navíc je pro vaÅ¡i ochranu, aby vás ostatní nemohli pÅ™idat do " "seznamu bez vaÅ¡eho souhlasu." #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" "Prosím kliknÄ›te na odkaz, který vám byl zaslán pro potvrzení pÅ™ihlášení." #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "ZpÄ›t..." #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 msgid "ERROR" msgstr "CHYBA" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "Nejste pÅ™ihlášen" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 msgid "from the" msgstr "od" #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 msgid "mailing list." msgstr "poÅ¡tovní seznam" #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" "PoÅ¡tovní server vám poslal e-mail, který obsahuje odkaz na potvrzení vaÅ¡eho " "odhlášení." #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" "Tento krok je pro vaÅ¡i opchranu, aby vás ostatní nemohli odhlásit ze seznamu " "bez vaÅ¡eho souhlasu." #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" "Prosím kliknÄ›te na odkaz, který vám byl zaslám e-mailem k potvrzení vaÅ¡eho " "odhlášení." #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 msgid "Back..." msgstr "Zpátky..." #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 msgid "Confirmation successful!" msgstr "PÅ™ihlášení úspěšné!" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 msgid "Confirmation failed." msgstr "PÅ™ihlášení selhalo." #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "To může znamenat dvÄ› vÄ›ci:" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" "ÄŒekáte příliÅ¡ dlouho na potvrzení vaÅ¡eho požadavku na pÅ™ihlášení/odhlášení " "(potvrzující odkaz je funkÄní pouze tÅ™i dny)" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" "Již \"jste\" úspěšnÄ› potvrdil pÅ™ihlášovací/odhlášovací požadave a není nutné " "provádÄ›t znova." #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "Chyba vrácená serverem byla: " #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 msgid "Name of list:" msgstr "Název seznamu:" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 msgid "Your e-mail address:" msgstr "VaÅ¡e e-mailová adresa:" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "(Pokud jste pÅ™ihlášen) preferovaný formát: " #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 msgid "One message at a time" msgstr "Jedna zpráva v Äase" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 msgid "Digest format" msgstr "Vybraný formát" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" "PÅ™i pokusu o pÅ™ihlášení/odhlášení z poÅ¡tovního seznamu pÅ™ijmete e-mail " "obsahující webový odkaz potÅ™ebný ke koneÄnému potvrzení." #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" "Tento krok je pro vaÅ¡i ochranu, brání ostatním uživatelům aby vás mohli " "pÅ™ihlásit nebo odhlásit z poÅ¡tovního seznamu." #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 msgid "name of room: " msgstr "jméno místnosti: " #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "Pouze preferovaný uživatel" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "Místnost pouze pro Ätení" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "Uživatelé, kteří můžou psát zprávy je můžou i mazat." #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "Místnost pro soubory" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "Jméno adresáře: " #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "Nahrávání povoleno" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "Stahování povoleno" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "Viditelný adresář" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 msgid "Network shared room" msgstr "Síťová sdílená místnost" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "Trvalý (nedojde ke smazání)" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "PÅ™edmÄ›t vyžadován" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "Anonymní zpráva" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "Žádné anonymní zprávy" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "VÅ¡echny zprávy jsou anonymní" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "Vyzvat uživatele pÅ™i psaní zpráv" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 msgid "Room aide: " msgstr "Admin místnosti: " #: ../../i18n_templatelist.c:611 #, fuzzy msgid "Delete this entry?" msgstr "Odstranit tuto místnost" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "Nesdíleno s" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "Sdíleno s" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 msgid "Remote node name" msgstr "Jméno vzdáleného uzlu" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 msgid "Remote room name" msgstr "Jméno vzdálené místnosti" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "Akce" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 #, fuzzy msgid "resend messages to this node" msgstr "Ponechat zprávy na servru?" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "PÅ™idat/upravit/smazat podlaží" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "Číslo podlaží" #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "Jméno podlaží" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "PoÄet místností" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "CSS úrovnÄ›" #: ../../i18n_templatelist.c:633 #, fuzzy msgid "Create new floor" msgstr "VytvoÅ™it novou místnost" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "" #: ../../i18n_templatelist.c:636 #, fuzzy msgid "Delete rule" msgstr "Odstranit" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "Jestliže" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "Příjemce nebo kopie" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "OdpovÄ›dÄ›t na" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "PÅ™eposláno z" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "PÅ™eposlat kam" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "Obálka z" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "Obálka k" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "X-Mailer" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "X-Spam-Flag" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "X-Spam-Status" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "Seznam ID" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "Velikost zprávy" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "VÅ¡e" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "obsahující" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "neobsahující" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "je" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "není" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "odpovídá" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "neodpovídá" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "(VÅ¡echny zprávy)" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "je vÄ›tší než" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "je menší než" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 msgid "bytes" msgstr "bajtů" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "Nechat" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "TiÅ¡e zahodit" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "Odmítnout" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "PÅ™esunout zprávu do" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "PÅ™eposlat kam" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "Dovolená" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "Zpráva:" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "potom" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "pokraÄovat ve zpracovávání" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "Zastavit" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "(domény, ze kterých tento host pÅ™ijímá emaily)" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "Nastavení sítÄ›" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "SouÄasné uzly" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "(odstranit podlaží)" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "(upravit obrázek)" #: ../../i18n_templatelist.c:679 #, fuzzy msgid "Change name" msgstr "ZmÄ›nit jméno místnosti" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 msgid "Configure automatic expiry of old messages" msgstr "Automatické nastavení vyprÅ¡ení starých zpráv" #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "" "Toto nastavení může být zmÄ›nÄ›no na úrovni nastavení podlaží nebo místností." #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "Hodina ke spuÅ¡tÄ›ní automatického ÄiÅ¡tÄ›ní databáze." #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 msgid "Default message expire policy for public rooms" msgstr "Výchozí pravidlo pro zprávy o vyprÅ¡eníl ve veÅ™ejných místnostech" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 msgid "Default message expire policy for private mailboxes" msgstr "Výchozí pravidlo proÅ¡lých zpráv pro soukromé složky" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 msgid "Same policy as public rooms" msgstr "Stejné pravidla jako veÅ™ejné místnosti" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "Default user purge time (days)" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "Výchozí Äas pro vyÄiÅ¡tÄ›ní místnosti (dny)" #: ../../i18n_templatelist.c:700 #, fuzzy msgid "Are you sure you want to delete this room?" msgstr "Opravdu chcete odstranit " #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "Odstranit tuto místnost" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 msgid "Set or change the icon for this rooms banner" msgstr "Nastavit nebo upravit ikonu pro návÄ›stí této místnosti" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 msgid "Edit this rooms Info file" msgstr "Upravit Informace o místnosti" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "Vložte příkaz pro server" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" "Tato Äást umožňuje vložit příkaz pro Citadel server, který není podporován " "pÅ™es WebCit. Pokud nevíte co to znamená, tato stránka pro vás nebude moc " "užiteÄná." #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "Vložte příkaz:" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "Vstupní příkaz (pokud požaduje SEND_LISTING pÅ™enosový mód):" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 msgid "Detected host header is " msgstr "Detekovaná hlaviÄka hosta je " #: ../../i18n_templatelist.c:709 #, fuzzy msgid "Send command" msgstr "Vložte příkaz:" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "(List běžících Realtime Blackhole)" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "Kontrola přístupu a nastavení politiky stránky" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "Karanténí zprávy pro problémové uživatele" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "Jméno karanténí místnosti" #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 msgid "Name of room to log pages" msgstr "Jméno místnosti pro stránky s logy" #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 msgid "Authentication mode" msgstr "Ověřovací mód" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 msgid "Self contained" msgstr "" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 msgid "Host based" msgstr "" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 msgid "Allow anonymous guest access" msgstr "Povolit anonymní přístup" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 msgid "Master user name (blank to disable)" msgstr "Administrátorské jméno" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 msgid "Master user password" msgstr "Administrátorské heslo" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 msgid "Initial access level for new users" msgstr "PoÄáteÄní úroveň přístupu pro nové uživatele" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "PotÅ™ebné oprávnÄ›ní pro vytváření nových místností" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "" #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "" #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "Zakázat přístup k Internetovému e-mailu" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "Zakázat vlastní vytvoÅ™ení uživatele" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "Tip: nevybírejte obÄ›!" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "Požadovat registraci pro nové uživatele" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 msgid "Add, change, or delete floors" msgstr "PÅ™idat, upravit nebo odstranit podlaží" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "Zobrazit jako:" #: ../../i18n_templatelist.c:753 #, fuzzy msgid "Delete this note?" msgstr "Odstranit tuto místnost" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 msgid "Logged in as" msgstr "PÅ™ihlášen jako" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 msgid "Not logged in." msgstr "NepÅ™ihlášen." #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "Musíte být pÅ™ihlášen pro přístup k této stránce." #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "PÅ™ihlaÅ¡te se s uživatelským jménem a heslem" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "Heslo:" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "Nový uživatel? Zaregistrujte se" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "" #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "PÅ™ihlaÅ¡te se s pomocí OpenID" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "OpenID URL:" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 msgid "Log in using Google" msgstr "PÅ™ihlásit se použitím Google" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 msgid "Log in using Yahoo" msgstr "PÅ™ihlásit se použitím Yahoo" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 msgid "Log in using AOL or AIM" msgstr "PÅ™ihlásit použitím AOL nebo AIM" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "ÄŒekejte prosím" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "PÅ™idat nový skript" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" "Pro vytvoÅ™ení skriptu napiÅ¡te požadované jméno a kliknÄ›te na 'vytvoÅ™it'." #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "Jméno skriptu: " #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "Upravit skripty" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "Jít zpÄ›t na editaci skriptů" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "Smazat skripty" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "" "Pro smazání existujících skriptů, vyberte jejich jména ze seznamu a kliknÄ›te " "na 'Smazat'" #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 msgid "Restart Now" msgstr "Restartovat nyní" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "Restartovat after paging users" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "Restartovat až budou vÅ¡ichni uživatelé neÄinní" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 msgid "Configure Push Email" msgstr "Nastavit Push Email" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "Push email a SMS nastavení" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" "Pokud správce povolil tuto funkci, Citadel může oznámit Funambol servru, že " "jste obdrželi novou zprávu a automaticky se sesynchronizovat se zařízením na " "kterém máte nainstalován Funambol klient." #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" "Pokud to správce nastavil, Citadel vám může poslat sms když pÅ™ijde nová " "zpráva." #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 msgid "Notify Funambol server" msgstr "Oznámit Funambol serveru" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 msgid "Send a text message to..." msgstr "Poslat sms na Äíslo..." #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "" "(použijte mezinárodní formát bez úvodních nul, mezer nebo pomlÄek, napÅ™ " "+61415011501)" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "Použit vlastní schéma oznámení nastavené Administrátorem" #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "Neposílat žádná upozornÄ›ní" #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "běží na" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "SMTP MTA port (-1 pro vypnutí)" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "SMTP MSA port (-1 pro vypnutí)" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "SMTP pÅ™es SSL port (-1 pro vypnutí)" #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "Provést RBL kontolu pÅ™ed pÅ™ipojením místo pro pÅ™ipojení k RCPT" #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "OznaÄit zprávu jako spam, místo odmítnutí" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "Povolit neuatentifikované SMTP klienty" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "Opravit upravené \"From:\" řádky pÅ™i autentifikovaném SMTP pÅ™enosu" #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "-1 to disable" msgstr "-1 pro vypnutí" #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 msgid "ManageSieve Port (-1 to disable)" msgstr "ManageSieve Port (-1 pro vypnutí)" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "Nastavení webu" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 msgid "General" msgstr "Obecné" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 #, fuzzy msgid "Settings" msgstr "Nastavení Iconbaru" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "Pop3" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "Indexování/žurnálovaní" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 msgid "Access" msgstr "Přístup" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 msgid "Directory" msgstr "Adresář" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "Automatické ÄiÅ¡tÄ›ní" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" "Obsah této místnosti je odesílán jako samostatné zprávy na " "následující seznam příjemců:

    " #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" "Obsah této místnosti je odesílán ve formě digest na následující " "seznam příjemců:

    " #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 #, fuzzy msgid "List" msgstr "Seznam ID" #: ../../i18n_templatelist.c:847 #, fuzzy msgid "Digest" msgstr "Vybraný formát" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "PÅ™idejte příjemce z Kontaktů nebo ostatních adresních seznamů" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "Povolit neodbÄ›ratelům odesílat mail na tuto místnost." #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "Publikace příspÄ›vků v místnosti vyžaduje oprávnÄ›ní Admin." #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 msgid "Allow self-service subscribe/unsubscribe requests." msgstr "" #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "Adresa pro odbÄ›ratele/neodbÄ›ratele: " #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 #, fuzzy msgid "Set" msgstr "PÅ™edmÄ›t" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 msgid "Summary page for " msgstr "Souhrná strana pro " #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "Zprávy" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "Dnes ve vaÅ¡em kalendáři" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 msgid "Who‘s online now" msgstr "Kdo je nyní  online " #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "O tomto serveru" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "PÅ™ipojen k" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 msgid "running" msgstr "běží" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 msgid "with" msgstr "s" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "sestavení serveru" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 msgid "and located in" msgstr "nachází se v" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 msgid "Your system administrator is" msgstr "Váš systémový administrátor je" #: ../../i18n_templatelist.c:874 #, fuzzy msgid "Do you really want to kill this session?" msgstr "Chcete opravdu smazat toto OpenID?" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "Nyní pÅ™ipojení uživatelé " #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 msgid "Click on a name to read user info. Click on" msgstr "KliknÄ›te na jméno pro informace o uživateli" #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 msgid "to send an instant message to that user." msgstr "pro odeslání okamžité zprávy tomuto uživateli" #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "Staré zprávy" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "Nové zprávy" #: ../../i18n_templatelist.c:880 #, fuzzy msgid "Share" msgstr "Sdílení" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "(Domény, jejichž uživatelé mají povolenu maÅ¡karádu)" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "Zadejte nové heslo:" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "Pro ověření heslo zopakujte:" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "ZmÄ›nit heslo" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "Upravte nastavení sezení" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" "Tato obrazovka dovoluje zmÄ›nit způsob, jakým se zobrazuje seznam \"Kdo je " "online\". Pro vypnutí \"faleÅ¡ných\" jmen, pÅ™ed tím nastavených, kliknÄ›te na " "odpovídající \"zmÄ›nové\" tlaÄítko bez psaní do přísluÅ¡ného boxu. " #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "Jméno místnosti:" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "ZmÄ›nit jméno místnosti" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "OznaÄení systému:" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "ZmÄ›nit oznaÄení systému" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "ZmÄ›nit uživatelské jméno" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "Historie editací této stránky" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "PotvrÄte pÅ™esun zpráv" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "PÅ™esunout zprávu do:" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "OriginálnÄ› zasláno v " #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "Zobraz místnosti" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "Kam můžu pokraÄovat?" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "Jít do vedlejší místnosti" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 msgid "...with unread messages" msgstr "...s nepÅ™eÄtenými zprávami" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "PÅ™eskoÄ do další místnosti" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "(vraÅ¥te se sem pozdÄ›ji)" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "Jít zpÄ›t" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 msgid "oops! Back to " msgstr "oops! ZpÄ›t na " #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "PÅ™eÄíst nové zprávy" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "...v této místnosti" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "PÅ™eÄíst vÅ¡echny zprávy" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "...staré a nové" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "Vložte zprávu" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "(posláno v této místnosti)" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "Knihovna souborů" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "(Zobrazit dostupné soubory pro stáhnutí)" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 msgid "Summary page" msgstr "Stránka s pÅ™ehledem" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "PÅ™ehled mého úÄtu" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "Seznam uživatelů" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 msgid "(all registered users)" msgstr "(vÅ¡ichni registrovaní uživatelé)" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "MÄ›jte se!" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "" "(Pokud je potvrzeno, pÅ™epoÅ¡le vÅ¡echny odchozí maily na jednoho z tÄ›chto " "hostů)" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "Zobrazit kontakty" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "PÅ™idat kontakt" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "Denní pohled" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "MÄ›síÄní pohled" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "PÅ™idat událost" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "Zobrazit úkoly" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "PÅ™idat nový úkol" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "Zobrazit poznámky" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "PÅ™idat novou poznámku" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "Aktualizovat list zpráv" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "Napsat e-mail" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "Wiki" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "Upravit tuto stránku" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "Historie" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 msgid "New blog post" msgstr "Nový zápisek na blog" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "PÅ™eskoÄit tuto místnost" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 #, fuzzy msgid "Save changes?" msgstr "Uložit zmÄ›ny" #~ msgid "" #~ "You are subscribing %s to the %s mailing list. The " #~ "listserver has sent you an e-mail with one additional Web link for you to " #~ "click on to confirm your subscription. This extra step is for your " #~ "protection, as it prevents others from being able to subscribe you to " #~ "lists without your consent.

    Please click on the link which is " #~ "being e-mailed to you and your subscription will be confirmed.
    \n" #~ msgstr "" #~ "Zaregistroval jste se %s do %s distribuÄního seznamu. " #~ "Seznamový server Vám poslal mail s webovým odkazem, kterým potvrdíte své " #~ "pÅ™ihlášení. Tento zvláštní krok je pro VaÅ¡i ochranu, aby Vás zapsali na " #~ "seznam bez VaÅ¡eho vÄ›domí. Prosím kliknÄ›te na odkaz, který Vám byl poslán " #~ "a VaÅ¡e registrace bude potvrzena.
    \n" #~ msgid "" #~ "WARNING: Failed to parse Server Config; do you run a to new citserver?" #~ msgstr "" #~ "VAROVÃNÃ: NepodaÅ™ilo se zpracovat nastavení serveru; spustit nový " #~ "citserver?" #~ msgid "There is no room called '%s'." #~ msgstr "Místnost '%s' není k nalezení." #~ msgid "Network" #~ msgstr "Síť" #~ msgid "Tuning" #~ msgstr "LadÄ›ní" #~ msgid "Instantly expunge deleted messages in IMAP" #~ msgstr "OkamžitÄ› vymazat smazané zprávy pÅ™es IMAP" webcit-9.01-dfsg/po/webcit/da.po000066400000000000000000004632741254743150300165040ustar00rootroot00000000000000# Danish localization for WebCit # Copyright (C) 2006 - 2009 The Citadel Project - http://www.citadel.org # This file is distributed under GPL v3 # Flemming Veggerby 2008 - 2009 msgid "" msgstr "" "Project-Id-Version: WebCit\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2010-10-22 14:46+0000\n" "Last-Translator: Flemming Veggerby \n" "Language-Team: Danish \n" "Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-10-23 04:47+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "tilgængelighed ukendt" #: ../../availability.c:169 msgid "free" msgstr "fri" #: ../../availability.c:179 msgid "BUSY" msgstr "OPTAGET" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "Upload er blevet afbrudt." #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "Du uploadede ikke en fil." #: ../../graphics.c:106 msgid "your photo" msgstr "dit billede" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "ikonet for dette rum" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "Velkomstbillede ved login" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "Logaf banner billede" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "ikonet for denne etage" #: ../../tasks.c:93 msgid "Completed?" msgstr "" #: ../../tasks.c:95 msgid "Name of task" msgstr "Navn pÃ¥ opgave" #: ../../tasks.c:97 msgid "Date due" msgstr "Forfaldsdato" #: ../../tasks.c:99 msgid "Category" msgstr "Kategori" #: ../../tasks.c:101 msgid "Show All" msgstr "Vis Alle" #: ../../tasks.c:224 msgid "Edit task" msgstr "Editér opgave" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "Summering:" #: ../../tasks.c:259 msgid "Start date:" msgstr "Start dato:" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "eller" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "" #: ../../tasks.c:289 msgid "Due date:" msgstr "Forfald dato:" #: ../../tasks.c:318 msgid "Completed:" msgstr "" #: ../../tasks.c:329 msgid "Category:" msgstr "Kategori:" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "Beskrivelse:" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "Gem" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "Slet" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "Afbryd" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, fuzzy, c-format msgid "%d comments" msgstr "Send kommando" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "nyere stillinger" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "ældre indlæg" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "Editér %s" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" "Skriv %s nedenfor. Tekst er formatteret til læserens skærmbredde. For at " "overvinde formatteringen, indfør en linie mindst et mellemrum." #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "Gem ændringer" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "Afbrudt. %s blev ikke gemt." #: ../../sysmsgs.c:103 #, fuzzy msgid " has been saved." msgstr "%s er blevet gemt." #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "Rum info" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "Din bio" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "Time: " #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "Minut: " #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "(status ukendt)" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "(behøver aktion)" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "(accepteret)" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "(afvist)" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "(foreløbig)" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "(delegeret)" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "(færdig)" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "(igang)" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "(ingen)" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "Tilret konto/OpenID associationer" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "" #: ../../openid.c:47 msgid "(delete)" msgstr "" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "Tilføj et OpenID: " #: ../../openid.c:58 msgid "Attach" msgstr "" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "%s tillader ikke autentifikation via OpenID" #: ../../summary.c:128 msgid "(None)" msgstr "(Ingen)" #: ../../summary.c:184 msgid "(Nothing)" msgstr "(Ingenting)" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "" #: ../../bbsview_renderer.c:354 msgid "First" msgstr "" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "realloc() fejl! kunne ikke modtage %d bytes: %s" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "Slettet" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "Ny Bruger" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "Problem Bruger" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "Lokal Bruger" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "Netværk Bruger" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "Foretrukken Bruger" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "Systemansvarlig" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "En fejl er opstÃ¥et" #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "Validér nye brugere" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "Ingen brugere kræver validering pÃ¥ dette tidspunkt." #: ../../auth.c:617 msgid "very weak" msgstr "meget svag" #: ../../auth.c:620 msgid "weak" msgstr "svag" #: ../../auth.c:623 msgid "ok" msgstr "ok" #: ../../auth.c:627 msgid "strong" msgstr "stærk" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "Aktuelt brugerniveau: %d (%s)\n" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "Vælg brugerniveau for denne bruger:" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "Afbrudt. Adgangskode blev ikke ændret." #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "Adgangskoder matcher ikke. Adgangskode blev ikke ændret." #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "Blanke adgangskoder er ikke tilladt." #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "Møde invitaion" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "Deltagers svar pÃ¥ din invitation" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "Publiseret aftale" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "Dette er en ukendt type kalender emne." #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "Lokation:" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "Dato:" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "Start dato/tid:" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "Slut dato/tid:" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "Gentagelse" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "Dette er en gentagende aftale" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "Deltager:" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "Dette er en opdatering af '%s' som allerede er i din kalender." #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "Denne aftale vil konflikte med '%s* som allerede er i din kalender." #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "Opdatering:" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "KONFLIKT:" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "Hvordan vil du svare pÃ¥ denne invitation?" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "Acceptér" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "Foreløbig" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "Afvis" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "" "Klik Opdatér for at acceptere dette svar og opdatere din kalender." #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "Opdatér" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "Ignorér" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "Der opstod en fejl ved behandling af dette emne." #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "" "Du har accepteret denne mødeinvitation. Det er blevet tilføjet i din " "kalender." #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "" "Du har foreløbigt accepteret denne mødeinvitation. Det er blevet tilføjet i " "din kalender 'med blyant'" #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "" "Du har afvist denne mødeinvitation. Det er ikke blevet tilføjet i " "din kalender." #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "Et svar er blevet sendt til mødeorganisatoren." #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "Din kalender er opdateret til at reflektere denne S.U." #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "" "Du har valgt at ignorere denne S.U. Din kalender er ikke blevet " "opdateret." #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "Kalender dag visning begynder:" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "Kalender dag visning slutter:" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "Ugen starter:" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "" #: ../../event.c:71 msgid "seconds" msgstr "sekunder" #: ../../event.c:72 msgid "minutes" msgstr "" #: ../../event.c:73 msgid "hours" msgstr "" #: ../../event.c:74 msgid "days" msgstr "dage" #: ../../event.c:75 msgid "weeks" msgstr "" #: ../../event.c:76 msgid "months" msgstr "" #: ../../event.c:77 msgid "years" msgstr "" #: ../../event.c:78 msgid "never" msgstr "aldrig" #: ../../event.c:82 msgid "first" msgstr "" #: ../../event.c:83 msgid "second" msgstr "" #: ../../event.c:84 msgid "third" msgstr "tredie" #: ../../event.c:85 msgid "fourth" msgstr "fjerde" #: ../../event.c:86 msgid "fifth" msgstr "femte" #: ../../event.c:89 msgid "Event" msgstr "Aftale" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "Deltagere" #: ../../event.c:168 msgid "Add or edit an event" msgstr "Tilføj eller editér en aftale" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "Summering" #: ../../event.c:222 msgid "Location" msgstr "Lokation" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "Start" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "Hele dagen aftale" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "Slut" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "Noter" #: ../../event.c:374 msgid "Organizer" msgstr "Organisator" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "(du er organisator)" #: ../../event.c:397 msgid "Show time as:" msgstr "Vis tid som:" #: ../../event.c:420 msgid "Free" msgstr "Fri" #: ../../event.c:428 msgid "Busy" msgstr "Optaget" #: ../../event.c:445 msgid "(One per line)" msgstr "(Én per linie)" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "Kontaktpersoner" #: ../../event.c:518 msgid "Recurrence rule" msgstr "" #: ../../event.c:522 msgid "Repeats every" msgstr "Gentages hver" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "pÃ¥ disse ugedage" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "pÃ¥ den %s%d%s dag i mÃ¥neden" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "" #: ../../event.c:631 msgid "of the month" msgstr "i mÃ¥neden" #: ../../event.c:660 msgid "every " msgstr "hver " #: ../../event.c:661 msgid "year on this date" msgstr "Ã¥r pÃ¥ denne dato" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "af" #: ../../event.c:717 msgid "Recurrence range" msgstr "GentagelsesomrÃ¥de" #: ../../event.c:725 msgid "No ending date" msgstr "" #: ../../event.c:732 msgid "Repeat this event" msgstr "" #: ../../event.c:735 msgid "times" msgstr "" #: ../../event.c:743 msgid "Repeat this event until " msgstr "Gentag denne aftale indtil " #: ../../event.c:771 msgid "Check attendee availability" msgstr "Check deltager tilgænglighed" #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "Invalid Parameter" #: ../../inetconf.c:126 #, fuzzy msgid " has been deleted." msgstr "%s er blevet slettet." #. added status message #: ../../inetconf.c:144 msgid " added." msgstr "" #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "Højere tilladelse er krævet for at bruge denne funktion." #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "" #: ../../listsub.c:38 ../../listsub.c:76 #, fuzzy msgid "You need to specify the email address you'd like to subscribe with." msgstr "Skriv det Brugernavn du gerne vil have." #: ../../messages.c:73 msgid "ERROR:" msgstr "FEJL:" #: ../../messages.c:91 msgid "Empty message" msgstr "" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "Afbrudt. Meddelelse ikke opsat." #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "Automatisk afbrudt fordi du har allerede gemt denne meddelelse." #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "" #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "Meddelelse er blevet sendt.\n" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "Meddelelse er blevet opsat.\n" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "Meddelelsen blev ikke flyttet." #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "En fejl opstod under hentning af denne del: %s\n" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "Tilføj signatur til meddelelser?" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "Brug denne signatur" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "Standard karaktérsæt for email headers:" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "Vist navn pÃ¥ opslagstavle posteringer" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "Postkasse visning" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "Klik pÃ¥ en note for at ændre den." #: ../../paging.c:29 msgid "Send instant message" msgstr "Send popup meddelelse" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "Sedn popup meddelelse til: " #: ../../paging.c:51 msgid "Enter message text:" msgstr "Skriv meddelelsestekst:" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "Send meddelelse" #: ../../paging.c:78 msgid "Message was not sent." msgstr "Meddelelse blev ikke sendt." #: ../../paging.c:89 msgid "Message has been sent to " msgstr "Meddelelse blev sendt til " #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "Afbrudt. Ingen indstillinger blev ændret." #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "Gør dette til min startside" #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "" #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "Du har ikke længere en startside." #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "" #: ../../roomlist.c:105 msgid "My Folders" msgstr "" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "Afbrudt. Ændringer blev ikke gemt." #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "Dine ændringer er blevet gemt." #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "Bruger %s blev sparket ud af rum %s." #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "Bruger %s blev inviteret til rum %s." #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "Afbrudt. Intet nyt rum blev oprettet." #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "Etage er blevet slettet." #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "Ny etage er oprettet." #: ../../roomops.c:1363 msgid "Room list view" msgstr "Rum liste visning" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "Vis tomme etager" #: ../../roomtokens.c:570 msgid "file" msgstr "" #: ../../roomtokens.c:572 msgid "files" msgstr "filer" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "Opslagstavle" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "Post Mappe" #: ../../roomviews.c:55 msgid "Address Book" msgstr "Adressebog" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "Kalender" #: ../../roomviews.c:57 msgid "Task List" msgstr "Opgave Liste" #: ../../roomviews.c:58 msgid "Notes List" msgstr "Note Liste" #: ../../roomviews.c:59 msgid "Wiki" msgstr "Wiki" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "Kalender Liste" #: ../../roomviews.c:61 msgid "Journal" msgstr "Journal" #: ../../roomviews.c:62 #, fuzzy msgid "Drafts" msgstr "Dato" #: ../../roomviews.c:63 msgid "Blog" msgstr "" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" "Denne server har allerede det maximale antal brugere logget ind og kan ikke " "acceptere flere lige nu. Prøv igen senere eller kontakt din System " "administrator." #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "" #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" "Du er forbundet til en Citadel server der kører Citadel %d.%02d. \n" "For at køre denne version af WebCit skal du have Citadel %d.%02d eller " "nyere.\n" "\n" "\n" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "Din system konfiguration er blevet opdateret" #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "" "En fejl opstod ved forsøg pÃ¥ at oprette eller editére dette adressebogsemne." #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "Ændringer blev ikke gemt." #: ../../useredit.c:778 msgid "A new user has been created." msgstr "En ny bruger blev oprettet." #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" "Du forsøger at opretter en ny bruger i Citadel mens den kører i værtsbaseret " "autentifikation. I denne konfiguration, skal du oprette nye brugere pÃ¥ værts-" "systemet, ikke i Citadel." #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "(intet navn)" #: ../../vcard_edit.c:438 msgid " (work)" msgstr " (arbejde)" #: ../../vcard_edit.c:440 msgid " (home)" msgstr " (hjem)" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr " (afdeling)" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "Adresse:" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "Telefon:" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "E-mail:" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "Denne adressebog er tom." #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "" #: ../../vcard_edit.c:940 msgid "Error" msgstr "Fejl" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "Editér kontakt information" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "Præfix" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "Fornavn" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "Mellemnavn" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "Efternavn" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "Tilføjelse" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "Vist navn:" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "Titel:" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "Organisation:" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "Postbox:" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "By:" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "Stat:" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "Postnummer:" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "Land:" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "Hjemmetelefon:" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "Arbejdstelefon:" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "Pimær Internet Email adresse" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "Internet Email aliasser" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "" #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "Kunne ikke dekode vcard foto\n" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "Godkendelse Krævet" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" "Resourcen som du forespurgte kræver et brugernavn og en adgangskode. Du " "kunne ikke blive logged ind: %s\n" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" "Dette program kunne ikke tilslutte eller forblive tilsluttet til Citadel " "serveren. KOntakt din Systemadministrator." #: ../../webcit.c:688 msgid "Read More..." msgstr "Læs mere..." #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "'%s' er ikke et Wiki rum." #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "Der er ikke nogen side her der hedder '%s'" #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "" "Vælg 'Editér denne side' link i rum banneret hvis du gerne vil oprette denne " "side." #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "Dato" #: ../../wiki.c:143 msgid "Author" msgstr "" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "" #: ../../wiki.c:184 msgid "(revert)" msgstr "" #: ../../wiki.c:246 msgid "Page title" msgstr "" #: ../../fmt_date.c:306 msgid "Time format" msgstr "Time format" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "Noter:" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "" #: ../../calendar_view.c:750 msgid "Week" msgstr "Uge" #: ../../calendar_view.c:752 msgid "Hours" msgstr "Timer" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "Emne" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "Igangværende aftale" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "editér" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "" #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "(intet emne)" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "" #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "Du har ikke lov til at se denne resource." #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "Personliggør denne ikonbjælke" #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "Vis ikoner som:" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "billeder og tekst" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "kun billeder" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "kun tekst" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "" "Vælg de ikoner som vil have vist i 'ikonbjælke' menuen i den venstre side af " "skærmen." #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "Ja" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "Nej" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "Site logo" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "Et ikon der beskriver denne site" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "Din summeringsside" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "Post (indbakke)" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "En genvej til din indbakke" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "Din personlige adressebog" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "Dine personlige noter" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "En genvej til din personlige kalender" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "Opgaver" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "En genvej til din personlige opgave liste" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "Rum" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "" "Klik pÃ¥ dette ikon for at vise en liste med alle tilgængelige rum. (eller " "foldere)" #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "Hvem er online?" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "" "KLik pÃ¥ dette ikon for at vise en liste med alle brugere der er logget ind." #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "Chat" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "" "Klik pÃ¥ dette ikon for at starte chat med andre brugere i det samme rum." #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "Avancerede indstillinger" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "Adgang til den komplette menu med Citadel funktioner." #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "Citadel logo" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "Viser 'Powered by Citadel' ikon" #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 msgid "System Administration Menu" msgstr "System Administration Menu" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 #, fuzzy msgid "Room Admin Menu" msgstr "Rum Systemansvarlig Menu" #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "Lokal vært aliaser" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "Directory domæner" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "Smart værter" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 #, fuzzy msgid "Fallback smart hosts" msgstr "Smart værter" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 msgid "RBL hosts" msgstr "RBL værter" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "SpamAssassin værter" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "ClamAV clamd værter" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 #, fuzzy msgid "Masqueradable domains" msgstr "Maskerade domæner" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" "Ændringer pÃ¥ denne skærm vil ikke blive effektueret før du har genstartet " "Citadel serveren." #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 msgid "Network services" msgstr "Netværk service" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 #, fuzzy msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "Serverens IP adresse (0.0.0.0 vælger alle)" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 #, fuzzy msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "XMPP (Jabber) klient til server port (-1 = afbrudt)" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 #, fuzzy msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "XMPP (Jabber) server til server port (-1 = afbrudt)" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "Avanceret server finindstilling kontroller" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "Maximum meddelelse længde" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "Server forbindelse inaktivitetstimeout (i sekunder)" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "Netværk kør frekvens (i sekunder)" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "Maximum antal samtidige sessioner (0 = ingen max)" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "Minimum antal arbejdstrÃ¥de" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "Maximum antal arbejdstrÃ¥de" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "Automatisk slet commited database logs" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "Opret et nyt rum" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "Navn pÃ¥ rum" #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "Ligger pÃ¥ etage: " #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "Standard visning for rum: " #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "Type pÃ¥ rum" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "Offentlig (automatisk vist til alle)" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "Privat - skjult (adgang for dem der kender navnet)" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "Privat - med adgangskode: " #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "Privat - kun med invitation" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "Personlig (postkasse kun for dig)" #: ../../i18n_templatelist.c:95 msgid "Create new room" msgstr "Opret nyt rum" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "Log af" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "Log pÃ¥ igen" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "Zap (glem/abonementfjern) det aktuelle rum" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 #, fuzzy msgid "If you select this option," msgstr "Editér eller slet dette rum" #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 #, fuzzy msgid "will disappear from your room list. Is this what you wish to do?" msgstr "" "Hvis du vælger denne funktion, %s vil forsvinde fra din rum liste. " "Er det hvad du gerne vil?
    \n" #: ../../i18n_templatelist.c:102 msgid "Zap this room" msgstr "Zap dette rum" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "Bruger navn" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "Rum" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "Fra host" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "Afsender" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "Henter meddelser fra server, vent venligst" #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "Åbn i nyt vindue" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "Flyt" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "Kopiér" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "Udskriv" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "Zapped (glemte) rum" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 #, fuzzy msgid "Click on any room to un-zap it and goto that room." msgstr "Klik på et rum for at af-zappe det og gå til rummet.\n" #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" "Du har en eller flere popup meddelelser ventende, men Citadel Instant " "Messenger vinduet kunne ikke åbnes. Det er måske fordi du har en popup " "blocker installeret. Konfigurér din popup blocker til at tillade popups fra " "denne site hvis du vil have popup meddelelser." #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "Ændre dine præferencer og indstillinger" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "Opdatér din kontakt information" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "Skift din adgangskode" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "Indtast din 'bio'" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "Editér dit online foto" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "Vis/Editér server post filtre" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "Editér dine skub email indstillinger" #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 #, fuzzy msgid "Manage your OpenIDs" msgstr "Skift din adgangskode" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "" #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "Vis" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "Download" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "Global Konfiguration" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "Bruger konto administration" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "Luk Citadel" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "Rum og Etager" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "Gå til et skjult rum" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 #, fuzzy msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" "Hvis du kender navnet på et skjult (gæt-navn) eller adgangsbeskyttet rum, " "kan du gå til rummet ved at skrive navnet nedenfor. Når du får adgang til " "et privat rum, vil det optræde på din almindelige rum liste så du ikke " "behøver at komme her igen." #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "Skriv rummets navn:" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "Skriv rummets adgangskode:" #: ../../i18n_templatelist.c:144 #, fuzzy msgid "Go there" msgstr "Gå dertil" #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "fra " #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "CC:" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "Emne:" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 #, fuzzy msgid "Push Email" msgstr "Skub Email" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 #, fuzzy msgid "Funambol server host (blank to disable)" msgstr "Funambol server vært (blank for at slå fra)" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 msgid "Funambol server port " msgstr "Funambol server port" #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 msgid "Funambol sync source" msgstr "Funambol synkronisering kilde" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "Funambol autorisation detaljer (bruger:adgangskode)" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 #, fuzzy msgid "External pager tool (blank to disable)" msgstr "Extern pager værktøj (blank for at slå fra)" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "Træ (bibliotek) visning" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "Tabel (rum) visning" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "12 timer (am/pm)" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "24 timer" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 #, fuzzy msgid "Sunday" msgstr "Søndag" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 msgid "Monday" msgstr "Mandag" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "Ingen signatur" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "Fuld funktionalitet" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "Sikker kørsel" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "" #: ../../i18n_templatelist.c:168 msgid "Change" msgstr "Ret" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "Præferencer og indstillinger" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "Almindelige kommandoer" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "Din information" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "Avancerede rum kommandoer" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "Editér bruger konto " #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "Brugernavn" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "Adgangskode" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "Tilladelse til at sende Internet Mail" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 msgid "Number of logins" msgstr "Antal gange logget på" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 msgid "Messages submitted" msgstr "Meddelelser sendt" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 msgid "Access level" msgstr "Bruger type" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 msgid "User ID number" msgstr "Bruger ID nummer" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "Dato og tid for sidste login" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "Auto-slet efter så mange dage" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "POP3" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "POP3 lytte port (-1 = afbrudt)" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "POP3 over SSL port (-1 = afbrudt)" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 #, fuzzy msgid "POP3 fetch frequency in seconds" msgstr "POP3 hent frekvens i sekunder" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 #, fuzzy msgid "POP3 fastest fetch frequency in seconds" msgstr "POP3 hurtigste hent frekvens i sekunder" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "Vis udgående SMTP kø" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 #, fuzzy msgid "Remote Sites:" msgstr "Smart værter" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 #, fuzzy msgid "Status:" msgstr "Stat:" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 msgid "Jobs waiting for further processing:" msgstr "" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 #, fuzzy msgid "Message to your Users:" msgstr "Meddelelse til dine brugere:" #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "Administration" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "Konfiguration" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "Meddelelse udløbspolitik" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "Adgangskontrol" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "Deling" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "Mailing liste service" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "Fjernhentning" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 #, fuzzy msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "" "Din ikonbjælke er blevet opdateret. Vælg en af mulighederne for at " "fortsætte." #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 msgid "General site configuration items" msgstr "Generelle site konfigurationsemner" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "Skift Login Logo" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "Skift Logout Logo" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 msgid "Node name" msgstr "Node navn" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "Fuld kvalificeret domæne navn" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "Meneskelæseligt node navn" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 msgid "Telephone number" msgstr "Telefon nummer" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "Paginator prompt (for tekst klienter)" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "Geografisk lokation af dette system" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "Navn på Systemadministror" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "Standard tidszone til Kalender aftaler ikke i zone" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 #, fuzzy msgid "Networked Room" msgstr "Netværksdelt rum" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 msgid "Add a new node" msgstr "Tilføj en ny node" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "Delt kodeord" #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "Vært eller IP adresse" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 msgid "Port number" msgstr "Port nummer" #: ../../i18n_templatelist.c:241 #, fuzzy msgid "Add node?" msgstr "Tilføj node" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 msgid "(kill)" msgstr "(dræb)" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 msgid "Edit configuration" msgstr "Editér konfiguration" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 msgid "Edit address book entry" msgstr "Editér adressebogsemne" #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 #, fuzzy msgid "Minutes" msgstr "Minutter" #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 #, fuzzy msgid "active" msgstr "Foreløbig" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 #, fuzzy msgid "(Edit)" msgstr "(editér)" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "(Slet)" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "" #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "" #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "Skriv en kommentar" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "Godkend sletning" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "Er du sikker på du vil slette? " #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 msgid "Add, change, delete user accounts" msgstr "Tilføj, ret, slet bruger konti" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 #, fuzzy msgid "(hosts running the ClamAV clamd service)" msgstr "(værter som kører ClamAV clamd service" #: ../../i18n_templatelist.c:270 msgid "Send" msgstr "Send" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 #, fuzzy msgid "Restart Citadel" msgstr "Gør dette til min startside" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "Til:" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "BCC:" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "Emne (valgfrit):" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "--- videresendt meddelelse ---" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 msgid "Post message" msgstr "Opslå meddelelse" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "" #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "Vedhæftede filer" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 msgid "Delete this message?" msgstr "Slet denne meddelelse?" #: ../../i18n_templatelist.c:300 #, fuzzy msgid "Room Logo" msgstr "Rum info" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "" #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "Server kommando resultater" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 #, fuzzy msgid "Enter another command" msgstr "Skriv en server kommando" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 #, fuzzy msgid "Return to menu" msgstr "skift til menu" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 #, fuzzy msgid "Users currently on" msgstr "Brugere i øjeblikket på" #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "Bruger profil" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 #, fuzzy msgid "Click here to send an instant message to" msgstr "Klik her for at sende online meddelelse til %s" #: ../../i18n_templatelist.c:308 #, fuzzy msgid "Pictures in" msgstr "Billeder i" #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 msgid "Edit or delete users" msgstr "Editér eller slet brugere" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 msgid "You need to be aide to view this." msgstr "Du skal være Sytemansvarlig for at se dette." #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 msgid "Add users" msgstr "Tilføj brugere" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 msgid "Edit or Delete users" msgstr "Editér eller slet brugere" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "Vent mens Citadel server genstarter" #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 #, fuzzy msgid "User list for " msgstr "Bruger liste for %s" #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "Bruger navn" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "Nummer" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "Bruger type" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "Sidste login" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "Total antal login" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "Totale antal meddelelser" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "" #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "" #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "Skriv det Brugernavn du gerne vil have." #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "Afslut" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "Meddelelse udløbspolitik for dette rum" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "Brug standard politik for denne etage" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "Aldrig automatisk sætte meddelelse til udløbet" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "Sæt udløb efter meddelelsesantal" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "Sæt udløb efter meddelelsesalder" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "Antal meddelelser eller dage: " #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "Meddelelse udløbspolitik for denne etage" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "Brug system standard" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "Luk vinduet" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 #, fuzzy msgid "Upload failed" msgstr "uploading tilladt" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 #, fuzzy msgid "Are you shure you want to delete {filename}?" msgstr "Er du sikker på du vil slette? " #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "Vedhæft fil" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 #, fuzzy msgid "Remove" msgstr "(fjern)" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "Index og Journal" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "Advarsel: disse faciliteter er resourcekrævende." #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "Slå fuld tekst index til" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 msgid "Perform journaling of email messages" msgstr "Brug journal på Email meddelelser" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 msgid "Perform journaling of non-email messages" msgstr "Brug journal på ikke-Email meddelelser" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "Email destination på journaliserede meddelelser" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "Filer til download i" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "Upload" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "Størrelse" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" "Denne installation af Citadel blev lavet uden support af server post " "filtrering.
    Kontakt din Systemadministrator hvis du skal bruge denne " "funktion.
    " #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "" #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "Modtag meddelelser fra disse POP konti og gem dem i dette rum:" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 #, fuzzy msgid "Remote host" msgstr "Smart værter" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 #, fuzzy msgid "Keep messages on server?" msgstr "Gem meddelelser på server?" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 #, fuzzy msgid "Interval" msgstr "Interval" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "Tilføj" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "Hent de følgende RSS feeds og gem dem i dette rum:" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "Feed URL" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "" "For at oprette en ny brugerkonto, skriv det ønskede navn i boksen nedenfor " "og klik 'Opret'." #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 msgid "New user: " msgstr "Ny bruger: " #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "Opret" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "(domæner mappet med Global Adressebog" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "(fjern)" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 #, fuzzy msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" "Brugerne nedenfor har adgang til dette rum. For at fjerne en bruger fra " "adgangslisten, Vælg brugeren på listen og klik 'Spark'." #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "Spark" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" "Far at give en anden bruger adgang til dette rum, skriv brugernavnet i " "boksen nedenfor og klik 'Invitér'." #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "Invitér:" #: ../../i18n_templatelist.c:426 msgid "Invite" msgstr "Invitér" #: ../../i18n_templatelist.c:427 #, fuzzy msgid "User" msgstr "Bruger" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 #, fuzzy msgid "Users" msgstr "Brugere" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 #, fuzzy msgid "Addressbook Popup" msgstr "Adressebog" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "" "For at editére en eksisterende brugerkonto, vælg et brugernavn fra listen og " "klik 'Editér'." #: ../../i18n_templatelist.c:435 msgid "Delete user" msgstr "Slet bruger" #: ../../i18n_templatelist.c:436 msgid "Delete this user?" msgstr "Slet denne bruger?" #: ../../i18n_templatelist.c:437 #, fuzzy msgid "Delete File" msgstr "Slet regel" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "Lysbilledshow" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "(værter som kører SpamAssassin service)" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "which is already in your calendar." msgstr "Dette er en opdatering af '%s' som allerede er i din kalender." #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "This event would conflict with" msgstr "Denne aftale vil konflikte med '%s* som allerede er i din kalender." #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "Når ny post ankommer: " #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "Gem den i min indbakke uden filtrering" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "Filter er som regler valgt nedenfor" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "Filtrér det gennem manuelt editéret script (avancerede brugere)" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "Din indkomne post vil ikke blive filtreret gennem scripts." #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "Det aktive script er: " #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "Konfigurér LDAP forbindelse for Citadel" #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" "NOTE: Denne Citadel server er blevet installeret uden support af LDAP. Disse " "indstillinger vil ikke have nogen betydning." #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "Navn på LDAP server (blank for at slå fra)" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "Port nummer op LDAP server (blank for at slå fra)" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "Base DN" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "Forbind DN" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "Adgangskode for forbind DN" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "Editér eller slet dette rum" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "Gå til et 'skjult' rum" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 #, fuzzy msgid "Zap (forget) this room" msgstr "Zap (glem) dette rum (%s)" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "Vis alle glemte rum" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 #, fuzzy msgid "Zap duplicate messages" msgstr "Læs nye meddelelser" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 #, fuzzy msgid "Next attempt" msgstr "Sidste forsøg" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "Modtagere" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "Læser #" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "ældste til nyeste" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "nyeste til ældste" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "" "Vent mens dine brugere får besked, Citadel serveren derefter genstarte..." #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "Svar" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "SvarCitér" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "SvarAlle" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "Videresend" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "Headers" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "Editér site konfiguration" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "Domænenavne og Internet post konfiguration" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "Konfigurér replikéring med andre Citadel servere" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 #, fuzzy msgid "Powered by Citadel" msgstr "Viser 'Powered by Citadel' ikon" #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "Sprog" #: ../../i18n_templatelist.c:507 msgid "Go to your email inbox" msgstr "Gå til din indbakke" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "Post" #: ../../i18n_templatelist.c:509 msgid "Go to your personal calendar" msgstr "Gå til din personlige kalender" #: ../../i18n_templatelist.c:511 msgid "Go to your personal address book" msgstr "Gå til din personlige adressebog" #: ../../i18n_templatelist.c:513 msgid "Go to your personal notes" msgstr "Gå til dine personlige noter" #: ../../i18n_templatelist.c:515 msgid "Go to your personal task list" msgstr "Gå til din personlige opgave liste" #: ../../i18n_templatelist.c:517 #, fuzzy msgid "List all your accessible rooms" msgstr "Vis alle dine tilgængelige rum" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "Se hvem der er online lige nu" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "Avanceret Menu: Avancerede Rum kommandoer, Konto Information og Chat" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "Avanceret" #: ../../i18n_templatelist.c:526 msgid "Room and system administration functions" msgstr "Rum og systemadministration funktioner" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "personliggør denne menu" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "Sidste login" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "skift til rum listen" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "skift til menu" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "IMAP lytte port (-1 = afbrudt)" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "IMAP over SSL port (-1 = afbrudt)" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "Behold originale headere i IMAP" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "Upload billede" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "" #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "Vælg en fil til upload:" #: ../../i18n_templatelist.c:545 msgid "Reset form" msgstr "Slet form" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "Vis Listeabonnementer" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "Abonnér/slet abonnement" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "Godkendelsesforespørgsel sendt" #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "" #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 #, fuzzy msgid " to the " msgstr "Gå dertil" #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 #, fuzzy msgid " mailing list." msgstr "Mailing liste service" #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "Tilbage..." #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 #, fuzzy msgid "ERROR" msgstr "FEJL:" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 #, fuzzy msgid "from the" msgstr "fra " #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 #, fuzzy msgid "mailing list." msgstr "Mailing liste service" #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 #, fuzzy msgid "Back..." msgstr "Tilbage..." #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 #, fuzzy msgid "Confirmation successful!" msgstr "Godkendelsesforespørgsel sendt" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 #, fuzzy msgid "Confirmation failed." msgstr "Konfiguration" #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "" #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 #, fuzzy msgid "Name of list:" msgstr "Navn på opgave" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 #, fuzzy msgid "Your e-mail address:" msgstr "Din personlige adressebog" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "" #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 #, fuzzy msgid "One message at a time" msgstr "Skriv meddelelsestekst:" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 #, fuzzy msgid "Digest format" msgstr "Time format" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 #, fuzzy msgid "name of room: " msgstr "Navn på rum" #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "Hvis privat, tving aktuelle brugere til at glemme rummet" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "Kun foretrukne brugere" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "Kun-læs rum" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "Alle brugere der kan skrive må også slette meddelser" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "Fil bibliotek rum" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "Biblioteksnavn: " #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "uploading tilladt" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "Downloading tilladt" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "Synligt bibliotek" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 msgid "Network shared room" msgstr "Netværksdelt rum" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "Permanent (bliver ikke autoslettet)" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "Emne er krævet (Tving brugere til at skrive et emne)" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "Anonyme meddelelser" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "Ingen anonyme meddelser" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "Alle meddelelser er anonyme" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "spørg bruger som skriver meddelelser" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 msgid "Room aide: " msgstr "Rum Systemansvarlig" #: ../../i18n_templatelist.c:611 #, fuzzy msgid "Delete this entry?" msgstr "Slet denne note?" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "Ikke delt med" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "Delt med" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 msgid "Remote node name" msgstr "Fjernnode navn" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 msgid "Remote room name" msgstr "Fjernrum navn" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "Aktioner" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 #, fuzzy msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" "Når et rum blever delt, skal det deles fra begge ender. Tilføj en node til " "'delt' liste sender meddelelser ud, men for at modtage meddelelser, må de " "andre noder være konfigureret til at sende meddelelser ud til dit system " "også.
  • Hvis fjernrum navn er blank, er det underforstÃ¥et at rum navnet er " "identisk pÃ¥ fjern noden.
  • Hvis fjern rum navnet er forskellig, mÃ¥ fjern " "noden ogsÃ¥ konfigurere navnet pÃ¥ rummet her.
    \n" #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 #, fuzzy msgid "resend messages to this node" msgstr "Gem meddelelser på server?" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "Tilføj/ændre/slette etager" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "Etage nummer" #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "Etage navn" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "Antal rum" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "Etage CSS" #: ../../i18n_templatelist.c:633 msgid "Create new floor" msgstr "Opret ny etage" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "Flyt regel op" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "Flyt regel ned" #: ../../i18n_templatelist.c:636 #, fuzzy msgid "Delete rule" msgstr "Slet bruger" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "Hvis" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "Til eller Cc" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "Konvolut Fra" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "Konvolut Til" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "X-Spam-Flag" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "X-Spam-Status" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "Alle" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "indeholder ikke" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "er" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "matcher ikke" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "er større end" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "er mindre end" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 #, fuzzy msgid "bytes" msgstr "Noter" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "Behold" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "Fjern" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "og" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "stop" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "(domæner som denne vært modtager post for)" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "Netværk konfiguration" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "Konfigurede noder" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "(slet etage)" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "(editér grafik)" #: ../../i18n_templatelist.c:679 msgid "Change name" msgstr "Skift navn" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "Skift CSS" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 msgid "Configure automatic expiry of old messages" msgstr "Konfigurér automatisk udløb af meddelser" #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "Disse indstillinger kan blive overskrevet på etage eller rum niveau." #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "Tid for at køre database auto-tøm" #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 msgid "Default message expire policy for public rooms" msgstr "Standard meddelelse udløb for offentlige rum" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 msgid "Default message expire policy for private mailboxes" msgstr "Standard meddelelse udløb for private postkasser" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 msgid "Same policy as public rooms" msgstr "Samme politik som for offentlige rum" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "Standard bruger tøm tid (dage)" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "Standard rum tøm tid (dage)" #: ../../i18n_templatelist.c:700 msgid "Are you sure you want to delete this room?" msgstr "Er du sikker på du vil slette dette rum?" #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "Slet dette rum" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 #, fuzzy msgid "Set or change the icon for this rooms banner" msgstr "Sæt eller skift ikonet for dette rums banner" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 #, fuzzy msgid "Edit this rooms Info file" msgstr "Editér dette rums Info fil" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "Skriv en server kommando" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" "Denne skærm tillader dig at skrive Citadel server kommandoer som ikke er " "muligt med WebCit. Hvis du ikke ved hvad det betyder, så er dette ikke " "stedt for dig." #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "Skriv kommando:" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "Kommando input (if requesting SEND_LISTING transfer mode):" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 #, fuzzy msgid "Detected host header is " msgstr "Detekteret vært header er %s://%s" #: ../../i18n_templatelist.c:709 #, fuzzy msgid "Send command" msgstr "Skriv kommando:" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "Fjern deling" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "(værter som har en Realtime Blackhole List" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "Adgangskontrol og site politik indstillinger" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "Tillad ansvarlige at zappe (glemme) rum" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "Sæt meddelelser fra problem brugere i karantæne" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "Navn på karantæne rum" #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 msgid "Name of room to log pages" msgstr "Navn på rum for log sider" #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 msgid "Authentication mode" msgstr "Autosisations måde" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 msgid "Self contained" msgstr "Indeholder" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 msgid "Host based" msgstr "Host navn" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 #, fuzzy msgid "Allow anonymous guest access" msgstr "Ingen anonyme meddelser" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 #, fuzzy msgid "Master user name (blank to disable)" msgstr "Master brugernavn (blank for at slå fra)" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 #, fuzzy msgid "Master user password" msgstr "Master bruger adgangskode:" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 msgid "Initial access level for new users" msgstr "Adgangsrettighed for nye brugere" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "Adgangsrettighed krævet for at oprette rum" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "" "Giv automatisk rum-ansvarlig status til den bruger der opretter private rum" #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 #, fuzzy msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "" "Giv automatisk rum-ansvarlig status til den bruger der opretter BLOG rum" #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "Blokér adgang til Internet Email" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "Slå selvservice brugeroprettelse fra" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "Kræv registrering af nye brugere" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 msgid "Add, change, or delete floors" msgstr "Tilføj, ret, slet etager" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "Vis som:" #: ../../i18n_templatelist.c:753 #, fuzzy msgid "Delete this note?" msgstr "Slet denne note?" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 #, fuzzy msgid "Logged in as" msgstr "Sidste login" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 #, fuzzy msgid "Not logged in." msgstr "Ikke logget ind" #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "Du skal være logget ind for at se denne side." #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "Adgangskode" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "Ny bruger? Tilmeld dig nu" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "" "indtast det navn og adgangskode du vil benytte. og klik "Ny Bruger." "" " #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "Log ind med OpenID" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 #, fuzzy msgid "Log in using Google" msgstr "Log ind med OpenID" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 #, fuzzy msgid "Log in using Yahoo" msgstr "Log ind med OpenID" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 #, fuzzy msgid "Log in using AOL or AIM" msgstr "Log ind med OpenID" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "Vent" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "" #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "Retunér til script editéring" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "" #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 msgid "Restart Now" msgstr "Genstart Nu" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "Genstart efter brugere har fået besked" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "Genstart når alle brugere er inaktive" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 #, fuzzy msgid "Configure Push Email" msgstr "Skub Email" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "Skub email og SMS indstillinger" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 #, fuzzy msgid "Notify Funambol server" msgstr "Funambol server port" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 #, fuzzy msgid "Send a text message to..." msgstr "Sedn popup meddelelse til:" #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "" #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "" #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "powered by" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "SMTP MTA port (-1 = afbrudt)" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "SMTP MSA port (-1 = afbrudt)" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "SMTP over SSL port (-1 = afbrudt)" #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "Udfør RBL check ved forbindelse i stedet for efter RCPT" #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "Markér meddelse som spam, istedet for at afvise den" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 #, fuzzy msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "Tillad uautoriserede SMTP klienter at benytte denne site's domæne" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "Ret falske Fra: linier under autentification SMTP" #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "Postfix TCP Dictionary Port" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 #, fuzzy msgid "-1 to disable" msgstr "-1 for at deaktivere." #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 #, fuzzy msgid "ManageSieve Port (-1 to disable)" msgstr "ManageSieve port (-1 = afbrudt)" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "Site konfiguration" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 msgid "General" msgstr "Generelt" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 msgid "Settings" msgstr "" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "Pop3" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "Index/Journal" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 msgid "Access" msgstr "Adgang" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 #, fuzzy msgid "Directory" msgstr "katalog" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "Auto-tømmer" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 #, fuzzy msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" "Indholdet af dette rum bliver sendt som individuelle meddelelser " "til denne liste af modtagere:

    \n" #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 #, fuzzy msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" "Indholdet af dette rum bliver sendt i oversigtsform til den " "følgende liste af modtagere:

    \n" #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 #, fuzzy msgid "List" msgstr "Liste" #: ../../i18n_templatelist.c:847 msgid "Digest" msgstr "Oversigt" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "Tilføj modtagere fra Kontakter eller andre adressebøger" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "Tillad ikkeabonenter at skrive til dette rum." #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "Rum opslag publificering kræver tilladelse fra Systemansvarlig." #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 #, fuzzy msgid "Allow self-service subscribe/unsubscribe requests." msgstr "" "Dette rum er konfigureret til at tillade selvbetjent abonement/slet " "abonement forspørgsler." #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "URL'en for abonement/slet abonement er:" #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 #, fuzzy msgid "Set" msgstr "Emne" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 #, fuzzy msgid "Summary page for " msgstr "Summeringsside for %s" #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "Meddelelser" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "Idag i din kalender" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 #, fuzzy msgid "Who‘s online now" msgstr "Hvem er online nu" #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "Om denne server" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 #, fuzzy msgid "running" msgstr "Tuning" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 #, fuzzy msgid "with" msgstr "femte" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 #, fuzzy msgid "and located in" msgstr "og" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 #, fuzzy msgid "Your system administrator is" msgstr "Navn pÃ¥ Systemadministror" #: ../../i18n_templatelist.c:874 #, fuzzy msgid "Do you really want to kill this session?" msgstr "Vil du virkelig dræbe denne session?" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "" #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 #, fuzzy msgid "Click on a name to read user info. Click on" msgstr "Klik pÃ¥ et navn for at læse bruger info. Klik pÃ¥ " #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 #, fuzzy msgid "to send an instant message to that user." msgstr "for at sende popup meddelelse til den bruger" #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "" #: ../../i18n_templatelist.c:880 msgid "Share" msgstr "Deling" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "(Domæner som brugere mÃ¥ benytte som maskerade)" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "Skriv ny adgangskode:" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "Skriv adgangskode igen:" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "Skift adgangskode" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "Editér din session visning" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" "Her kan do bestemme hvordan din session bliver vist i 'Hvem er online' " "listen. For at fjerne et 'falsk' navn du tidligere har sat, bare klik den " "tilhørende 'skift' knap uden at skrive noget i boksen. " #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "Rum navn:" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "Skift rum navn" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "Host navn:" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "Skift host navn" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "Skift brugernavn" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "Godkend flytning af meddelelse" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "Flyt denne meddelelse til:" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "" #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "Vist kendte rum" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "Hvor kan jeg komme hen?" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "GÃ¥ til næste rum" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 #, fuzzy msgid "...with unread messages" msgstr "...med ikke læste meddelelser" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "Fortsæt til næste rum" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "(kom tilbage hertil senere)" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "GÃ¥ tilbage" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 #, fuzzy msgid "oops! Back to " msgstr "(Hovsa! Tilbage til )" #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "Læs nye meddelelser" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "...i dette rum" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "Læs alle meddelelser" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "...gamle og nye" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "Skriv en meddelelse" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "(opret i dette rum)" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "Fil bibliotek" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "(Vis filer som du kan downloade)" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 msgid "Summary page" msgstr "Summerings side" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "Summering af min konto" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "Bruger liste" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 msgid "(all registered users)" msgstr "(alle registrerede brugere)" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "Farvel!" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "(hvis tilgænglig, videresend alt udgÃ¥ende post til en af disse værter)" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "Vis Kontaktpersoner" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "Tilføj ny kontaktperson" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "Dag visning" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "MÃ¥ned visning" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "Tilføj ny aftale" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "Kalender liste" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "Vis opgaver" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "Tilføj ny opgave" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "Vis noter" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "Tilføj ny note" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "Opret en meddelelse" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "Wiki hjem" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "Editér denne side" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 #, fuzzy msgid "New blog post" msgstr "nyere stillinger" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" "Efterlad alle meddelelser som ulæste, gÃ¥ til næste rum med ulæste meddelelser" #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "Skip dette rum" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" "Markér alle meddelelser som læst, gÃ¥ til næste rum med ulæste meddelelser" #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 #, fuzzy msgid "Save changes?" msgstr "Gem ændringer" #~ msgid "" #~ "You are subscribing %s to the %s mailing list. The " #~ "listserver has sent you an e-mail with one additional Web link for you to " #~ "click on to confirm your subscription. This extra step is for your " #~ "protection, as it prevents others from being able to subscribe you to " #~ "lists without your consent.

    Please click on the link which is " #~ "being e-mailed to you and your subscription will be confirmed.
    \n" #~ msgstr "" #~ "Du abonnérer %s på %s post listen. Listeserveren har " #~ "sendt dig en e-mail med et link som du skal klikke på for at godkende dit " #~ "abonnement. Denne ekstra foranstaltning er din beskyttelse, da det " #~ "forhindrer andre i at abonnere på en liste i dit navn uden din billigelse." #~ "

    Klik på linketsom er blevet sendt til dig for at acceptere dit " #~ "abonnement.
    \n" #~ msgid "There is no room called '%s'." #~ msgstr "Der er ikke noget rum der hedder '%s'." #~ msgid "Network" #~ msgstr "Netværk" #~ msgid "Tuning" #~ msgstr "Tuning" #~ msgid "Instantly expunge deleted messages in IMAP" #~ msgstr "Fjern slettede meddelelser med det samme i IMAP" #~ msgid "A script by that name already exists." #~ msgstr "Et script med dette navn eksisterer allerede." #~ msgid "" #~ "A new script has been created. Return to the script editing screen to " #~ "edit and activate it." #~ msgstr "" #~ "Et nyt script er blevet oprettet. Returnér til script editéring for at " #~ "rette og aktivere det." #~ msgid "" #~ "You are connected to %s, running %s with %s, server build %s and located " #~ "in %s. Your system administrator is %s." #~ msgstr "" #~ "Du er forbundet til %s, bruger %s med %s, server version %s og " #~ "lokaliseret i %s. Din systemadministrator er %s." #, fuzzy #~ msgid "Yes with users list" #~ msgstr "Ja med brugerlisten" #~ msgid "Room list" #~ msgstr "Rum liste" #, fuzzy #~ msgid "text" #~ msgstr "kun tekst" #, fuzzy #~ msgid "name" #~ msgstr "(intet navn)" #, fuzzy #~ msgid "password" #~ msgstr "Adgangskode" #, fuzzy #~ msgid "pass" #~ msgstr "Opgaver" #, fuzzy #~ msgid "display: none" #~ msgstr "Vist navn:" #~ msgid "Your password was not accepted." #~ msgstr "Din adgangskode blev ikke accepteret." #~ msgid "If you already have an account on" #~ msgstr "Hvis du allerede har en konto på" #~ msgid "enter your user name and password and click "Log in."" #~ msgstr "indtast dit brugernavn og klik "Log in."" #~ msgid "Please log off properly when finished. " #~ msgstr "Log af ordentligt når du er færdig. " #~ msgid "recommended browser list" #~ msgstr "anbefalet browser liste" #~ msgid "" #~ "if you have trouble using Webcit.
  • You must have cookies " #~ "turned on. " #~ msgstr "" #~ "hvis du har problemer med Webcit.
  • Du skal have cookies " #~ "slÃ¥et til. " #~ msgid "" #~ "Also keep in mind that if your browser is configured to block pop-up " #~ "windows, you will not be able to receive any instant messages." #~ msgstr "" #~ "Husk ogsÃ¥ at hvis din browser er sat til at blokere pop-ups, vil du ikke " #~ "være i stand til at modtage popup medelelser." #~ msgid "Log off now?" #~ msgstr "Log af nu?" #, fuzzy #~ msgid "%d new of %d messages%s" #~ msgstr "%d nye af %d meddelser%s" #~ msgid "(nothing)" #~ msgstr "(ingenting)" #~ msgid "unexpected end of message" #~ msgstr "uventet slut pÃ¥ meddelelse" #~ msgid "An error occurred while setting up the chat socket." #~ msgstr "En fejl opstod mens chat forbindelse blev opsat." #~ msgid "Now exiting chat mode." #~ msgstr "Afslutter nu Chat." #~ msgid "Help" #~ msgstr "Hjælp" #~ msgid "List users" #~ msgstr "Vis brugere" #~ msgid "No messages here." #~ msgstr "Ingen meddelelser her." #, fuzzy #~ msgid "no more messages" #~ msgstr "Anonyme meddelelser" #~ msgid "" #~ "Your icon bar has been updated. Please select any of its choices to " #~ "continue.
    You may need to force " #~ "refresh (SHIFT-F5) in order for changes to take effect" #~ msgstr "" #~ "Din ikonbjælke er blevet opdateret. Vælg en af mulighederne for at " #~ "fortsætte.
    Du skal måske bruge " #~ "opdatér (SHIFT-F5) for at ændringerne træder i kraft" #~ msgid "Email" #~ msgstr "Email" #~ msgid "Error retrieving RSS feed: couldn't find messages\n" #~ msgstr "Fejl ved hentning af RSS feed: kunne ikke finde meddelelser\n" #, fuzzy #~ msgid "%s from" #~ msgstr "%s fra" #, fuzzy #~ msgid "%s in %s" #~ msgstr "%s i %s" #~ msgid " on %s" #~ msgstr " på %s" #~ msgid "%s" #~ msgstr "%s" #, fuzzy #~ msgid "" #~ "
    • Enter your OpenID URL and click "Log in".
    • Click here to " #~ "learn what OpenID is and how Citadel is using it.
    • Please log off " #~ "properly when finished.
    • You must use a browser that supports " #~ "frames and cookies.
    • Also keep in mind that if your " #~ "browser is configured to block pop-up windows, you will not be able to " #~ "receive any instant messages.
    " #~ msgstr "" #~ "
    • Hvis du allerede har en konto pÃ¥ %s, skriv dit brugernavn " #~ "og adgangskode og klik "Log pÃ¥."
    • Hvis du er ny bruger, skriv det brugernavn og adgangskode du ønsker at bruge, og klik "" #~ "Ny Bruger."
    • Log venligst af, nÃ¥r du er færdig.
    • Du skal bruge " #~ "en browser der supporterer frames og cookies.
    • Hvis din " #~ "browser er konfigureret til at blokere pop-up vinduer, vil du ikke være i " #~ "stand til at modtage online meddelelser.
    " #, fuzzy #~ msgid "" #~ "enter your user name and password and click "Log in."
  • If " #~ "you are a new user, enter the name and password you wish to use, and " #~ "click "New User."
  • Please log off properly when finished. " #~ "
  • You must use a browser that supports frames and cookies.
  • Also keep in mind that if your browser is configured to block pop-" #~ "up windows, you will not be able to receive any instant messages." #~ msgstr "" #~ "
    • Hvis du allerede har en konto pÃ¥ %s, skriv dit brugernavn " #~ "og adgangskode og klik "Log pÃ¥."
    • Hvis du er ny bruger, skriv det brugernavn og adgangskode du ønsker at bruge, og klik "" #~ "Ny Bruger."
    • Log venligst af, nÃ¥r du er færdig.
    • Du skal bruge " #~ "en browser der supporterer frames og cookies.
    • Hvis din " #~ "browser er konfigureret til at blokere pop-up vinduer, vil du ikke være i " #~ "stand til at modtage online meddelelser.
    " #~ msgid "Find out more about Citadel" #~ msgstr "Lær mere om Citadel" #~ msgid "CITADEL" #~ msgstr "CITADEL" #~ msgid "Customize this menu" #~ msgstr "Personliggør denne menu" #~ msgid "Internet configuration" #~ msgstr "Internet konfiguration" #~ msgid "of %d messages." #~ msgstr "af %d meddelelser." #~ msgid " from " #~ msgstr " fra " #~ msgid " in " #~ msgstr " i " #~ msgid "Edit node configuration for " #~ msgstr "Editér node konfiguration for " #~ msgid "ERROR: could not open template " #~ msgstr "FEJL: kunne ikke åbne skabelon" #~ msgid "" #~ "This message contains calendaring/scheduling information, but support " #~ "for calendars is not available on this particular system. Please ask " #~ "your system administrator to install a new version of the Citadel web " #~ "service with calendaring enabled.
    \n" #~ msgstr "" #~ "Denne meddelse indeholder kalender/skedulerings information, men " #~ "support for kalendere er ikke muligt på dette system. Få din " #~ "systemadministrator til at installere en ny version af Citadel web " #~ "service med kalenderfunktion aktiveret.
    \n" #~ msgid "" #~ "Cannot display calendar item. You are seeing this error because your " #~ "WebCit service has not been installed with calendar support. Please " #~ "contact your system administrator.
    \n" #~ msgstr "" #~ "Kan ikke vise kalender emne. Du ser denne fejl fordi WebCit service " #~ "er ikke installeret med kalenderfunktion. Kontakt din " #~ "systemadministrator.
    \n" #~ msgid "" #~ "Cannot display to-do item. You are seeing this error because your " #~ "WebCit service has not been installed with calendar support. Please " #~ "contact your system administrator.
    \n" #~ msgstr "" #~ "Kan ikke vise opgave emne. Du ser denne fejl fordi WebCit service er " #~ "ikke installeret med kalenderfunktion. Kontakt din systemadministrator.
    \n" #~ msgid "Day: " #~ msgstr "Dag:" #~ msgid "Year: " #~ msgstr "År:" #~ msgid "The calendar view is not available." #~ msgstr "Kalender visning er ikke tilgængelig." #~ msgid "The tasks view is not available." #~ msgstr "Opgave visning er ikke tilgængelig." #~ msgid "Gateway domains" #~ msgstr "Gateway domæner" #~ msgid "(domains whose subdomains match Citadel hosts)" #~ msgstr "(domæner hvis underdomæner matcher Citadel værter" #~ msgid "(This server does not support task lists)" #~ msgstr "(Denne server supporterer ikke opgave lister)" #~ msgid "(This server does not support calendars)" #~ msgstr "(Denne server supporterer ikke kalendre)" #~ msgid "" #~ "This room is not configured to allow self-service subscribe/" #~ "unsubscribe requests." #~ msgstr "" #~ "Dette rum er ikke konfigureret til at tillade selvbetjent " #~ "abonement/sletabonemnet forspørgsler." #~ msgid "Click to enable." #~ msgstr "Klik for at aktivere." #~ msgid "Back to menu" #~ msgstr "Tilbage til menu" #~ msgid "Respond to meeting request" #~ msgstr "Svar på møde forspørgsel" #~ msgid "Update your calendar with this RSVP" #~ msgstr "Opdatér din kalender med denne S.U." #~ msgid "Public room" #~ msgstr "Offentlig rum" #~ msgid "Private - guess name" #~ msgstr "Privat - gæt navn" #~ msgid "Private - require password:" #~ msgstr "Privat - med adgangskode" #~ msgid "localhost" #~ msgstr "lokalvært" #~ msgid "gatewaydomain" #~ msgstr "gatewaydomæne" #~ msgid "rbl" #~ msgstr "rbl" #~ msgid "spamassassin" #~ msgstr "spamassassin" #~ msgid "[ close window ]" #~ msgstr "[ luk vindue ]" webcit-9.01-dfsg/po/webcit/de.po000066400000000000000000005024501254743150300164760ustar00rootroot00000000000000# translation of de.po to # Copyright (C) 2008 - 2009 The Citadel Project - http://www.citadel.org # Wilfried Gösgens , 2005 - 2009. # Stefan Kleinschmidt # Heiner Wohner # German localization # Copyright (C) 2005 - 2009 By Wilfried Gösgens # This file is distributed under the revised BSD license # "ä ö ü msgid "" msgstr "" "Project-Id-Version: WebCit\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2013-08-08 13:16+0000\n" "Last-Translator: Heiner Wohner \n" "Language-Team: \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2013-08-09 04:34+0000\n" "X-Generator: Launchpad (build 16723)\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "Verfügbarkeit unbekannt" #: ../../availability.c:169 msgid "free" msgstr "frei" #: ../../availability.c:179 msgid "BUSY" msgstr "BESCHÄFTIGT" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "Hochladen des Bilds abgebrochen." #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "Sie haben keine Datei hochgeladen." #: ../../graphics.c:106 msgid "your photo" msgstr "Ihr Photo" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "Das Symbol für diesen Raum" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "Das Begrüssungsfoto auf der Anmeldeseite" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "das Abmeldeseiten Foto" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "Das Symbol für diese Etage" #: ../../tasks.c:93 msgid "Completed?" msgstr "Vollständig?" #: ../../tasks.c:95 msgid "Name of task" msgstr "Name der Aufgaben" #: ../../tasks.c:97 msgid "Date due" msgstr "Fälligkeitsdatum" #: ../../tasks.c:99 msgid "Category" msgstr "Kategorie" #: ../../tasks.c:101 msgid "Show All" msgstr "Alle anzeigen" #: ../../tasks.c:224 msgid "Edit task" msgstr "Aufgabe bearbeiten" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "Übersicht:" #: ../../tasks.c:259 msgid "Start date:" msgstr "Anfangsdatum:" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "Kein Datum" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "oder" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "assoziierte Uhrzeit" #: ../../tasks.c:289 msgid "Due date:" msgstr "Fälligkeitsdatum:" #: ../../tasks.c:318 msgid "Completed:" msgstr "Vollständig:" #: ../../tasks.c:329 msgid "Category:" msgstr "Kategorie:" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "Beschreibung:" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "Speichern" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "Löschen" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "Abbruch" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "Unbenannte Aufgabe" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, c-format msgid "%d comments" msgstr "%d Kommentare" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "permalink" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "neuere Beiträge" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "ältere Beiträge" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "%s bearbeiten" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" "Geben sie hier %s ein. Der Text wird auf dem Browser des Lesers formatiert." "Eine neue Zeile erzwingt man, indem man die nächste Zeile mit einem " "Leerschritt beginnt." #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "Änderungen übernehmen" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "Abgebrochen. %s wurde nicht gespeichert." #: ../../sysmsgs.c:103 msgid " has been saved." msgstr " wurde gespeichert." #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "Rauminfo" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "Ihre Biographie" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "Stunde: " #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "Minute: " #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "(Zustand unbekannt)" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "(zu bearbeiten)" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "(Angenommen)" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "(Abgelehnt)" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "(Vorläufig)" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "(delegiert)" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "(abgeschlossen)" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "(in Bearbeitung)" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "(keine)" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "Konten/OpenID Assoziierungen verwalten" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "Wollen Sie diese OpenID wirklich löschen?" #: ../../openid.c:47 msgid "(delete)" msgstr "(Löschen)" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "Eine OpenID hinzufügen: " #: ../../openid.c:58 msgid "Attach" msgstr "Verbinden" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "%s erlaubt kein Anmelden per OpenID" #: ../../summary.c:128 msgid "(None)" msgstr "(Keine)" #: ../../summary.c:184 msgid "(Nothing)" msgstr "(Nichts)" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "Zur Seite gehen: " #: ../../bbsview_renderer.c:354 msgid "First" msgstr "Anfang" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "Ende" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "realloc() Fehler! Konnte %d Bytes nicht allozieren: %s" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "Gelöscht" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "Neuer Benutzer" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "Problematischer Benutzer" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "Lokaler Benutzer" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "Netzwerk Benutzer" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "nur Privilegierte Benutzer" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "Verantwortlicher" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "Ein Fehler ist aufgetreten." #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "Neue Benutzer überprüfen" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "Zur Zeit müssen keine Benutzer validiert werden." #: ../../auth.c:617 msgid "very weak" msgstr "sehr schwach" #: ../../auth.c:620 msgid "weak" msgstr "schwach" #: ../../auth.c:623 msgid "ok" msgstr "in Ordnung" #: ../../auth.c:627 msgid "strong" msgstr "stark" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "Aktuelle Berechtigungen: %d (%s)\n" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "Berechtigungen dieses Benutzers" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "Abgebrochen. Passwort wurde nicht geändert." #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "Die Passwörter stimmen nicht überein. Passwort nicht geändert." #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "Leere Passwörter sind nicht zulässig." #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "Terminvorschlag" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "Antwort eines Teilnehmers auf Ihre Einladung" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "Veröffentlichtes Ereignis" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "Dies ist ein unbekanntes Kalender-Datum" #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "Ort:" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "Datum:" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "Startzeit/-Datum:" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "Endzeit/-Datum:" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "Wiederholung" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "Terminserie hinzufügen" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "Teilnehmer:" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "Die Änderung '%s', existiert bereits Ihrem Kalender ist." #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "" "Dieser Termin würde mit '%s' kollidieren, der bereits in Ihrem Kalender " "vorgemerkt ist." #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "Update:" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "KONFLIKT:" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "Wie möchten Sie auf die Einladung reagieren?" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "Annehmen" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "Vorläufig" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "Ablehnen" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "" "Klicken Sie Aktualisieren um diese Änderung in ihren Kalender zu " "übernehmen." #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "Aktualisieren" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "Ignorieren" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "Ein Kalenderdatum konnte nicht verarbeitet werden." #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "" "Sie haben die Einladung angenommen. Sie wurde in Ihren Kalender übernommen." #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "" "Sie haben diese Einladung vorläufig angenommen. Sie wurde in Ihrem Kalender " "vorgemerkt." #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "" "Sie haben diese Einladung abgelehnt. Sie wurde nicht in Ihren " "Kalender übernommen." #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "Eine Antwort wurde an den Organisator versendet." #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "u.A.w.g. wurde eingetragen." #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "u.A.w.g. abgelehnt. Sie wurde nicht übernommen." #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "Kalender-Tagesübersicht beginnt um:" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "Kalender-Tagesübersicht endet um:" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "Wochen starten am:" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "Ein Fehler trat beim herunterladen dieser Datei auf: %s\n" #: ../../event.c:71 msgid "seconds" msgstr "Sekunden" #: ../../event.c:72 msgid "minutes" msgstr "Minuten" #: ../../event.c:73 msgid "hours" msgstr "Stunden" #: ../../event.c:74 msgid "days" msgstr "Tage" #: ../../event.c:75 msgid "weeks" msgstr "Wochen" #: ../../event.c:76 msgid "months" msgstr "Monate" #: ../../event.c:77 msgid "years" msgstr "Jahre" #: ../../event.c:78 msgid "never" msgstr "nie" #: ../../event.c:82 msgid "first" msgstr "erster" #: ../../event.c:83 msgid "second" msgstr "zweiter" #: ../../event.c:84 msgid "third" msgstr "dritter" #: ../../event.c:85 msgid "fourth" msgstr "vierter" #: ../../event.c:86 msgid "fifth" msgstr "fünfter" #: ../../event.c:89 msgid "Event" msgstr "Ereignis" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "Teilnehmer" #: ../../event.c:168 msgid "Add or edit an event" msgstr "Ereignis hinzufügen oder ändern" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "Zusammenfassung" #: ../../event.c:222 msgid "Location" msgstr "Ort" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "Anfang" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "Ganztägiger Termin" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "Ende" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "Notiz" #: ../../event.c:374 msgid "Organizer" msgstr "Organisator" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "(Sie sind der Organisator)" #: ../../event.c:397 msgid "Show time as:" msgstr "Zeit anzeigen als:" #: ../../event.c:420 msgid "Free" msgstr "Frei" #: ../../event.c:428 msgid "Busy" msgstr "Belegt" #: ../../event.c:445 msgid "(One per line)" msgstr "(einen pro Zeile)" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "Adressen" #: ../../event.c:518 msgid "Recurrence rule" msgstr "Serientermin" #: ../../event.c:522 msgid "Repeats every" msgstr "Wiederholt sich alle" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "an diesem Werktag:" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "am Tag %s%d%s des Monats" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "an dem " #: ../../event.c:631 msgid "of the month" msgstr "des Monats" #: ../../event.c:660 msgid "every " msgstr "jedes " #: ../../event.c:661 msgid "year on this date" msgstr "Jahr an diesem Tag" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "im" #: ../../event.c:717 msgid "Recurrence range" msgstr "Serie endet..." #: ../../event.c:725 msgid "No ending date" msgstr "Kein Enddatum" #: ../../event.c:732 msgid "Repeat this event" msgstr "Dieser Termin wiederholt sich" #: ../../event.c:735 msgid "times" msgstr "mal" #: ../../event.c:743 msgid "Repeat this event until " msgstr "Diese Serie geht bis " #: ../../event.c:771 msgid "Check attendee availability" msgstr "Verfügbarkeit der Teilnehmer überprüfen" #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "Unbenanntes Ereignis" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "Iconbar einstellungen" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "Icon Stiel" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "Ungültiger Parameter" #: ../../inetconf.c:126 msgid " has been deleted." msgstr " wurde gelöscht." #. added status message #: ../../inetconf.c:144 msgid " added." msgstr " aufgenommen." #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "Diese Funktion benötigt höhere Zugriffsechte" #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "Sie müssen die Mailing-Liste angeben, die Sie abonnieren möchten." #: ../../listsub.c:38 ../../listsub.c:76 msgid "You need to specify the email address you'd like to subscribe with." msgstr "" "Sie müssen Ihre E-Mail-Adresse angeben, mit der Sie das Abonnement empfangen " "möchten." #: ../../messages.c:73 msgid "ERROR:" msgstr "FEHLER:" #: ../../messages.c:91 msgid "Empty message" msgstr "Leere Nachricht" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "Abgebrochen. Beitrag wurde nicht gesendet." #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "" "Automatisch abgebrochen, weil Sie diesen Beitrag schon gespeichert haben." #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "In den Entwurfsordner gespeichert " #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "Werde keine leere Nachricht senden.\n" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "Nachricht in Entwürfen gespeichert.\n" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "Nachricht wurde gesendet.\n" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "Beitrag wurde gesendet.\n" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "Die Meldung wurde nicht verschoben." #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "Ein Fehler trat beim laden dieses Anhangs auf: %s/%s\n" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "Ein Fehler trat beim laden dieses Anhangs auf: %s\n" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "EMail-Signatur anhängen?" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "Diese Signatur benutzen:" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "Vorgabezeichensatz für EMail Kopfzeilen:" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "Bevorzugte EMailadresse" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "Bevorzugter Name als Email-Absender" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "Bevorzugter Name in Diskussionsforen" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "Anzeigen als Postfach" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "Auf eine Notiz klicken zum bearbeiten" #: ../../paging.c:29 msgid "Send instant message" msgstr "Kurznachricht senden" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "Kurznachricht senden an: " #: ../../paging.c:51 msgid "Enter message text:" msgstr "Nachrichtentext eingeben:" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "Meldung senden" #: ../../paging.c:78 msgid "Message was not sent." msgstr "Kurznachricht nicht gesendet." #: ../../paging.c:89 msgid "Message has been sent to " msgstr "Kurznachricht gesendet an " #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "Abgebrochen. Änderungen wurden nicht gespeichert." #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "Als Startseite setzen" #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "Dies kann nicht ihre Startseite werden!" #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "Startseite gelöscht" #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "Bevorzugte Startseite" #: ../../roomlist.c:105 msgid "My Folders" msgstr "Meine Ordner" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "Abgebrochen. Änderungen wurden nicht übernommen." #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "Ihre Änderungen wurden gespeichert." #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "Benutzer '%s' des Raumes '%s' verwiesen." #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "Benutzer '%s' in den Raum '%s' eingeladen." #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "Abgebrochen. Keinen neuen Raum erzeugt." #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "Etage gelöscht." #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "Eine neue Etage wurde erstellt." #: ../../roomops.c:1363 msgid "Room list view" msgstr "Raumlisten Anzeige" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "Leere Etagen anzeigen" #: ../../roomtokens.c:570 msgid "file" msgstr "Datei" #: ../../roomtokens.c:572 msgid "files" msgstr "Dateien" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "Forum" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "Mailordner" #: ../../roomviews.c:55 msgid "Address Book" msgstr "Adressbuch" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "Kalender" #: ../../roomviews.c:57 msgid "Task List" msgstr "Aufgabenliste" #: ../../roomviews.c:58 msgid "Notes List" msgstr "Notizliste" #: ../../roomviews.c:59 msgid "Wiki" msgstr "Wiki" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "Kalenderliste" #: ../../roomviews.c:61 msgid "Journal" msgstr "Journal" #: ../../roomviews.c:62 msgid "Drafts" msgstr "Entwürfe" #: ../../roomviews.c:63 msgid "Blog" msgstr "Blog" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "Markdown Wiki" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" "Dieser Server bedient bereits die maximale Anzahl von Benutzern. Neue " "Anmeldungen können daher nicht akzeptiert werden. Bitte versuchen Sie es " "später noch einmal oder kontaktieren Sie ihren Systemverwalter." #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "Unerwartete Meldung vom Citadel Server erhalten: Exit." #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" "Sie sind mit einem Citadel-Server der Version %d.%02d verbunden. \n" "Webcit benötigt mindestens Version %d.%02d.\n" "\n" "\n" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "Ihre Systemkonfiguration wurde übernommen" #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "Erster Versuch steht aus" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "Fehler beim Erzeugen / Bearbeiten dieses Adressbuch-Eintrags." #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "Änderungen verworfen." #: ../../useredit.c:778 msgid "A new user has been created." msgstr "Ein neuer Benutzer wurde angelegt." #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" "Sie versuchen einen Benutzer anzulegen. Dieses System verwendet jedoch die " "Konten des Host-Systems, deshalb müssen dort neue Benutzer angelegt werden." #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "(kein Name)" #: ../../vcard_edit.c:438 msgid " (work)" msgstr " (Firma)" #: ../../vcard_edit.c:440 msgid " (home)" msgstr " (Privat)" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr " (Handy)" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "Adresse:" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "Telefon" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "E-Mail:" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "Dieses Adressbuch ist leer." #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "Ein interner Fehler ist aufgetreten." #: ../../vcard_edit.c:940 msgid "Error" msgstr "Fehler" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "Kontaktdaten bearbeiten" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "Anrede" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "Vorname" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "Mittelinitial" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "Nachname" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "Zähler" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "Namen anzeigen:" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "Titel:" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "Organisation:" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "Postfach:" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "Stadt:" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "Bundesland:" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "Postleitzahl:" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "Land:" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "Telefon:" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "Telefon/Büro:" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "Mobiltelefon:" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "Faxnummer." #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "Haupt-EMailadresse" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "Internet EMail-Aliase" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "Kann nicht in den Raum wechseln um die Nachricht zu speichern" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "Abgebrochen." #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "Konnte VCard-Foto nicht dekodieren\n" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "Authentifizierung benötigt" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" "Die angeforderte Sektion benötigt einen gültigen Benutzernamen und Passwort." "Sie konnten nicht Angemeldet werden: %s\n" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" "Dieses Programm konnte keine Verbindung zum Citadel-Server herstellen oder " "aufrechterhalten. Bitte wenden Sie sich an Ihren Administrator." #: ../../webcit.c:688 msgid "Read More..." msgstr "Weiter lesen..." #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "'%s' ist kein Wiki-Raum." #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "Es gibt hier keine Seite mit Namen '%s'." #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "" "Klicken Sie auf 'Diese Seite bearbeiten' im Raum-Banner, wenn Sie diesen " "Raum erzeugen möchten." #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "Datum" #: ../../wiki.c:143 msgid "Author" msgstr "Autor" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "(anzeigen)" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "Aktuelle Version" #: ../../wiki.c:184 msgid "(revert)" msgstr "(zurücknehmen)" #: ../../wiki.c:246 msgid "Page title" msgstr "Seitentitel" #: ../../fmt_date.c:306 msgid "Time format" msgstr "Uhrzeitformat" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "Von" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "Anfangsdatum:" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "Terminende:" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "Datum/Zeit:" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "Notizen:" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "vorheriger" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "nächster" #: ../../calendar_view.c:750 msgid "Week" msgstr "Woche" #: ../../calendar_view.c:752 msgid "Hours" msgstr "Stunden" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "Betreff" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "Mehrtägiger Termin" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "bearbeiten" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "Kann den folgenden Header nicht darstellen: " #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "(kein Betreff)" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "Diese Warteschlange ist leer." #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "Sie haben keine Berechtigung diese Ressource einzusehen." #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "Diese Icon-Leiste bearbeiten" #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "Icons anzeigen als:" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "Bilder und Text" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "Nur Bilder" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "Nur Text" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "" "Die Menüeinträge auswählen, die Sie auf der Leiste links angezeigt haben " "möchten" #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "Ja" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "Nein" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "Seitenlogo" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "Ein Logo, das Ihre Seite beschreibt" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "Meine Übersichtsseite" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "Posteingang" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "Eine Abkürzung zu Ihrem Posteingang" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "Ihr eigenes Adressbuch" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "Ihre Notizen" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "Eine Abkürzung zu Ihrem Kalender" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "Aufgaben" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "Eine Abkürzung zu Ihrer Aufgabenliste" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "Räume" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "Liste aller verfügbaren Räume (oder Verzeichnisse) auflisten." #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "Wer ist da?" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "Wer ist gerade angemeldet?" #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "Chat" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "Interaktiver Chat mit den anderen Benutzern in diesem Raum" #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "Erweiterte Optionen" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "Zugriff zu allen Citadel-Menü-Funktionen" #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "Citadel Logo" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "Das 'Powered by Citadel'-Logo anzeigen" #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 msgid "System Administration Menu" msgstr "Systemverwaltungsmenü" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 msgid "Room Admin Menu" msgstr "Raumverantwortlichen Menü" #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "Aliase für diese Maschine" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "Verzeichnis Namen" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "Smart Hosts" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 msgid "Fallback smart hosts" msgstr "Ausweich Smart-Hosts" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "Benachrichtigungshosts" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 msgid "RBL hosts" msgstr "Blacklist-Maschinen" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "SpamAssassin-Maschinen" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "ClamAV Clamd Maschine" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 msgid "Masqueradable domains" msgstr "Masquarading-Domains" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" "Änderungen in diesem Menü werden erst mit Neustart des Citadel-Servers aktiv." #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 msgid "Network services" msgstr "Netzwerkdienste" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "Server-IP-Adresse (0.0.0.0 um alle IPV4, * um alle plus IPV6 zu binden)" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "XMPP (Jabber) Client nach Server Port (-1 zum abschalten)" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "XMPP (Jabber) Server zu Server Port (-1 zum abschalten)" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "Erweiterte Server Einstellungen" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "Maximale Nachrichtenlänge (in Bytes)" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "ungenutzte Verbindungen trennen nach (in Sekunden):" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "Knoten-Synchronisierunsfrequenz (in Sekunden)" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "Maximale Anzahl gleichzeitiger Verbindungen (0 = kein Limit)" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "Minimale Anzahl Server-Threads" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "Maximale Anzahl Server-Threads" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "Automatisch die Datenbanktransferlogs löschen" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "Einen neuen Raum erzeugen" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "Name des Raums: " #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "Befindet sich auf Etage: " #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "Vorgabe-Ansicht für diesen Raum: " #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "Raum-Typ:" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "Öffentlich (Raum zugänglich für jeden)" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "Privat - versteckt (zugänglich für jeden der den Namen weiß)" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "Privat - erfordert Passwort: " #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "Privat - nur mit Einladung" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "Persönlich (Briefkasten, nur für Sie)" #: ../../i18n_templatelist.c:95 msgid "Create new room" msgstr "Einen neuen Raum erzeugen" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "Abmelden" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "Erneut anmelden" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "den aktuellen Raum vergessen (vergessen/abbestellen)" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 msgid "If you select this option," msgstr "Wenn Sie diese Option wählen," #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 msgid "will disappear from your room list. Is this what you wish to do?" msgstr "aus der Raumliste verschwinden. Wollen Sie das wirklich tun?" #: ../../i18n_templatelist.c:102 msgid "Zap this room" msgstr "Raum weglassen" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" "WARNUNG: JavaScript ist im Browser abgeschaltet. Viele Funktionen des " "Systems stehen nicht zur verfügung." #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "Benutzername" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "Raum" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "Client DNS Name / IP" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "Absender" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "Lade Nachrichten vom Server, Bitte warten" #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "in neuem Fenster öffnen" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "Verschieben" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "Kopieren" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "Drucken" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "" "(sende auslaufende Mails nur für die Hosts, bei denen die direkte Übertragen " "fehlschlägt)" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "Vergessene Räume" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 msgid "Click on any room to un-zap it and goto that room." msgstr "Einen Raum anclicken zum ent-Zap-en und betreten." #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "Es warten eine oder mehrere Kurznachrichten, aber das Citadel Nachrichtenfenster" "hat sich nicht geöffnet. Eventuell blockiert ihr Browser Popups. Bitte erlauben" " sie das Citadel Nachrichtenfenster im Popupblocker um Kurznachrichten zu empfangen." #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "Ihre persönlichen Einstellungen ändern" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "Ihre Kontaktinformationen ändern" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "Ändern Sie Ihr Passwort" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "Ihr Lebenslauf eingeben" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "Ihr Photo ändern" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "Bearbeiten/Anzeigen von serverseitigen Mailfiltern" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "Bearbeiten Sie ihre Push-Email einstellungen" #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 msgid "Manage your OpenIDs" msgstr "openID's bearbeiten" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "Temporär debug loggen von Komponenten einschalten" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "Dieses Formular erlaubt es, einzelne Komponenten des Citserverprozesses " "zur Fehlersuche verbos zu schalten. Die Einstellung ist nicht neustart fest." "Um es permanent einzuschalten, fügen sie es zu der CITADEL_LOGDEBUG Umgebungsvariable " "im citadel Initscript hinzu." #: ../../i18n_templatelist.c:131 msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "Der Citadelserver muss neu gestartet werden. Er wird sofort wieder da sein." #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "Anzeigen" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "Herunterladen" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "Globale Konfiguration" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "Benutzer verwalten" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "Citadel Restarten" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "Räume und Etagen" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "Zu einem versteckten Raum gehen" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" "Wenn Sie den Namen eines versteckten (Namen-raten) oder passwortgeschützten " "Raums wissen, Hier eingeben um ihn zu betreten. Wenn er einmal sichtbar " "ist, wird er in Ihrer regulären Raumliste erscheinen." #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "Raumname eingeben:" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "Raumpasswort eingeben:" #: ../../i18n_templatelist.c:144 msgid "Go there" msgstr "Dahin gehen" #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "von " #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "an" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "CC:" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "Betreff:" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 msgid "Push Email" msgstr "Mobile Push-EMail" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 msgid "Funambol server host (blank to disable)" msgstr "Hostname des Funambol-Synchronisierungs-Servers (leer zum Abschalten)" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 msgid "Funambol server port " msgstr "Funambol Serverport " #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 msgid "Funambol sync source" msgstr "Funambol-Synchronisierungsquelle" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "Funambol-Autentifizierungs-Details (Nutzer:Passwort)" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 msgid "External pager tool (blank to disable)" msgstr "Externe Pager-Server URL (leer zum Abschalten)" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "Baum- (Ordner) Anzeige" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "Tabellen- (Raum) Anzeige" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "12 Stunden (AM/PM)" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "24 Stunden" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 msgid "Sunday" msgstr "Sonntag" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 msgid "Monday" msgstr "Montag" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "Keine Signatur" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "Volle Funktion" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "Eingeschränkter modus" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "" "Der sichere Modus ist ressourcensparender für deinen Browser, stellt aber " "nicht alle Funktionen zur Verfügung." #: ../../i18n_templatelist.c:168 msgid "Change" msgstr "Ändern" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "Einstellungen" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "(URLs für Benachrichtigungen, when ein Nutzer neue Mails erhält;)" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "Einfache Kommandos" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "Ihre Biographie" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "Erweiterte Raum-Kommandos" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "Benutzer bearbeiten: " #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "Benutzername:" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "Passwort" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "Erlaubnis Internet-EMail zu senden" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 msgid "Number of logins" msgstr "Anzahl der Anmeldungen" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 msgid "Messages submitted" msgstr "Nachricht abgeschickt" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 msgid "Access level" msgstr "Zugangsberechtigung" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 msgid "User ID number" msgstr "Benutzer-ID" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "Datum der letzten Anmeldung" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "Automatisch löschen nach n Tagen" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "POP3" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "POP3 Server Port (-1 zum abschalten)" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "POP3s Serverport (-1 zum Abschalten)" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 msgid "POP3 fetch frequency in seconds" msgstr "POP3-Abhol-Fequenz (in Sekunden)" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 msgid "POP3 fastest fetch frequency in seconds" msgstr "Höchste POP3-Abhol-Fequenz (in Sekunden)" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "SMTP-Ausgangswarteschlange anzeigen" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "Diese Seite neu laden" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "HINWEIS" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "Citadel versucht Mails in Intervallen erneut zuzustellen; Die " "Intervalle beginnen mit 60 sekunden und verdoppeln sich jedes mal; Wie auch " "immer, dieser Mechanismus kann einmal ausgesetzt werden und alle in der " "Warteschlange befindlichen Nachrichten werden sofort versucht erneut zu versenden." #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "OK, habs verstanden, auf gehts!" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "Alle Nachrichten beim nächsten Lauf erneut versuchen" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "Momentan Aktive mail versand Aufträge" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 msgid "Remote Sites:" msgstr "Entfernter Server" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 msgid "Status:" msgstr "Status:" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 msgid "Jobs waiting for further processing:" msgstr "Jobs, die auf erneuten Versand warten:" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 msgid "Message to your Users:" msgstr "Kurznachricht an die Benutzer:" #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "Verwaltung" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "Konfiguration" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "Nachrichtenverfalls-Vorgabe" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "Zugangskontrolle" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "Teilen" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "Mailinglistendienst" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "Sammeldienste" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "" "Deine Symbolleiste wurde aktualisiert. Bitte wähle eine von ihren " "Möglichkeiten, um fortzufahren." #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "Ggf. aktualisieren (SHIFT-F5)>, damit die Änderungen wirksam werden" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 msgid "General site configuration items" msgstr "Allgemeine Standortskonfiguration" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "Anmeldelogo wechseln" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "Abmeldelogo wechseln" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 msgid "Node name" msgstr "Name des Knotens" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "Vollqualifizierter Domänenname" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "Menschenlesbarer Knotenname" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 msgid "Telephone number" msgstr "Telefonnummer" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "Eingabeaufforderung (nur für Textclients)" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "Geografische Position dieses Systems" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "Name des Verwalters" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "Vorgabe Zeitzone für Kalendereinträge ohne Zeitzone" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "Hat Dateien" #: ../../i18n_templatelist.c:235 msgid "Networked Room" msgstr "Netzwerk öffentlicher Raum" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 msgid "Add a new node" msgstr "Neuen Knoten hinzufügen" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "Gemeinsames Passwort" #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "Maschinenname oder IP-Adresse" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 msgid "Port number" msgstr "Portnummer" #: ../../i18n_templatelist.c:241 msgid "Add node?" msgstr "Knoten hinzufügen?" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 msgid "(kill)" msgstr "(beenden)" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 msgid "Edit configuration" msgstr "Konfiguration Bearbeiten" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 msgid "Edit address book entry" msgstr "Adressbuch Eintrag bearbeiten." #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "inaktiv seit" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 msgid "Minutes" msgstr "Minuten" #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 msgid "active" msgstr "aktiv" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 msgid "(Edit)" msgstr "(Bearbeiten)" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "(Löschen)" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "Keine neuen Nachrichten." #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "Neue Startseite setzen" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "Ihre neue Startseite wurde geändert" #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" "(Anmerkung: dies setzt nicht die Homepage im Browser. Es ändert die gezeigte " "Seite beim anmelden an" #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "Schreiben Sie einen Kommentar" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "Löschen bestätigen" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "wirklich löschen? " #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 msgid "Add, change, delete user accounts" msgstr "Benutzer bearbeiten/löschen/anlegen" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 msgid "(hosts running the ClamAV clamd service)" msgstr "(Maschine, auf der Ihr ClamAV läuft)" #: ../../i18n_templatelist.c:270 msgid "Send" msgstr "Absenden" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 msgid "Restart Citadel" msgstr "Citadel neu starten" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "von" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "Anonym" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "in" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "An:" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "BCC:" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "Betreff (optional):" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "--- Weitergeleitete Nachricht ---" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 msgid "Post message" msgstr "Beitrag senden" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "Als Entwurf speichern." #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "Anhänge:" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 msgid "Delete this message?" msgstr "Diesen Raum löschen" #: ../../i18n_templatelist.c:300 msgid "Room Logo" msgstr "Raum Logo" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "Suchen: " #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "Server-Kommando-Ergebnisse" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 msgid "Enter another command" msgstr "Weiteren Befehl eingeben" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 msgid "Return to menu" msgstr "Zurück zum Menü" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 msgid "Users currently on" msgstr "Angemeldete Benutzer auf" #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "Benutzerprofil" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 msgid "Click here to send an instant message to" msgstr "Hier klicken zum senden einer Kurznachricht an" #: ../../i18n_templatelist.c:308 msgid "Pictures in" msgstr "Bilder in" #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 msgid "Edit or delete users" msgstr "Benutzer bearbeiten/löschen" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 msgid "You need to be aide to view this." msgstr "Sie haben keine Berechtigung diese Ressource einzusehen." #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 msgid "Add users" msgstr "Neuer Benutzer" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 msgid "Edit or Delete users" msgstr "Benutzer bearbeiten/löschen" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "Bitte warten während der Citadel-Server neu gestartet wird " #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 msgid "User list for " msgstr "Benutzer-Liste für " #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "Benutzername" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "Zahl" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "Zugangsberechtigung" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "Letzte Anmeldung" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "Anmeldungen gesamt" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "Summe aller Beiträge" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "Lade" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "Ihre OpenID" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "wurde erfolgreich revalidiert." #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "Wie auch immer, der Benutzername" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "wird bereits von jemand anderem verwendet." #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "Bitte gebe den Benutzernamen ein den du verwenden willst." #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "Beenden" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "Nachrichten-Verfallsvorgabe für diesen Raum" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "Die Vorgaberichtlinie dieser Etage verwenden" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "Nachrichten nie automatisch löschen" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "Nachrichten nach Anzahl löschen" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "Lösche Nachrichten älter als" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "Anzahl der Nachrichten pro Tag: " #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "Nachrichten-Verfallsvorgabe für diese Etage" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "Die Systemvorgabe benutzen" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "Fenster schließen" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "{percent}% von {total_size}" #: ../../i18n_templatelist.c:361 msgid "Upload failed" msgstr "Datei hochladen fehlgeschlagen" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "Bearbeite..." #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "Pausiert" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "Es kann nur eine Datei auf einmal gedropt werden" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "Fataler Fehler - der Browser unterstützt Datei hochladen nicht." #: ../../i18n_templatelist.c:366 msgid "Are you shure you want to delete {filename}?" msgstr "Soll {filename} wirklich gelöscht werden? " #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "Löschen von {filename} fehlgeschlagen" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "Lösche {filename}" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "Dateien zum Hochladen hier fallen lassen" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "Datei anhängen" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "Lade Dateien hoch..." #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "Erneut versuchen" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 msgid "Remove" msgstr "Entfernen" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "Indizierung und Protokollierung" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "Warnung: Diese Dienste sind Ressourcen intensiv." #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "Volltext-Indexdienst anschalten" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 msgid "Perform journaling of email messages" msgstr "EMail-Nachrichten protokollieren" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 msgid "Perform journaling of non-email messages" msgstr "Nicht-EMail Nachrichten protokollieren" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "EMail-Adresse für die Protokollnachrichten" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "Zum Download verfügbare Dateien in" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "Eine Datei hochladen:" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "Hochladen" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "Dateiname" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "Größe" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "Inhalt" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "Beschreibung" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" "Diese Citadel installation wurde ohne Serverseitige Mailfilter gebaut
    " "Bitte fragen Sie Ihren Administrator, wenn Sie diese Funktion brauchen." #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "neu von" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "Nachrichten" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "Seite wählen: " #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "Mails von diesen POP3 Konten abholen und in diesem Raum ablegen:" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 msgid "Remote host" msgstr "POP3 Server" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 msgid "Keep messages on server?" msgstr "Mails auf dem Server belassen?" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 msgid "Interval" msgstr "Rhythmus" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "Hinzufügen" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "Die folgenden RSS-Feeds abholen und in diesem Raum ablegen:" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "Feed URL" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "" "Um einen neuen Benutzer einzurichten, den Anmeldenamen in das Textfeld " "eintragen und 'Anlegen' Klicken" #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 msgid "New user: " msgstr "Neuer Benutzer: " #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "Anlegen" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "(Domäne, auf die das öffentliche Adressbuch zeigt)" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "Wikiseiten" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "(Löschen)" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" "Folgende Benutzer haben Zugang zu diesem Raum. Um einen Benutzer von der " "Zugangsliste zu entfernen, Benutzernamen auswählen und 'Kick' anklicken." #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "Rauswerfen" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" "Um einem weiteren Benutzer den Zugang zu diesem Raum zu erlauben den " "Benutzernamen in das folgende Textfeld eintragen und 'Einladen' drücken" #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "Einladen:" #: ../../i18n_templatelist.c:426 msgid "Invite" msgstr "Einladen" #: ../../i18n_templatelist.c:427 msgid "User" msgstr "Benutzer" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 msgid "Users" msgstr "Benutzer" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 msgid "Addressbook Popup" msgstr "Adressbuch Popup" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "" "Einen vorhandenen Benutzer zum Bearbeiten aus der Liste auswählen und dann " "'Bearbeiten' Klicken" #: ../../i18n_templatelist.c:435 msgid "Delete user" msgstr "Benutzer löschen" #: ../../i18n_templatelist.c:436 msgid "Delete this user?" msgstr "Diesen Benutzer löschen?" #: ../../i18n_templatelist.c:437 msgid "Delete File" msgstr "Datei löschen" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "Diashow" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "(Maschine, auf der Ihr SpamAssassin läuft)" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "Dies ist eine Änderung von" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 msgid "which is already in your calendar." msgstr "überlappen, der bereits in Ihrem Kalender ist." #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 msgid "This event would conflict with" msgstr "Dieser Termin würde mit" #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "Wenn eine neue Mail ankommt: " #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "Im Posteingang belassen ohne filtern" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "Mit den folgenden Regeln filtern" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "Mit manuell bearbeitetem Script filtern (nur für erfahrene Benutzer)" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "Ihre ankommenden Mails werden nicht gefiltert." #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "Neue Regel" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "Das zur Zeit aktive Script ist: " #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "Script bearbeiten/löschen" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "LDAP-Verzeichnis-Anbindung des Servers konfigurieren" #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" "Anmerkung: Dieser Citadelserver wurde ohne LDAP-Support gebaut. Diese Option " "wird keine Auswirkung haben." #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "Hostname des LDAP-Verzeichnisserver (leer zum Abschalten)" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "Port des LDAP-Verzeichnisservers (leer zum Abschalten)" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "Base DN im Verzeichnisserver" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "Bind DN im Verzeichnisserver" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "Passwort für die Bind DN am Verzeichnisserver" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "Diesen Raum bearbeiten oder löschen" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "In einen 'versteckten' Raum gehen" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 msgid "Zap (forget) this room" msgstr "Diesen Raum vergessen" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "Alle vergessenen Räume auflisten" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "Zap duplicate messages" msgstr "Doppelte Nachrichten Entfernen" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "(Meldungen mit gleichem Betreff, Absender und Datum werden in den Papierkorb verschoben)" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "Nachrichten-ID" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "Versandzeitpunkt" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 msgid "Next attempt" msgstr "Nächster Versuch" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "Empfänger" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "Lese #" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "alte vor neu" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "neue vor alte" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "" "Bitte warten während die Benutzer benachrichtigt werden, der Server wird " "dann neu gestarted. " #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "Bearbeiten" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "Antworten" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "Antworten&Zitieren" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "AntwortenAnAlle" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "Weiterleiten" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "Kopfzeilen" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "Systemvorgaben bearbeiten" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "Domänennamens- und Internetmail-Konfiguration" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "Die Replikation mit anderen Citadel-Servern konfigurieren" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "Ein/Ausschalten des loggens von Serverkomponenten" #: ../../i18n_templatelist.c:503 msgid "Powered by Citadel" msgstr "Betrieben mit Citadel" #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "Sprache:" #: ../../i18n_templatelist.c:507 msgid "Go to your email inbox" msgstr "Eine Abkürzung zu Ihrem Posteingang" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "Posteingang" #: ../../i18n_templatelist.c:509 msgid "Go to your personal calendar" msgstr "Eine Abkürzung zu Ihrem Kalender" #: ../../i18n_templatelist.c:511 msgid "Go to your personal address book" msgstr "Eine Abkürzung zu Ihrem eigenen Adressbuch" #: ../../i18n_templatelist.c:513 msgid "Go to your personal notes" msgstr "Eine Abkürzung zu Ihren Notizen" #: ../../i18n_templatelist.c:515 msgid "Go to your personal task list" msgstr "Eine Abkürzung zu Ihrer Aufgabenliste" #: ../../i18n_templatelist.c:517 msgid "List all your accessible rooms" msgstr "Alle zugänglichen Räume auflisten" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "Sehen, wer grade angemeldet ist" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "Angemeldete Benutzer" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "Erweiterte Optionen Menü: Erweiterte Raum Kommandos, Konto Informationen, und Chat" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "Erweitert" #: ../../i18n_templatelist.c:526 msgid "Room and system administration functions" msgstr "Raum und Systemadministrator Funktionen" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "Dieses Menü Bearbeiten" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "Anmelden" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "Auf Raumliste wechseln" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "Zurück zum Menü" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "Meine Ordner" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "IMAP" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "IMAP4 Server Port (-1 zum abschalten)" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "IMAP-SSL Serverport (-1 zum abschalten)" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "Original IMAP-Header behalten" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "Bild hochladen" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "Sie können ein Bild direkt von ihrem Computer hochladen." #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "Bitte geben Sie eine Datei zum Hochladen an:" #: ../../i18n_templatelist.c:545 msgid "Reset form" msgstr "Formular löschen" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "Listenteilnehmer" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "Liste abonnieren/abmelden" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "Bestätigungsanfrage gesendet" #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "Sie abonnieren " #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 msgid " to the " msgstr " die " #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 msgid " mailing list." msgstr " Mailing-Liste." #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" "Der Mailing-Listen-Server hat Ihnen eine E-Mail mit einem Verweis gesendet, " "auf den Sie klicken müssen, um Ihr Abonnement zu bestätigen." #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" "Dieser zusätzliche Schritt dient Ihrem Schutz, weil dadurch verhindert wird, " "dass andere ohne Ihre Zustimmung für Sie Mailing-Listen abonnieren können." #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" "Bitte klicken Sie auf den Verweis, der Ihnen per E-Mail gesendet wurde und " "Ihr Abonnement wird bestätigt." #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "Zurück..." #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 msgid "ERROR" msgstr "FEHLER" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "Sie kündigen das Abonnement" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 msgid "from the" msgstr "der" #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 msgid "mailing list." msgstr "Mailing-Liste." #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" "Der Mailing-Listen-Server hat Ihnen eine E-Mail mit einem Verweis gesendet, " "auf den Sie klicken müssen, um die Kündigung Ihres Abonnements zu bestätigen." #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" "Dieser zusätzliche Schritt dient Ihrem Schutz, weil dadurch verhindert wird, " "dass andere ohne Ihre Zustimmung Ihre Mailing-Listen-Abonnements kündigen " "können." #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" "Bitte klicken Sie auf den Verweis, der Ihnen per E-Mail gesendet wurde und " "Ihre Abonnement-Kündigung wird bestätigt." #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 msgid "Back..." msgstr "Zurück …" #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 msgid "Confirmation successful!" msgstr "Bestätigung erfolgreich!" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 msgid "Confirmation failed." msgstr "Bestätigung gescheitert." #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "Das könnte eines von zwei Dingen bedeuten:" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" "Sie haben mit der Bestätigung Ihres Abonnements/Ihrer Abonnement-Kündigung " "zu lange gewartet (der Verweis zur Bestätigung ist nur drei Tage lang gültig)" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" "Sie haben bereits erfolgreich Ihr Abonnement/Ihre Abonnement-" "Kündigung bestätigt und versuchen es gerade erneut." #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "Der vom Server gemeldete Fehler war: " #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 msgid "Name of list:" msgstr "Name der Liste:" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 msgid "Your e-mail address:" msgstr "Ihre E-Mail-Adresse:" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "Bevorzugtes Format (falls Sie abonnieren): " #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 msgid "One message at a time" msgstr "Eine Nachricht auf einmal" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 msgid "Digest format" msgstr "Digest-Format" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" "Sie werden eine E-Mail mit einem zusätzlichen Verweis erhalten, auf den Sie " "zur endgültigen Bestätigung klicken müssen, wenn Sie versuchen, eine Mailing-" "Liste zu abonnieren oder zu kündigen." #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" "Dieser zusätzliche Schritt dient Ihrem Schutz, weil dadurch verhindert wird, " "dass andere ohne Ihre Zustimmung für Sie Mailing-Listen abonnieren oder Ihre " "Mailing-Listen-Abonnements kündigen können." #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 msgid "name of room: " msgstr "Raumname: " #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "Wenn Privat, sollen aktuelle Benutzer den Raum vergessen?" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "nur privilegierte Benutzer" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "Schreibgeschützter Raum" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "Benutzer, die Schreibrechte haben, dürfen auch löschen" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "Dateiverzeichnis-Raum" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "Verzeichnisname: " #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "Hochladen erlaubt" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "Herunterladen erlaubt" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "Sichtbares Verzeichnis" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 msgid "Network shared room" msgstr "Netzwerk öffentlicher Raum" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "Permanent (kein automatisches Löschen)" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "Betreff verlangen (Benutzer zwingen einen Betreff anzugeben)" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "Anonyme Nachrichten" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "Keine anonyme Nachrichten" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "Alle Nachrichten sind Anonym" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "Benutzer fragen, wenn er die Nachricht eingibt" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 msgid "Room aide: " msgstr "Raumverantwortlicher: " #: ../../i18n_templatelist.c:611 msgid "Delete this entry?" msgstr "Diesen Eintrag löschen" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "Nicht geteilt mit" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "Geteilt mit" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 msgid "Remote node name" msgstr "Entfernter Knotenname" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 msgid "Remote room name" msgstr "Entfernter Raumname" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "Aktionen" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" "Falls ein Raum geteilt werden soll, muss er von beiden Enden her geteilt " "werden. Hinzufügen eines Knotens zu der \"Geteilt\" Liste versendet " "Nachrichten, aber in der Reihenfolge der empfangenen Nachrichten, müssen die " "anderen Knoten so konfiguriert sein, dass sie auch Nachrichten zu deinem " "System senden.
  • Wenn der entfernte Raum leer ist, wird angenommen, dass " "der Name des Raums identisch ist mit dem auf dem entfernten Knoten.
  • Falls " "der Name des entfernten Raumes anders ist, Muss der entfernte Knoten auch " "den Namen des hiesigen Raumes einstellen." #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "Wenn der entfernte Raumname leer ist, wird angenommen das er mit dem lokalen Namen identisch ist." #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "Wenn der entfernte Raumname anders ist, muss er auch hier konfiguriert werden." #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 msgid "resend messages to this node" msgstr "Nachrichten erneut zum entfernten Knoten versenden" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "Erneutes versenden kann das system belasten, und grosse Spool-Dateien generieren, " "die erneut versendet werden beim nächsten Netzwerkerlauf." #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "Etage erstellen/ändern/löschen" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "Etagen-Nr." #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "Etagen-Name" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "Zahl der Räume" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "Etagen CSS" #: ../../i18n_templatelist.c:633 msgid "Create new floor" msgstr "Einen neuen Flur erzeugen" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "Regel nach oben bewegen" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "Regel nach unten bewegen" #: ../../i18n_templatelist.c:636 msgid "Delete rule" msgstr "Regel löschen" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "Wenn" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "To oder Cc" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "Reply-to" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "Resent-From" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "Resent-To" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "Envelope From" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "Envelope To" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "X-Mailer" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "X-Spam-Flag" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "X-Spam-Status" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "Listen-ID" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "Nachrichten größe" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "Alle" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "beinhaltet" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "beinhaltet nicht" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "ist" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "ist nicht" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "trifft zu" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "trifft nicht zu" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "(Alle Beiträge)" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "ist größer als" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "ist kleiner als" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 msgid "bytes" msgstr "bytes" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "Behalten" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "still verwerfen" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "Abweisen" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "Meldung verschieben nach" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "Weiterleiten an" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "Abwesenheits-Benachrichtigung" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "Nachricht:" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "und dann" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "weiter Bearbeiten" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "stop" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "(Domäne für die diese Maschine Mail bekommt)" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "Netzwerk-Konfiguration" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "Schon konfigurierte Knoten" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "(Etage löschen)" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "(Bild verändern)" #: ../../i18n_templatelist.c:679 msgid "Change name" msgstr "Namen ändern" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "CSS Wechseln" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "Hinzufügen:" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 msgid "Configure automatic expiry of old messages" msgstr "Automatischen Verfall alter Nachrichten konfigurieren" #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "" "Diese Einstellungen können auf Etagen- oder Raum-Basis aufgehoben werden." #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "Zeit, zu der die Raumsäuberungen laufen sollen" #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 msgid "Default message expire policy for public rooms" msgstr "" "Standardwerte für die Vorhaltedauer von Nachrichten in öffentlichen Räumen" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 msgid "Default message expire policy for private mailboxes" msgstr "" "Standardwerte für die Vorhaltedauer von Nachrichten in privaten Mailboxen" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 msgid "Same policy as public rooms" msgstr "Die selben Werte wie in öffentlichen Räumen" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "Automatisch inaktive Nutzer löschen nach (Tage)" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "Automatische Raumlöschung nach (Tage)" #: ../../i18n_templatelist.c:700 msgid "Are you sure you want to delete this room?" msgstr "Soll dieser Raum wirklich gelöscht werden? " #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "Raum löschen" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 msgid "Set or change the icon for this rooms banner" msgstr "Setze oder ändere das Bild für das Banner des Raumes" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 msgid "Edit this rooms Info file" msgstr "Bearbeite die Informationsdatei dieses Raumes" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "Ein Server-Kommando eingeben" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" "Dieses Fenster erlaubt Ihnen, Citadel-Server Befehle, die nicht in WebCit " "verwendet werden, direkt einzugeben. Wenn Ihnen dies nichts sagt, wird " "dieses Fenster für Sie nicht ohne Studium der Dokumentation von Nutzen sein." #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "Kommando eingeben:" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "Kommando Eingabe (wenn Sie SEND_LISTING Transfer-Modus anfordern):" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 msgid "Detected host header is " msgstr "Der gefundene Host Header ist " #: ../../i18n_templatelist.c:709 msgid "Send command" msgstr "Kommando senden" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "Teilen wiederrufen" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "(Maschinen, von denen Echtzeit-Blacklisten zu beziehen sind)" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "Zugangskontrolle und Vorgabewerte" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "Moderatoren erlauben, Räume zu vergessen" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "Meldungen Problematischer Nutzer moderieren" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "Name des Quarantäne-Raums" #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 msgid "Name of room to log pages" msgstr "Name des Raums zum Loggen von Kurznachrichten" #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 msgid "Authentication mode" msgstr "Authentifizierungsmodus" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 msgid "Self contained" msgstr "Abgeschlossen" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 msgid "Host based" msgstr "Host-basiert" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "LDAP (RFC2307)" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "LDAP (Active Directory)" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 msgid "Allow anonymous guest access" msgstr "Anonymen Gastzugang erlauben" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 msgid "Master user name (blank to disable)" msgstr "" "Priviligierter Benutzer (z.b. für Asterisk Integration; leer zum Abschalten)" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 msgid "Master user password" msgstr "Passwort des priviligierten Benuters" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 msgid "Initial access level for new users" msgstr "Rechtestatus neu angelegter Benutzer" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "Zugangsberechtigung um Räume zu erzeugen" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "" "Automatisch Benutzern, die private Räume erstellen, Moderator-Status geben." #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "Automatisch Erstellern von BLOG-Räumen Moderator-Status geben" #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "Zugang zu Internetmail beschränken" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "Erzeugen von Benutzerkonten am Anmeldeprompt verbieten" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "Hinweis: Nicht beides auswählen!" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "Anmeldung für neue Benutzer erforderlich" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 msgid "Add, change, or delete floors" msgstr "Etagen bearbeiten/löschen/hinzufügen" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "Anzeigen als:" #: ../../i18n_templatelist.c:753 msgid "Delete this note?" msgstr "Diese Notiz löschen" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 msgid "Logged in as" msgstr "Angemeldet als" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 msgid "Not logged in." msgstr "Nicht angemeldet." #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "Sie müssen eingeloggt sein um diese Seite zuzugreifen." #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "Mit Benutzer und Passwort anmelden" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "Passwort:" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "Neuer Benutzer? Registrieren Sie sich jetzt" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "" "einen Loginnamen und Passwort eingeben die verwendet werden sollen; dann " ""Neuer Benutzer" Klicken " #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "Mit einem OpenID Konto Anmelden" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "OpenID URL:" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 msgid "Log in using Google" msgstr "Über Google anmelden" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 msgid "Log in using Yahoo" msgstr "Über Yahoo anmelden" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 msgid "Log in using AOL or AIM" msgstr "Über AOL oder AIM anmelden" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "Geben Sie Ihren AOL- oder AIM-Benutzernamen ein:" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "Bitte warten" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "Neues Script hinzufügen" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" "Um eine neues Script anzulegen, den gewünschten Scriptnamen in das Textfeld " "eintragen und 'Anlegen' Klicken" #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "Script-Name: " #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "Script bearbeiten" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "Zurück zum Bearbeitungsformular" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "Script Löschen" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "" "Um ein vorhandenes Script zu löschen, das Script aus der Liste auswählen und " "dann 'Löschen' Klicken" #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 msgid "Restart Now" msgstr "Jetzt neustarten" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "Nach benachrichtigen der User neustarten" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "Neustarten, wenn alle Benutzer inaktiv sind" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 msgid "Configure Push Email" msgstr "Push-EMail Konfigurieren" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "Push Email und SMS Einstellungen" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" "Wenn der Administrator freigeschaltet hat, kann Citadel dem Funambol Server " "automatisch benachrichtigen, das eine neue EMail eingetroffen ist und sie " "auf Endgeräte mit Funambol Client synchronisieren." #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" "Alternativ kann der Administrator das versenden einer SMS mit der " "Zusammenfassung der mail senden lassen." #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 msgid "Notify Funambol server" msgstr "Funambol-Server benachrichtigen" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 msgid "Send a text message to..." msgstr "Eine Textnachricht senden an..." #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "" "(bitte das internationale Nummernformat ohne führende Nullen, Leerzeichen " "oder Trennstriche angeben, ala +4917234567890)" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "" "Nutze das willkürliche Benachrichtigungsschema, dass von deinem " "Administrator festgelegt wurde." #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "Keine Benachrichtigungen senden." #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "betrieben mit" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "SMTP-Server" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "SMTP MTA Server Port (-1 zum abschalten)" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "SMTP MSA Serverport (-1 zum abschalten)" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "SMTPS Serverport (-1 zum Abschalten)" #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "RBL Prüfung schon beim Verbindungsaufbau durchführen" #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "Meldung als Spam Markieren, anstelle verwerfen" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "" "Nicht authentifizierten SMTP clients erlauben die Domain dieser Citadel- " "Installation zu verwenden" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "'From:' -Kopfzeilen bei authentifizierten SMTP korrigieren" #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "Nein, erlaube alle Addressen in der Von:-Kopfzeile" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "Die Von:-Kopfzeile nur verändern wenn sie nicht zu dem Benutzer gehört" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "Ja, immer des Benutzers primäre E-Mail Addresse in der Von:-Kopfzeile einsetzen." #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "Nein, Nachrichten mit ungültigen Von:-Kopfzeilen ZURÜCKWEISEN" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "Postfix TCP Wörterbuch Port" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "-1 to disable" msgstr "-1 zum Abschalten" #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 msgid "ManageSieve Port (-1 to disable)" msgstr "ManageSieve-Server-Port (-1 zum abschalten)" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "Standortskonfiguration" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 msgid "General" msgstr "Allgemein" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 msgid "Settings" msgstr "Einstellungen" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "SMTP" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "IMAP4" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "Pop3" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "Indizierung/Protokollierung" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 msgid "Access" msgstr "Zugang" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 msgid "Directory" msgstr "Verzeichnis" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "Automatischer Nachrichtenlöscher" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" "
    : Der Inhalt dieser Raums werden als einzelne Nachrichten " ", an die folgende Liste von Empfängern verschickt" #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" "Die Inhalte dieses Raums werden als einzelne Nachrichten zu " "folgenden Listenempfängern versendet:

    " #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "Nachrichten in diesem Raum werden an diese Mailinglisten versendet" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "Alle Nachrichten, die in diesen Raum geschrieben/gesendet werden an" "diese E-Mail Addresse gesendet. Wenn dies mit einer Mailinglisten Abbonement" " verbunden wird, sollte sichergestellt sein, das die unten konfigurierte " "Absenderaddresse mit der Abbonementsaddresse übereinstimmt. Die Nachrichten " "werden zwei mal zu sehen sein: Einmal das Orginal, Einmal die versendete Nachricht " "der Mailingliste." #: ../../i18n_templatelist.c:846 msgid "List" msgstr "Liste" #: ../../i18n_templatelist.c:847 msgid "Digest" msgstr "Digest-Format" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "Empfänger aus den Kontakten oder anderen Addressbüchern hinzufügen" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "Nicht-Abbonenten dürfen in diesen Raum senden" #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "Beitrag einreichen erforderd Moderator Privilegien." #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 msgid "Allow self-service subscribe/unsubscribe requests." msgstr "Benutzergesteuertes Abonnieren erlauben." #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "Die URL zum Ab-/Bestellen lautet: " #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "Welche Absederaddresse soll verwendet werden: " #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "keine (nicht empfohlen)" #: ../../i18n_templatelist.c:858 msgid "Set" msgstr "Setzen" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "Weitere öffentliche Emailaddressen die in diesen Raum ausgeliefert werden:" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "Alle Domänen" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 msgid "Summary page for " msgstr "Übersichtsseite für " #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "Nachrichten" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "Heute in ihrem Kalender" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 msgid "Who‘s online now" msgstr "Wer  ist gerade  angemeldet" #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "Über diesen Server" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "Sie sind verbunden mit" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 msgid "running" msgstr "wird ausgeführt" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 msgid "with" msgstr "mit" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "Server-Build" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 msgid "and located in" msgstr "und aufgestellt in" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 msgid "Your system administrator is" msgstr "Ihr Systemadministrator ist" #: ../../i18n_templatelist.c:874 msgid "Do you really want to kill this session?" msgstr "Wollen Sie diese Sitzung wirklich beenden?" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "Angemeldete Benutzer auf " #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 msgid "Click on a name to read user info. Click on" msgstr "Auf den Namen klicken um die Benutzerdaten einzusehen. Auf" #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 msgid "to send an instant message to that user." msgstr "klicken um Ihm eine Kurznachricht zu senden." #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "Alte Nachrichten" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "Neue Nachrichten" #: ../../i18n_templatelist.c:880 msgid "Share" msgstr "Teilen" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "(nicht lokale Domänen, von denen Benutzer Mails schicken dürfen)" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "Bitte geben Sie ein neues Passwort ein:" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "Noch einmal zur Verifizierung:" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "Passwort ändern" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "Sitzungsparameter Bearbeiten" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" "Auf dieser Seite können Sie die in der Benutzerübersicht angezeigten Texte " "ändern. Um die Defaultwerte wiederherzustellen bei leerem Feld den " "'Raumnamen ändern' Knopf drücken " #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "Raumname:" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "Raumnamen ändern" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "Rechnername:" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "Rechnernamen ändern" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "Benutzernamen ändern" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "(POSTEINGANG)" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "editierte Einträge für diese Seite" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "Verschieben bestätigen" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "Meldung verschieben nach:" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "Ursprünglich veröffentlicht in: " #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "Bekannte Räume aufzählen" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "Wo komme ich von hier aus hin?" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "nächster Raum" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 msgid "...with unread messages" msgstr "... mit ungelesenen Meldungen" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "Weiter zum nächsten Raum" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "(später zurückkehren)" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "Zurück" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 msgid "oops! Back to " msgstr "Hoppla! Zurück zu " #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "Aktualisieren" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "... in diesem Raum" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "Alle Beiträge" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "... alte und neue" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "neuer Beitrag" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "(Beitrag in diesen Raum stellen)" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "Datei-Bibliothek" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "(Zum Herunterladen verfügbare Dateien anzeigen)" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 msgid "Summary page" msgstr "Übersichtsseite" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "Mein Benutzerkonto" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "Benutzerliste" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 msgid "(all registered users)" msgstr "(alle Benutzer)" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "Auf Wiedersehen!" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "" "(wenn gesetzt, alle zu versendende Mail über diese Maschine verschicken)" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "Kontakte anzeigen" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "Neuen Kontakt hinzufügen" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "Tagesübersicht" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "Monatsübersicht" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "Neuen Termin hinzufügen" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "Kalenderliste" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "Aufgaben anzeigen" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "Neue Aufgabe" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "Nachrichten anzeigen" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "Neue Notiz" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "Aktualisieren" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "Email schreiben" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "Wiki-Startseite" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "Diese Seite bearbeiten" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "Ältere Versionen" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 msgid "New blog post" msgstr "Neuer Blog-Beitrag" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "Alle Nachrichten wieder ungelesen markieren, in den nächsten Raum mit neuen Nachrichten gehen" #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "Raum weglassen" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "Alle Nachrichten als gelesen markieren, und in den nächsten Raum mit neuen Nachrichten gehen" #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "Mail Warteschlange erneut versenden" #: ../../i18n_templatelist.c:995 msgid "Save changes?" msgstr "Änderungen übernehmen?" #~ msgid "" #~ "You are subscribing %s to the %s mailing list. The " #~ "listserver has sent you an e-mail with one additional Web link for you to " #~ "click on to confirm your subscription. This extra step is for your " #~ "protection, as it prevents others from being able to subscribe you to " #~ "lists without your consent.

    Please click on the link which is " #~ "being e-mailed to you and your subscription will be confirmed.
    \n" #~ msgstr "" #~ "Sie abonnieren für %s die %s-Mailing-Liste. Der Mailing-" #~ "Listen-Server hat Ihnen eine E-Mail mit einem Verweis gesendet, auf den " #~ "Sie klicken müssen, um Ihr Abonnement zu bestätigen. Dieser zusätzliche " #~ "Schritt dient Ihrem Schutz, weil dadurch verhindert wird, dass andere " #~ "ohne Ihre Zustimmung für Sie Mailing-Listen abonnieren können.
    \n" #~ msgid "" #~ "WARNING: Failed to parse Server Config; do you run a to new citserver?" #~ msgstr "" #~ "WARNUNG: Konnte die Serverkonfiguration nicht lesen; ist der Citserver " #~ "neuer als WebCit?" #~ msgid "There is no room called '%s'." #~ msgstr "Es gibt keinen Raum mit dem Namen '%s'." #~ msgid "Network" #~ msgstr "Netzwerk" #~ msgid "Tuning" #~ msgstr "Feinabstimmung" #~ msgid "Instantly expunge deleted messages in IMAP" #~ msgstr "Löschen via IMAP nicht cachen (instant expunge)?" #~ msgid "A script by that name already exists." #~ msgstr "Es gibt schon ein Script mit diesem Namen!" #~ msgid "" #~ "A new script has been created. Return to the script editing screen to " #~ "edit and activate it." #~ msgstr "" #~ "Ein neues Script wurde erzeugt. Es kann im Script-Bearbeitungs Formular " #~ "aktiviert werden." #~ msgid "Delete script" #~ msgstr "Script löschen" #~ msgid "" #~ "You are connected to %s, running %s with %s, server build %s and located " #~ "in %s. Your system administrator is %s." #~ msgstr "" #~ "Sie sind angemeldet auf %s, mit %s über %s, Server-Release %s in %s. Ihr " #~ "Systemverwalter ist %s." #~ msgid "Yes with users list" #~ msgstr "Ja, mit Benutzer Liste" #~ msgid "Room list" #~ msgstr "Raumlisten Anzeige" #~ msgid "View as room list" #~ msgstr "Auf Raumlistenansicht wechseln" #~ msgid "View as folder list" #~ msgstr "Auf Ordnerlistenansicht wechseln" #~ msgid "Your password was not accepted." #~ msgstr "Ihr Passwort wurde nicht akzeptiert" #~ msgid "" #~ "You are subscribing %s to the %s mailing list. The " #~ "listserver has sent you an e-mail with one additional Web link for you to " #~ "click on to confirm your subscription. This extra step is for your " #~ "protection, as it prevents others from being able to subscribe you to " #~ "lists without your consent.

    Please click on the link which is " #~ "being e-mailed to you and your subscription will be confirmed.
    \n" #~ msgstr "" #~ "Sie abonnieren für %s die %s Liste. Der Listenserver hat " #~ "Ihnen eine URL zur Bestätigung der Anmeldung zugeschickt. Dieser " #~ "zusätzliche Schritt ist zu Ihrem eigenen Schutz, damit Sie niemand ohne " #~ "Ihre Zustimmung auf einer Liste anmelden kann.
    \n" #~ msgid "If you already have an account on" #~ msgstr "Wenn schon ein Benutzerkonto existiert auf" #~ msgid "enter your user name and password and click "Login."" #~ msgstr "Benutzername und Passwort angeben und "Anmelden" clicken" #~ msgid "" #~ "If you are a new user, enter the name and password you wish to " #~ "use, and click "New User." " #~ msgstr "" #~ "Wenn Sie noch keinen Benutzer haben einen Loginnamen und Passwort " #~ "eingeben die verwendet werden sollen; dann "Neuer Benutzer" " #~ "Klicken " #~ msgid "Please log off properly when finished. " #~ msgstr "Bitte die Sitzung ordentlich beenden. " #~ msgid "See the" #~ msgstr "Die" #~ msgid "recommended browser list" #~ msgstr "Liste empfohlener Browser einsehen" #~ msgid "" #~ "if you have trouble using Webcit.
  • You must have cookies " #~ "turned on. " #~ msgstr "" #~ "wenn es Probleme mit Webcit gibt..
  • Cookies müßen " #~ "aktiviert sein. " #~ msgid "" #~ "Also keep in mind that if your browser is configured to block pop-up " #~ "windows, you will not be able to receive any instant messages." #~ msgstr "" #~ "Bitte auch Popup Fenster zulassen wenn Chat-Fenster benutzt werden sollen." #~ msgid "Enter your OpenID URL and click "Login"." #~ msgstr "Geben Sie ihre OpenID URL ein, und "Anmelden" klicken" #~ msgid "Click here to learn what OpenID is and how Citadel is using it." #~ msgstr "Hier klicken um mehr über OpenID und Citadel zu lernen" #~ msgid " - powered by Citadel" #~ msgstr " - mit Citadel Technologie" #~ msgid "enter your user name and password and click "Log in."" #~ msgstr "Benutzername und Passwort angeben und "Anmelden" clicken" #~ msgid "Enter your OpenID URL and click "Log in"." #~ msgstr "Geben Sie ihre OpenID URL ein, und "Anmelden" klicken" #~ msgid "" #~ "
    • Enter your OpenID URL and click "Log in".
    • Click here to " #~ "learn what OpenID is and how Citadel is using it.
    • Please log off " #~ "properly when finished.
    • You must use a browser that supports " #~ "frames and cookies.
    • Also keep in mind that if your " #~ "browser is configured to block pop-up windows, you will not be able to " #~ "receive any instant messages.
    " #~ msgstr "" #~ "
      \n" #~ "
    • Wenn Sie schon einen Benutzer bei %s haben, Benutzername und " #~ "Passwort eingeben und 'Anmelden' drücken.
    • \n" #~ "
    • Wenn Sie einen neuen Benutzer anlegen wollen, Benutzername und " #~ "Passwort eingeben und 'Neuer Benutzer' drücken.
    • \n" #~ "
    • Bitte melden Sie sich ordentlich ab, wenn Sie fertig sind.
    • \n" #~ "
    • Ihr Browser muss Frames und Cookies unterstützen
    • \n" #~ "
    • Kurznachrichten könnten dem Popup-Blocker Ihres Browsers zum Opfer " #~ "fallen
    • \n" #~ "
    " #~ msgid "" #~ "enter your user name and password and click "Log in."
  • If " #~ "you are a new user, enter the name and password you wish to use, and " #~ "click "New User."
  • Please log off properly when finished. " #~ "
  • You must use a browser that supports frames and cookies.
  • Also keep in mind that if your browser is configured to block pop-" #~ "up windows, you will not be able to receive any instant messages." #~ msgstr "" #~ "
      \n" #~ "
    • Wenn Sie schon einen Benutzer bei %s haben, Benutzername und " #~ "Passwort eingeben und 'Anmelden' drücken.
    • \n" #~ "
    • Wenn Sie einen neuen Benutzer anlegen wollen, Benutzername und " #~ "Passwort eingeben und 'Neuer Benutzer' drücken.
    • \n" #~ "
    • Bitte melden Sie sich ordentlich ab, wenn Sie fertig sind.
    • \n" #~ "
    • Ihr Browser muss Frames und Cookies unterstützen
    • \n" #~ "
    • Kurznachrichten könnten dem Popup-Blocker Ihres Browsers zum Opfer " #~ "fallen
    • \n" #~ "
    " #~ msgid "" #~ "This message contains calendaring/scheduling information, but support " #~ "for calendars is not available on this particular system. Please ask " #~ "your system administrator to install a new version of the Citadel web " #~ "service with calendaring enabled.
    \n" #~ msgstr "" #~ "Diese Nachricht enthält Kalender/Datums Informationen, aber die " #~ "Unterstützung für Kalender ist auf diesem System nicht verfügbar. Bitte " #~ "fragen Sie ihren System-Administrator nach einer Version des Citadel-Web-" #~ "Services mit unterstützung für Kalender.
    \n" #~ msgid "" #~ "Cannot display calendar item. You are seeing this error because your " #~ "WebCit service has not been installed with calendar support. Please " #~ "contact your system administrator.
    \n" #~ msgstr "" #~ "Kann Kalender-Element nicht darstellen. Sie sehen diesen Fehler, weil " #~ "ihr Citadel System ohne Kalenderunterstützung installiert wurde. Bitte " #~ "wenden Sie sich an Ihren Systemadministrator.
    \n" #~ msgid "" #~ "Cannot display to-do item. You are seeing this error because your " #~ "WebCit service has not been installed with calendar support. Please " #~ "contact your system administrator.
    \n" #~ msgstr "" #~ "Kann To-Do Datum nicht darstellen. Sie sehen diesen Fehler, weil ihr " #~ "Citadel System ohne Kalenderunterstützung installiert wurde. Bitte wenden " #~ "Sie sich an Ihren Systemadministrator.
    \n" webcit-9.01-dfsg/po/webcit/el.po000066400000000000000000003763561254743150300165240ustar00rootroot00000000000000# Greek translation for citadel # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the citadel package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: citadel\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2010-10-27 09:24+0000\n" "Last-Translator: Impetus \n" "Language-Team: Greek \n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-10-28 05:00+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "άγνωστη διαθεσιμότητα" #: ../../availability.c:169 msgid "free" msgstr "ελεÏθεÏο" #: ../../availability.c:179 msgid "BUSY" msgstr "ΑΠΑΣΧΟΛΗΜΕÎΟΣ" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "" #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "" #: ../../graphics.c:106 msgid "your photo" msgstr "" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "" #: ../../tasks.c:93 msgid "Completed?" msgstr "" #: ../../tasks.c:95 msgid "Name of task" msgstr "" #: ../../tasks.c:97 msgid "Date due" msgstr "" #: ../../tasks.c:99 msgid "Category" msgstr "" #: ../../tasks.c:101 msgid "Show All" msgstr "" #: ../../tasks.c:224 msgid "Edit task" msgstr "" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "ΠεÏίληψη:" #: ../../tasks.c:259 msgid "Start date:" msgstr "" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "" #: ../../tasks.c:289 msgid "Due date:" msgstr "" #: ../../tasks.c:318 msgid "Completed:" msgstr "" #: ../../tasks.c:329 msgid "Category:" msgstr "" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "ΠεÏιγÏαφή" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "ΑκÏÏωση" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, c-format msgid "%d comments" msgstr "" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "νεότεÏες δημοσιεÏσεις" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "μεγάλα θέσεις" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "" #: ../../sysmsgs.c:103 msgid " has been saved." msgstr "" #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "" #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "" #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "" #: ../../openid.c:47 msgid "(delete)" msgstr "" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "" #: ../../openid.c:58 msgid "Attach" msgstr "" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "" #: ../../summary.c:128 msgid "(None)" msgstr "" #: ../../summary.c:184 msgid "(Nothing)" msgstr "" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "Πήγαινε στη σελίδα: " #: ../../bbsview_renderer.c:354 msgid "First" msgstr "ΑÏχή" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "Τέλος" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "ΔιαγÏαφή" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "Îέος χÏήστης" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "ΠÏοβληματικός χÏήστης" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "Τοπικός χÏήστης" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "ΧÏήστης δικτÏου" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "ΚÏÏιος χÏήστης" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "" #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "Επιβεβαιώστε νέους χÏήστες" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "Δεν υπάÏχουν χÏήστες για επιβεβαίωση αυτή τη στιγμή" #: ../../auth.c:617 msgid "very weak" msgstr "Ï€Î¿Î»Ï Î±Î´Ïναμο" #: ../../auth.c:620 msgid "weak" msgstr "ασθενές" #: ../../auth.c:623 msgid "ok" msgstr "ok!" #: ../../auth.c:627 msgid "strong" msgstr "ισχυÏÏŒ" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "Επιλέξτε ομάδα διαχείÏησης για τον χÏήστη:" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "ΑκυÏώθηκε. Ο κωδικός Ï€Ïόσβασης δεν άλλαξε." #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "Δεν ταιÏιάζουν. Ο κωδικός Ï€Ïόσβασης δεν άλλαξε." #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "Δεν επιτÏέπεται κένο πεδίο στον κωδικό" #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "ΠÏόσκληση για συνάντηση" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "Δημοσίευση γεγονότος" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "Αυτό είναι άγνωστο στοιχείο για το ημεÏολόγιο." #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "Τοποθεσία" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "ΗμεÏομηνία" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "" #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "" "Αυτό το γεγονός έÏχεται σε αντίθεση με το '%s' το οποίο υπάÏχει ήδη στο " "ημεÏολόγιό σας." #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "ΕνημέÏωση:" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "ΑÎΤΙΘΕΣΗ" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "Πώς θα θέλατε να απαντήσετε σε αυτή την Ï€Ïόσκληση;" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "Αποδοχή" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "Αβέβαιος" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "ΆÏνηση" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "" "Πατήστε ΕνημέÏωση για να αποδεχτείτε αυτή την απάντηση και να " "ενημεÏώσετε το ημεÏολόγιό σας." #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "ΕνημέÏωση" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "" "ΥπήÏξε ένα σφάλμα κατά την εισαγωγή Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… στοιχείου στο ημεÏολόγιο." #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "" "Αποδεχτείκατε την Ï€Ïόσκληση σε συνάντηση και Ï€Ïοσθέθηκε στο ημεÏολόγιό σας." #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "" #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "ΑποÏÏίψατε την Ï€Ïόσκληση σε συνάντηση. Δεν εισήχθη στο ημεÏολόγιό σας." #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "Μια απάντηση στάλθηκε στον διαχειÏιστή της συνάντησης." #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "" #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "" #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "" #: ../../event.c:71 msgid "seconds" msgstr "" #: ../../event.c:72 msgid "minutes" msgstr "" #: ../../event.c:73 msgid "hours" msgstr "" #: ../../event.c:74 msgid "days" msgstr "" #: ../../event.c:75 msgid "weeks" msgstr "" #: ../../event.c:76 msgid "months" msgstr "" #: ../../event.c:77 msgid "years" msgstr "" #: ../../event.c:78 msgid "never" msgstr "" #: ../../event.c:82 msgid "first" msgstr "" #: ../../event.c:83 msgid "second" msgstr "" #: ../../event.c:84 msgid "third" msgstr "" #: ../../event.c:85 msgid "fourth" msgstr "" #: ../../event.c:86 msgid "fifth" msgstr "" #: ../../event.c:89 msgid "Event" msgstr "" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "" #: ../../event.c:168 msgid "Add or edit an event" msgstr "" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "" #: ../../event.c:222 msgid "Location" msgstr "" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "" #: ../../event.c:374 msgid "Organizer" msgstr "" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "" #: ../../event.c:397 msgid "Show time as:" msgstr "" #: ../../event.c:420 msgid "Free" msgstr "" #: ../../event.c:428 msgid "Busy" msgstr "" #: ../../event.c:445 msgid "(One per line)" msgstr "" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "" #: ../../event.c:518 msgid "Recurrence rule" msgstr "" #: ../../event.c:522 msgid "Repeats every" msgstr "" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "" #: ../../event.c:631 msgid "of the month" msgstr "" #: ../../event.c:660 msgid "every " msgstr "" #: ../../event.c:661 msgid "year on this date" msgstr "" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "" #: ../../event.c:717 msgid "Recurrence range" msgstr "" #: ../../event.c:725 msgid "No ending date" msgstr "" #: ../../event.c:732 msgid "Repeat this event" msgstr "" #: ../../event.c:735 msgid "times" msgstr "" #: ../../event.c:743 msgid "Repeat this event until " msgstr "" #: ../../event.c:771 msgid "Check attendee availability" msgstr "" #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "" #: ../../inetconf.c:126 msgid " has been deleted." msgstr "" #. added status message #: ../../inetconf.c:144 msgid " added." msgstr "" #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "" #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "" #: ../../listsub.c:38 ../../listsub.c:76 msgid "You need to specify the email address you'd like to subscribe with." msgstr "" #: ../../messages.c:73 msgid "ERROR:" msgstr "" #: ../../messages.c:91 msgid "Empty message" msgstr "" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "" #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "" #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "" #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "" #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "" #: ../../paging.c:29 msgid "Send instant message" msgstr "" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "" #: ../../paging.c:51 msgid "Enter message text:" msgstr "" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "" #: ../../paging.c:78 msgid "Message was not sent." msgstr "" #: ../../paging.c:89 msgid "Message has been sent to " msgstr "" #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "" #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "" #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "" #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "" #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "" #: ../../roomlist.c:105 msgid "My Folders" msgstr "" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "" #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "" #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "" #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "" #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "" #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "" #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "" #: ../../roomops.c:1363 msgid "Room list view" msgstr "" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "" #: ../../roomtokens.c:570 msgid "file" msgstr "" #: ../../roomtokens.c:572 msgid "files" msgstr "" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "" #: ../../roomviews.c:55 msgid "Address Book" msgstr "" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "" #: ../../roomviews.c:57 msgid "Task List" msgstr "" #: ../../roomviews.c:58 msgid "Notes List" msgstr "" #: ../../roomviews.c:59 msgid "Wiki" msgstr "" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "" #: ../../roomviews.c:61 msgid "Journal" msgstr "" #: ../../roomviews.c:62 msgid "Drafts" msgstr "" #: ../../roomviews.c:63 msgid "Blog" msgstr "" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "" #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "" #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "" #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "" #: ../../useredit.c:778 msgid "A new user has been created." msgstr "" #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "" #: ../../vcard_edit.c:438 msgid " (work)" msgstr "" #: ../../vcard_edit.c:440 msgid " (home)" msgstr "" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr "" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "" #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "" #: ../../vcard_edit.c:940 msgid "Error" msgstr "" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "" #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" "Αυτό το Ï€ÏόγÏαμμα ήταν αδÏνατο να συνδεθεί και να μείνει συνδεδεμένο με τον " "εξυπηÏετητή του Citadel. ΠαÏακαλώ ενημεÏώστε τον διαχειÏιστή του συστήματος " "για το συγκεκÏιμένο Ï€Ïόβλημα." #: ../../webcit.c:688 msgid "Read More..." msgstr "Διαβάστε πεÏισσότεÏα..." #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "" #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "" #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "" #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "" #: ../../wiki.c:143 msgid "Author" msgstr "" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "" #: ../../wiki.c:184 msgid "(revert)" msgstr "" #: ../../wiki.c:246 msgid "Page title" msgstr "" #: ../../fmt_date.c:306 msgid "Time format" msgstr "" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "" #: ../../calendar_view.c:750 msgid "Week" msgstr "" #: ../../calendar_view.c:752 msgid "Hours" msgstr "" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "" #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "" #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "" #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "" #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "" #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "" #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "" #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "" #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "" #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "" #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 msgid "System Administration Menu" msgstr "" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 msgid "Room Admin Menu" msgstr "" #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 msgid "Fallback smart hosts" msgstr "" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 msgid "RBL hosts" msgstr "" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 msgid "Masqueradable domains" msgstr "" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 #, fuzzy msgid "Network services" msgstr "ΧÏήστης δικτÏου" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "" #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "" #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "" #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "" #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "" #: ../../i18n_templatelist.c:95 msgid "Create new room" msgstr "" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "Έξοδος" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "Συνδεθείτε ξανά" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 msgid "If you select this option," msgstr "" #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 msgid "will disappear from your room list. Is this what you wish to do?" msgstr "" #: ../../i18n_templatelist.c:102 msgid "Zap this room" msgstr "" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "" #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 msgid "Click on any room to un-zap it and goto that room." msgstr "" #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "Αλλάξτε τον κωδικό Ï€Ïόσβασης" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "" #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 #, fuzzy msgid "Manage your OpenIDs" msgstr "Αλλάξτε τον κωδικό Ï€Ïόσβασης" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "" #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 #, fuzzy msgid "Enter room password:" msgstr "Εισάγετε νέο κωδικό Ï€Ïόσβασης:" #: ../../i18n_templatelist.c:144 #, fuzzy msgid "Go there" msgstr "Πήγαινε στη σελίδα: " #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "" #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 msgid "Push Email" msgstr "" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 msgid "Funambol server host (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 msgid "Funambol server port " msgstr "" #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 msgid "Funambol sync source" msgstr "" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 msgid "External pager tool (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 msgid "Sunday" msgstr "" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 msgid "Monday" msgstr "" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "" #: ../../i18n_templatelist.c:168 msgid "Change" msgstr "" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "" #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 #, fuzzy msgid "Password" msgstr "Αλλάξτε κωδικό Ï€Ïόσβασης" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 msgid "Number of logins" msgstr "" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 msgid "Messages submitted" msgstr "" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 msgid "Access level" msgstr "" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 msgid "User ID number" msgstr "" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 msgid "POP3 fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 msgid "POP3 fastest fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 msgid "Remote Sites:" msgstr "" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 msgid "Status:" msgstr "" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 msgid "Jobs waiting for further processing:" msgstr "" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 msgid "Message to your Users:" msgstr "" #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "" #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 msgid "General site configuration items" msgstr "" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 msgid "Node name" msgstr "" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 msgid "Telephone number" msgstr "" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 #, fuzzy msgid "Networked Room" msgstr "ΧÏήστης δικτÏου" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 msgid "Add a new node" msgstr "" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "" #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 msgid "Port number" msgstr "" #: ../../i18n_templatelist.c:241 msgid "Add node?" msgstr "" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 msgid "(kill)" msgstr "" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 msgid "Edit configuration" msgstr "" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 msgid "Edit address book entry" msgstr "" #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 msgid "Minutes" msgstr "" #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 #, fuzzy msgid "active" msgstr "Αβέβαιος" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 msgid "(Edit)" msgstr "" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "" #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "" #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "" #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 msgid "Add, change, delete user accounts" msgstr "" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 msgid "(hosts running the ClamAV clamd service)" msgstr "" #: ../../i18n_templatelist.c:270 msgid "Send" msgstr "" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 msgid "Restart Citadel" msgstr "" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 msgid "Post message" msgstr "" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "" #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 msgid "Delete this message?" msgstr "" #: ../../i18n_templatelist.c:300 msgid "Room Logo" msgstr "" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "" #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 msgid "Enter another command" msgstr "" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 msgid "Return to menu" msgstr "" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 msgid "Users currently on" msgstr "" #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 msgid "Click here to send an instant message to" msgstr "" #: ../../i18n_templatelist.c:308 msgid "Pictures in" msgstr "" #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 msgid "Edit or delete users" msgstr "" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 msgid "You need to be aide to view this." msgstr "" #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 msgid "Add users" msgstr "" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 msgid "Edit or Delete users" msgstr "" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "" #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 msgid "User list for " msgstr "" #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "" #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "" #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "" #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "" #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 msgid "Upload failed" msgstr "" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 msgid "Are you shure you want to delete {filename}?" msgstr "" #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 msgid "Remove" msgstr "" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "" #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 msgid "Perform journaling of email messages" msgstr "" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 msgid "Perform journaling of non-email messages" msgstr "" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "" #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 msgid "Remote host" msgstr "" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 msgid "Keep messages on server?" msgstr "" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 msgid "Interval" msgstr "" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "ΠÏοσθήκη" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "" #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 #, fuzzy msgid "New user: " msgstr "Îέος χÏήστης" #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "" #: ../../i18n_templatelist.c:426 msgid "Invite" msgstr "" #: ../../i18n_templatelist.c:427 #, fuzzy msgid "User" msgstr "Îέος χÏήστης" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 #, fuzzy msgid "Users" msgstr "Îέος χÏήστης" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 msgid "Addressbook Popup" msgstr "" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "" #: ../../i18n_templatelist.c:435 #, fuzzy msgid "Delete user" msgstr "ΔιαγÏαφή" #: ../../i18n_templatelist.c:436 msgid "Delete this user?" msgstr "" #: ../../i18n_templatelist.c:437 #, fuzzy msgid "Delete File" msgstr "ΔιαγÏαφή" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "which is already in your calendar." msgstr "" "Αυτό το γεγονός έÏχεται σε αντίθεση με το '%s' το οποίο υπάÏχει ήδη στο " "ημεÏολόγιό σας." #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "This event would conflict with" msgstr "" "Αυτό το γεγονός έÏχεται σε αντίθεση με το '%s' το οποίο υπάÏχει ήδη στο " "ημεÏολόγιό σας." #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "" #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "" #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "" #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "" #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 msgid "Zap (forget) this room" msgstr "" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "Zap duplicate messages" msgstr "" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 msgid "Next attempt" msgstr "" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "" #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 msgid "Powered by Citadel" msgstr "" #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "" #: ../../i18n_templatelist.c:507 msgid "Go to your email inbox" msgstr "" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "" #: ../../i18n_templatelist.c:509 msgid "Go to your personal calendar" msgstr "" #: ../../i18n_templatelist.c:511 msgid "Go to your personal address book" msgstr "" #: ../../i18n_templatelist.c:513 msgid "Go to your personal notes" msgstr "" #: ../../i18n_templatelist.c:515 msgid "Go to your personal task list" msgstr "" #: ../../i18n_templatelist.c:517 msgid "List all your accessible rooms" msgstr "" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "" #: ../../i18n_templatelist.c:526 msgid "Room and system administration functions" msgstr "" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 #, fuzzy msgid "Log in" msgstr "Συνδεθείτε ξανά" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "" #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "" #: ../../i18n_templatelist.c:545 msgid "Reset form" msgstr "" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "" #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "" #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 #, fuzzy msgid " to the " msgstr "Πήγαινε στη σελίδα: " #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 msgid " mailing list." msgstr "" #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "" #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 msgid "ERROR" msgstr "" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 msgid "from the" msgstr "" #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 msgid "mailing list." msgstr "" #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 msgid "Back..." msgstr "" #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 msgid "Confirmation successful!" msgstr "" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 msgid "Confirmation failed." msgstr "" #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "" #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 msgid "Name of list:" msgstr "" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 msgid "Your e-mail address:" msgstr "" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "" #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 msgid "One message at a time" msgstr "" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 msgid "Digest format" msgstr "" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 msgid "name of room: " msgstr "" #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "" #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 #, fuzzy msgid "Network shared room" msgstr "ΧÏήστης δικτÏου" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 #, fuzzy msgid "Room aide: " msgstr "Πήγαινε στη σελίδα: " #: ../../i18n_templatelist.c:611 msgid "Delete this entry?" msgstr "" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 msgid "Remote node name" msgstr "" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 msgid "Remote room name" msgstr "" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 #, fuzzy msgid "Actions" msgstr "Τοποθεσία" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 msgid "resend messages to this node" msgstr "" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "" #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "" #: ../../i18n_templatelist.c:633 msgid "Create new floor" msgstr "" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "" #: ../../i18n_templatelist.c:636 #, fuzzy msgid "Delete rule" msgstr "ΔιαγÏαφή" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 msgid "bytes" msgstr "" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "" #: ../../i18n_templatelist.c:679 #, fuzzy msgid "Change name" msgstr "Αλλάξτε κωδικό Ï€Ïόσβασης" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 msgid "Configure automatic expiry of old messages" msgstr "" #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "" #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "" #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 msgid "Default message expire policy for public rooms" msgstr "" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 msgid "Default message expire policy for private mailboxes" msgstr "" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 msgid "Same policy as public rooms" msgstr "" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "" #: ../../i18n_templatelist.c:700 msgid "Are you sure you want to delete this room?" msgstr "" #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 msgid "Set or change the icon for this rooms banner" msgstr "" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 msgid "Edit this rooms Info file" msgstr "" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 msgid "Detected host header is " msgstr "" #: ../../i18n_templatelist.c:709 msgid "Send command" msgstr "" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "" #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 msgid "Name of room to log pages" msgstr "" #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 msgid "Authentication mode" msgstr "" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 msgid "Self contained" msgstr "" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 msgid "Host based" msgstr "" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 msgid "Allow anonymous guest access" msgstr "" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 msgid "Master user name (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 #, fuzzy msgid "Master user password" msgstr "Εισάγετε νέο κωδικό Ï€Ïόσβασης:" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 #, fuzzy msgid "Initial access level for new users" msgstr "Επιλέξτε ομάδα διαχείÏησης για τον χÏήστη:" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "" #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "" #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 msgid "Add, change, or delete floors" msgstr "" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "" #: ../../i18n_templatelist.c:753 msgid "Delete this note?" msgstr "" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 #, fuzzy msgid "Logged in as" msgstr "Συνδεθείτε ξανά" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 msgid "Not logged in." msgstr "" #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "Θα Ï€Ïέπει να συνδεθείτε για να αποκτήσετε Ï€Ïόσβαση σε αυτήν τη σελίδα." #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "Îέος χÏήστης; ΕγγÏαφείτε τώÏα" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "" #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 msgid "Log in using Google" msgstr "" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 #, fuzzy msgid "Log in using Yahoo" msgstr "Συνδεθείτε ξανά" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 msgid "Log in using AOL or AIM" msgstr "" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "" #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "" #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 msgid "Restart Now" msgstr "" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 msgid "Configure Push Email" msgstr "" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 msgid "Notify Funambol server" msgstr "" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 msgid "Send a text message to..." msgstr "" #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "" #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "" #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "" #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "" #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "-1 to disable" msgstr "" #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 msgid "ManageSieve Port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 msgid "General" msgstr "" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 msgid "Settings" msgstr "" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 #, fuzzy msgid "Access" msgstr "Αποδοχή" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 msgid "Directory" msgstr "" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 msgid "List" msgstr "" #: ../../i18n_templatelist.c:847 msgid "Digest" msgstr "" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "" #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "" #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 msgid "Allow self-service subscribe/unsubscribe requests." msgstr "" #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "" #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 msgid "Set" msgstr "" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 #, fuzzy msgid "Summary page for " msgstr "ΠεÏίληψη:" #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 msgid "Who‘s online now" msgstr "" #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 msgid "running" msgstr "" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 msgid "with" msgstr "" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 msgid "and located in" msgstr "" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 msgid "Your system administrator is" msgstr "" #: ../../i18n_templatelist.c:874 msgid "Do you really want to kill this session?" msgstr "" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "" #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 msgid "Click on a name to read user info. Click on" msgstr "" #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 msgid "to send an instant message to that user." msgstr "" #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "" #: ../../i18n_templatelist.c:880 msgid "Share" msgstr "" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "Εισάγετε νέο κωδικό Ï€Ïόσβασης:" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "Εισάγετε το νέο κωδικό Ï€Ïόσβασης ξανά για επιβεβαίωση:" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "Αλλάξτε κωδικό Ï€Ïόσβασης" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "" #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 msgid "...with unread messages" msgstr "" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 msgid "oops! Back to " msgstr "" #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 #, fuzzy msgid "Summary page" msgstr "ΠεÏίληψη:" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 #, fuzzy msgid "(all registered users)" msgstr "Επιβεβαιώστε νέους χÏήστες" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 #, fuzzy msgid "New blog post" msgstr "νεότεÏες δημοσιεÏσεις" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 msgid "Save changes?" msgstr "" #, fuzzy #~ msgid "Network" #~ msgstr "ΧÏήστης δικτÏου" #, fuzzy #~ msgid "password" #~ msgstr "Αλλάξτε κωδικό Ï€Ïόσβασης" #~ msgid "Your password was not accepted." #~ msgstr "Ο κωδικός δεν ήταν αποδεκτός" webcit-9.01-dfsg/po/webcit/en_GB.po000066400000000000000000004474521254743150300170720ustar00rootroot00000000000000# translation of webcit.po to en_GB.po # Copyright (C) 2008 - 2009 The Citadel Project - http://www.citadel.org # This file is distributed under the revised BSD license # # WebCit messages for UK English # Copyright (C) 2005 David Given # This file is distributed under GPL v3 # msgid "" msgstr "" "Project-Id-Version: WebCit\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2012-09-19 15:57+0000\n" "Last-Translator: Biffaboy \n" "Language-Team: \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-09-20 04:31+0000\n" "X-Generator: Launchpad (build 15985)\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "availability unknown" #: ../../availability.c:169 msgid "free" msgstr "free" #: ../../availability.c:179 msgid "BUSY" msgstr "BUSY" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "Graphics upload has been cancelled." #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "You didn't upload a file." #: ../../graphics.c:106 msgid "your photo" msgstr "your photo" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "the icon for this room" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "the Greetingpicture for the login prompt" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "the Logoff banner picture" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "the icon for this floor" #: ../../tasks.c:93 msgid "Completed?" msgstr "Completed?" #: ../../tasks.c:95 msgid "Name of task" msgstr "Name of task" #: ../../tasks.c:97 msgid "Date due" msgstr "Date due" #: ../../tasks.c:99 msgid "Category" msgstr "Category" #: ../../tasks.c:101 msgid "Show All" msgstr "Show All" #: ../../tasks.c:224 msgid "Edit task" msgstr "Edit task" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "Summary:" #: ../../tasks.c:259 msgid "Start date:" msgstr "Start date:" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "No date" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "or" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "Time associated" #: ../../tasks.c:289 msgid "Due date:" msgstr "Due date:" #: ../../tasks.c:318 msgid "Completed:" msgstr "Completed:" #: ../../tasks.c:329 msgid "Category:" msgstr "Category:" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "Description:" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "Save" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "Delete" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "Cancel" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "Untitled Task" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, c-format msgid "%d comments" msgstr "%d comments" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "permalink" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "Newer posts" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "Older posts" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "Edit %s" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "Save changes" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "Cancelled. %s was not saved." #: ../../sysmsgs.c:103 msgid " has been saved." msgstr " has been saved." #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "Room info" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "Your bio" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "Hour: " #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "Minute: " #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "(status unknown)" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "(needs action)" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "(accepted)" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "(declined)" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "(tenative)" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "(delegated)" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "(completed)" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "(in process)" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "(none)" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "Manage Account/OpenID Associations" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "Do you really want to delete this OpenID?" #: ../../openid.c:47 msgid "(delete)" msgstr "(delete)" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "Add an OpenID: " #: ../../openid.c:58 msgid "Attach" msgstr "Attach" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "%s does not permit authentication via OpenID." #: ../../summary.c:128 msgid "(None)" msgstr "(None)" #: ../../summary.c:184 msgid "(Nothing)" msgstr "(Nothing)" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "Go to page: " #: ../../bbsview_renderer.c:354 msgid "First" msgstr "First" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "Last" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "realloc() error! couldn't get %d bytes: %s" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "Deleted" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "New User" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "Problem User" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "Local User" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "Network User" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "Preferred User" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "Admin" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "An error has occurred." #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "Validate new users" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "No users require validation at this time." #: ../../auth.c:617 msgid "very weak" msgstr "very weak" #: ../../auth.c:620 msgid "weak" msgstr "weak" #: ../../auth.c:623 msgid "ok" msgstr "ok" #: ../../auth.c:627 msgid "strong" msgstr "strong" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "Current access level: %d (%s)\n" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "Select access level for this user:" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "Cancelled. Password was not changed." #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "They don't match. Password was not changed." #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "Blank passwords are not allowed." #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "Meeting invitation" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "Attendee's reply to your invitation" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "Published event" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "This is an unknown type of calendar item." #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "Location:" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "Date:" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "Starting date/time:" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "Ending date/time:" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "Recurrence" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "This is a recurring event" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "Attendee:" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "This is an update of '%s' which is already in your calendar." #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "This event would conflict with '%s' which is already in your calendar." #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "Update:" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "CONFLICT:" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "How would you like to respond to this invitation?" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "Accept" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "Tentative" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "Decline" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "Click Update to accept this reply and update your calendar." #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "Update" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "Ignore" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "There was an error parsing this calendar item." #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "" "You have accepted this meeting invitation. It has been entered into your " "calendar." #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "" "You have declined this meeting invitation. It has not been entered " "into your calendar." #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "A reply has been sent to the meeting organiser." #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "Your calendar has been updated to reflect this RSVP." #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "Calendar day view begins at:" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "Calendar day view ends at:" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "Week starts on:" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "An error occurred while retrieving this file: %s\n" #: ../../event.c:71 msgid "seconds" msgstr "seconds" #: ../../event.c:72 msgid "minutes" msgstr "minutos" #: ../../event.c:73 msgid "hours" msgstr "hours" #: ../../event.c:74 msgid "days" msgstr "days" #: ../../event.c:75 msgid "weeks" msgstr "weeks" #: ../../event.c:76 msgid "months" msgstr "months" #: ../../event.c:77 msgid "years" msgstr "years" #: ../../event.c:78 msgid "never" msgstr "never" #: ../../event.c:82 msgid "first" msgstr "first" #: ../../event.c:83 msgid "second" msgstr "second" #: ../../event.c:84 msgid "third" msgstr "third" #: ../../event.c:85 msgid "fourth" msgstr "fourth" #: ../../event.c:86 msgid "fifth" msgstr "fifth" #: ../../event.c:89 msgid "Event" msgstr "Event" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "Attendees" #: ../../event.c:168 msgid "Add or edit an event" msgstr "Add or edit an event" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "Summary" #: ../../event.c:222 msgid "Location" msgstr "Location:" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "Start" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "All day event" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "End" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "Notes" #: ../../event.c:374 msgid "Organizer" msgstr "Organiser" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "(you are the organiser)" #: ../../event.c:397 msgid "Show time as:" msgstr "Show time as:" #: ../../event.c:420 msgid "Free" msgstr "Free" #: ../../event.c:428 msgid "Busy" msgstr "Busy" #: ../../event.c:445 msgid "(One per line)" msgstr "(One per line)" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "Contacts" #: ../../event.c:518 msgid "Recurrence rule" msgstr "Recurrence rule" #: ../../event.c:522 msgid "Repeats every" msgstr "Repeats every" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "on these weekdays:" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "on day %s%d%s of the month" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "on the " #: ../../event.c:631 msgid "of the month" msgstr "of the month" #: ../../event.c:660 msgid "every " msgstr "every " #: ../../event.c:661 msgid "year on this date" msgstr "year on this date" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "of" #: ../../event.c:717 msgid "Recurrence range" msgstr "Recurrence range" #: ../../event.c:725 msgid "No ending date" msgstr "No ending date" #: ../../event.c:732 msgid "Repeat this event" msgstr "Repeat this event" #: ../../event.c:735 msgid "times" msgstr "times" #: ../../event.c:743 msgid "Repeat this event until " msgstr "Repeat this event until " #: ../../event.c:771 msgid "Check attendee availability" msgstr "Check attendee availability" #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "Untitled Event" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "Iconbar Setting" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "Invalid Parameter" #: ../../inetconf.c:126 msgid " has been deleted." msgstr " has been deleted." #. added status message #: ../../inetconf.c:144 msgid " added." msgstr " added." #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "Higher access is required to access this function." #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "You need to specify the mailinglist to subscribe to." #: ../../listsub.c:38 ../../listsub.c:76 msgid "You need to specify the email address you'd like to subscribe with." msgstr "You need to specify the email address you'd like to subscribe with." #: ../../messages.c:73 msgid "ERROR:" msgstr "ERROR:" #: ../../messages.c:91 msgid "Empty message" msgstr "Empty message" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "Cancelled. Message was not posted." #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "Automatically cancelled because you have already saved this message." #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "Saved to Drafts failed: " #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "Refusing to post empty message.\n" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "Message has been saved to Drafts.\n" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "Message has been sent.\n" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "Message has been posted.\n" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "The message was not moved." #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "An error occurred while retrieving this part: %s/%s\n" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "An error occurred while retrieving this part: %s\n" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "Attach signature to email messages?" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "Use this signature:" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "Default character set for email headers:" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "Preferred email address" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "Preferred display name for email messages" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "Preferred display name for bulletin board posts" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "Mailbox view mode" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "Click on any note to edit it." #: ../../paging.c:29 msgid "Send instant message" msgstr "Send instant message" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "Send an instant message to: " #: ../../paging.c:51 msgid "Enter message text:" msgstr "Enter message text:" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "Send message" #: ../../paging.c:78 msgid "Message was not sent." msgstr "Message was not sent." #: ../../paging.c:89 msgid "Message has been sent to " msgstr "Message has been sent to " #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "Cancelled. No settings were changed." #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "Make this my start page" #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "This isn't allowed to become the start page." #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "You no longer have a start page selected." #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "Prefered startpage" #: ../../roomlist.c:105 msgid "My Folders" msgstr "My Folders" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "Cancelled. Changes were not saved." #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "Your changes have been saved." #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "User '%s' kicked out of room '%s'." #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "User '%s' invited to room '%s'." #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "Cancelled. No new room was created." #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "Floor has been deleted." #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "New floor has been created." #: ../../roomops.c:1363 msgid "Room list view" msgstr "Room list view" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "Show empty floors" #: ../../roomtokens.c:570 msgid "file" msgstr "file" #: ../../roomtokens.c:572 msgid "files" msgstr "files" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "Bulletin Board" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "Mail Folder" #: ../../roomviews.c:55 msgid "Address Book" msgstr "Address Book" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "Calendar" #: ../../roomviews.c:57 msgid "Task List" msgstr "Task List" #: ../../roomviews.c:58 msgid "Notes List" msgstr "Notes List" #: ../../roomviews.c:59 msgid "Wiki" msgstr "Wiki" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "Calendar List" #: ../../roomviews.c:61 msgid "Journal" msgstr "Journal" #: ../../roomviews.c:62 msgid "Drafts" msgstr "Drafts" #: ../../roomviews.c:63 msgid "Blog" msgstr "Blog" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "Received unexpected answer from Citadel server; bailing out." #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "Your system configuration has been updated." #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "First Attempt pending" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "" "An error occurred while trying to create or edit this address book entry." #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "Changes were not saved." #: ../../useredit.c:778 msgid "A new user has been created." msgstr "A new user has been created." #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "(no name)" #: ../../vcard_edit.c:438 msgid " (work)" msgstr " (work)" #: ../../vcard_edit.c:440 msgid " (home)" msgstr " (home)" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr " (mobile)" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "Address:" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "Telephone:" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "E-mail:" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "This address book is empty." #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "An internal error has occurred." #: ../../vcard_edit.c:940 msgid "Error" msgstr "Error" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "Edit contact information" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "Prefix" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "First Name" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "Middle Name" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "Last Name" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "Suffix" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "Display name:" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "Title:" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "Organisation:" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "PO box:" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "City:" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "County:" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "Post code:" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "Country:" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "Home telephone:" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "Work telephone:" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "Mobile telephone:" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "Fax number:" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "Primary Internet e-mail address" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "Internet e-mail aliases" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "Unable to enter the room to save your message" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "Aborting." #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "Could Not decode vcard photo\n" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "Authorisation Required" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." #: ../../webcit.c:688 msgid "Read More..." msgstr "Read More..." #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "'%s' is not a Wiki room." #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "There is no page called '%s' here." #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "Date" #: ../../wiki.c:143 msgid "Author" msgstr "Author" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "(show)" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "Current version" #: ../../wiki.c:184 msgid "(revert)" msgstr "(revert)" #: ../../wiki.c:246 msgid "Page title" msgstr "Page title" #: ../../fmt_date.c:306 msgid "Time format" msgstr "Time format" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "From" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "Starting date:" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "Ending date:" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "Date/time:" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "Notes:" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "previous" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "next" #: ../../calendar_view.c:750 msgid "Week" msgstr "Week" #: ../../calendar_view.c:752 msgid "Hours" msgstr "Hours" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "Subject" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "Ongoing event" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "edit" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "I don't know how to display " #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "(no subject)" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "The queue is empty." #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "You do not have permission to view this resource." #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "Customise the icon bar" #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "Display icons as:" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "pictures and text" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "pictures only" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "text only" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "Yes" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "No" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "Site logo" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "An icon describing this site" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "Your summary page" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "Mail (inbox)" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "A shortcut to your email Inbox" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "Your personal address book" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "Your personal notes" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "A shortcut to your personal calendar" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "Tasks" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "A shortcut to your personal task list" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "Rooms" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "Who is online?" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "Clicking this icon displays a list of all users currently logged in." #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "Chat" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "" "Clicking this icon enters real-time chat mode with other users in the same " "room." #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "Advanced options" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "Access to the complete menu of Citadel functions." #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "Citadel logo" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "Displays the 'Powered by Citadel' icon" #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 msgid "System Administration Menu" msgstr "System Administration Menu" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 msgid "Room Admin Menu" msgstr "Room Admin Menu" #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "Local host aliases" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "Directory domains" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "Smart hosts" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 msgid "Fallback smart hosts" msgstr "Fallback smart hosts" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "Notification hosts" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 msgid "RBL hosts" msgstr "RBL hosts" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "SpamAssassin hosts" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "ClamAV clamd hosts" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 msgid "Masqueradable domains" msgstr "Masqueradable domains" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" "Changes made on this screen will not take effect until you restart the " "Citadel server." #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 msgid "Network services" msgstr "Network services" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 #, fuzzy msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "Server IP address (0.0.0.0 for 'any')" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "XMPP (Jabber) client to server port (-1 to disable)" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "XMPP (Jabber) server to server port (-1 to disable)" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "Advanced server fine-tuning controls" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "Maximum message length" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "Server connection idle timeout (in seconds)" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "Network run frequency (in seconds)" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "Maximum concurrent sessions (0 = no limit)" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "Minimum number of worker threads" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "Maximum number of worker threads" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "Automatically delete committed database logs" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "Create a new room" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "Name of room: " #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "Resides on floor: " #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "Default view for room: " #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "Type of room:" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "Public (automatically appears to everyone)" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "Private - hidden (accessible to anyone who knows its name)" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "Private - require password: " #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "Private - invitation only" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "Personal (mailbox for you only)" #: ../../i18n_templatelist.c:95 #, fuzzy msgid "Create new room" msgstr "Create a new room" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "Log off" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "Log in again" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "Zap (forget/unsubscribe) the current room" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 msgid "If you select this option," msgstr "If you select this option," #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 msgid "will disappear from your room list. Is this what you wish to do?" msgstr "will disappear from your room list. Is this what you wish to do?" #: ../../i18n_templatelist.c:102 #, fuzzy msgid "Zap this room" msgstr "Skip this room" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "User name" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "Room" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "From host" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "Sender" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "Loading messages from server, please wait" #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "Open in new window" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "Move" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "Copy" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "Print" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "(send outbound mail to these hosts only when direct delivery fails)" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "Zapped (forgotten) rooms" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 msgid "Click on any room to un-zap it and goto that room." msgstr "Click on any room to un-zap it and goto that room." #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "Change your preferences and settings" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "Update your contact information" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "Change your password" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "Enter your 'bio'" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "Edit your online photo" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "View/edit server-side mail filters" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "Edit your push email settings" #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 msgid "Manage your OpenIDs" msgstr "Manage your OpenIDs" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "" #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "View" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "Download" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "Global Configuration" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "User account management" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "Shutdown Citadel" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "Rooms and Floors" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "Go to a hidden room" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "Enter room name:" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "Enter room password:" #: ../../i18n_templatelist.c:144 #, fuzzy msgid "Go there" msgstr "on the " #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "from " #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "to" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "CC:" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "Subject:" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 msgid "Push Email" msgstr "Push Email" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 msgid "Funambol server host (blank to disable)" msgstr "Funambol server host (blank to disable)" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 msgid "Funambol server port " msgstr "Funambol server port " #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 msgid "Funambol sync source" msgstr "Funambol sync source" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "Funambol auth details (user:pass)" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 msgid "External pager tool (blank to disable)" msgstr "External pager tool (blank to disable)" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "Tree (folders) view" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "Table (rooms) view" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "12 hour (am/pm)" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "24 hour" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 msgid "Sunday" msgstr "Sunday" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 msgid "Monday" msgstr "Monday" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "No signature" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "Full-functionality" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "Safe mode" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "" "Safe mode is less intensive on your web browser, but not as fully featured." #: ../../i18n_templatelist.c:168 msgid "Change" msgstr "" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "Preferences and settings" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "(URLS for notifications when users receive new mails; )" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "Basic commands" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "Your info" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "Advanced room commands" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "Edit user account: " #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "User name:" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "Password" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "Permission to send Internet mail" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 msgid "Number of logins" msgstr "Number of logins" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 msgid "Messages submitted" msgstr "Messages submitted" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 msgid "Access level" msgstr "Access level" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 msgid "User ID number" msgstr "User ID number" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "Date and time of last login" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "Auto-purge after this many days" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "POP3" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "POP3 listener port (-1 to disable)" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "POP3 over SSL port (-1 to disable)" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 msgid "POP3 fetch frequency in seconds" msgstr "POP3 fetch frequency in seconds" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 msgid "POP3 fastest fetch frequency in seconds" msgstr "POP3 fastest fetch frequency in seconds" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "View the outbound SMTP queue" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "Refresh this page" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 #, fuzzy msgid "Remote Sites:" msgstr "Remote host" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 #, fuzzy msgid "Status:" msgstr "County:" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 #, fuzzy msgid "Jobs waiting for further processing:" msgstr "continue processing" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 msgid "Message to your Users:" msgstr "Message to your Users:" #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "Administration" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "Configuration" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "Message expire policy" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "Access controls" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "Sharing" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "Mailing list service" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "Remote retrieval" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "" "Your icon bar has been updated. Please select any of its choices to continue." #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 msgid "General site configuration items" msgstr "General site configuration items" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "Change Login Logo" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "Change Logout Logo" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 msgid "Node name" msgstr "Node name" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "Fully qualified domain name" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "Human-readable node name" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 msgid "Telephone number" msgstr "Telephone number" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "Paginator prompt (for text mode clients)" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "Geographic location of this system" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "Name of system administrator" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "Default timezone for unzoned calendar items" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 #, fuzzy msgid "Networked Room" msgstr "Network shared room" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 msgid "Add a new node" msgstr "Add a new node" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "Shared secret" #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "Host or IP address" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 msgid "Port number" msgstr "Port number" #: ../../i18n_templatelist.c:241 #, fuzzy msgid "Add node?" msgstr "Add a new node" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 msgid "(kill)" msgstr "(kill)" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 #, fuzzy msgid "Edit configuration" msgstr "Site configuration" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 #, fuzzy msgid "Edit address book entry" msgstr "This address book is empty." #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 #, fuzzy msgid "Minutes" msgstr "minutos" #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 #, fuzzy msgid "active" msgstr "Tentative" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 msgid "(Edit)" msgstr "(Edit)" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "(Delete)" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "No new messages." #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "New start page" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "Your start page has been changed." #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "Post a comment" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "Confirm delete" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "Are you sure you want to delete " #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 msgid "Add, change, delete user accounts" msgstr "Add, change, delete user accounts" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 msgid "(hosts running the ClamAV clamd service)" msgstr "(hosts running the ClamAV clamd service)" #: ../../i18n_templatelist.c:270 #, fuzzy msgid "Send" msgstr "Sender" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 msgid "Restart Citadel" msgstr "Restart Citadel" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "from" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "Anonymous" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "in" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "To:" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "BCC:" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "Subject (optional):" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "--- forwarded message ---" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 msgid "Post message" msgstr "Post message" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "Save to Drafts" #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "Attachments:" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 #, fuzzy msgid "Delete this message?" msgstr "Delete this room" #: ../../i18n_templatelist.c:300 #, fuzzy msgid "Room Logo" msgstr "Room info" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "Search: " #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "Server command results" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 msgid "Enter another command" msgstr "Enter another command" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 msgid "Return to menu" msgstr "Return to menu" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 msgid "Users currently on" msgstr "Users currently on" #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "User profile" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 msgid "Click here to send an instant message to" msgstr "Click here to send an instant message to" #: ../../i18n_templatelist.c:308 #, fuzzy msgid "Pictures in" msgstr "pictures only" #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 msgid "Edit or delete users" msgstr "Edit or delete users" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 msgid "You need to be aide to view this." msgstr "You need to be aide to view this." #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 msgid "Add users" msgstr "Add users" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 msgid "Edit or Delete users" msgstr "Edit or Delete users" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "Please wait while the Citadel server is restarted... " #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 msgid "User list for " msgstr "User list for " #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "User Name" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "Number" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "Access Level" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "Last Login" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "Total Logins" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "Total Posts" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "Loading" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "Your OpenID" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "was successfully verified." #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "However, the user name" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "conflicts with an existing user." #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "Please specify the user name you would like to use." #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "Message expire policy for this room" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "Use the default policy for this floor" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "Never automatically expire messages" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "Expire by message count" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "Expire by message age" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "Number of messages or days: " #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "Message expire policy for this floor" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "Use the system default" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "Close window" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 #, fuzzy msgid "Upload failed" msgstr "Upload a file:" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 #, fuzzy msgid "Are you shure you want to delete {filename}?" msgstr "Are you sure you want to delete " #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "Attach file" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 msgid "Remove" msgstr "Remove" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "Indexing and Journaling" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "Warning: these facilities are resource intensive." #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "Enable full text index" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 msgid "Perform journaling of email messages" msgstr "Perform journaling of email messages" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 msgid "Perform journaling of non-email messages" msgstr "Perform journaling of non-email messages" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "Email destination of journalized messages" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "Files available for download in" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "Upload a file:" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "Upload" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "File Name" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "Size" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "Content" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "Description" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "new of" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "messages" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "Select page: " #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 msgid "Remote host" msgstr "Remote host" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 msgid "Keep messages on server?" msgstr "Keep messages on server?" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 msgid "Interval" msgstr "Interval" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "Add" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "Fetch the following RSS feeds and store them in this room:" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "Feed URL" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 msgid "New user: " msgstr "New user: " #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "(domains mapped with the Global Address Book)" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "List of Wiki pages" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "(remove)" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "Invite:" #: ../../i18n_templatelist.c:426 #, fuzzy msgid "Invite" msgstr "Invite:" #: ../../i18n_templatelist.c:427 #, fuzzy msgid "User" msgstr "Users" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 msgid "Users" msgstr "Users" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 #, fuzzy msgid "Addressbook Popup" msgstr "Address Book" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." #: ../../i18n_templatelist.c:435 #, fuzzy msgid "Delete user" msgstr "Delete scripts" #: ../../i18n_templatelist.c:436 #, fuzzy msgid "Delete this user?" msgstr "Delete this room" #: ../../i18n_templatelist.c:437 #, fuzzy msgid "Delete File" msgstr "Delete" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "Slideshow" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "(hosts running the SpamAssassin service)" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "which is already in your calendar." msgstr "This is an update of '%s' which is already in your calendar." #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "This event would conflict with" msgstr "This event would conflict with '%s' which is already in your calendar." #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "When new mail arrives: " #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "Leave it in my inbox without filtering" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "Filter it according to rules selected below" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "Filter it through a manually edited script (advanced users only)" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "Your incoming mail will not be filtered through any scripts." #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "Add rule" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "The currently active script is: " #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "Add or delete scripts" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "Configure the LDAP connector for Citadel" #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "Host name of LDAP server (blank to disable)" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "Port number of LDAP server (blank to disable)" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "Base DN" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "Bind DN" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "Password for bind DN" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "Edit or delete this room" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "Go to a 'hidden' room" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 msgid "Zap (forget) this room" msgstr "Zap (forget) this room" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "List all forgotten rooms" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 #, fuzzy msgid "Zap duplicate messages" msgstr "Read new messages" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "Message ID" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "Date/time submitted" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 msgid "Next attempt" msgstr "Next attempt" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "Recipients" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "Reading #" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "oldest to newest" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "newest to oldest" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "Edit" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "Reply" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "ReplyQuoted" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "ReplyAll" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "Forward" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "Headers" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "Edit site-wide configuration" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "Domain names and Internet mail configuration" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "Configure replication with other Citadel servers" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 #, fuzzy msgid "Powered by Citadel" msgstr "Displays the 'Powered by Citadel' icon" #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "Language:" #: ../../i18n_templatelist.c:507 #, fuzzy msgid "Go to your email inbox" msgstr "A shortcut to your email Inbox" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "Mail" #: ../../i18n_templatelist.c:509 #, fuzzy msgid "Go to your personal calendar" msgstr "A shortcut to your personal calendar" #: ../../i18n_templatelist.c:511 #, fuzzy msgid "Go to your personal address book" msgstr "Your personal address book" #: ../../i18n_templatelist.c:513 #, fuzzy msgid "Go to your personal notes" msgstr "Your personal notes" #: ../../i18n_templatelist.c:515 #, fuzzy msgid "Go to your personal task list" msgstr "A shortcut to your personal task list" #: ../../i18n_templatelist.c:517 #, fuzzy msgid "List all your accessible rooms" msgstr "List all forgotten rooms" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "Online users" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "Advanced" #: ../../i18n_templatelist.c:526 #, fuzzy msgid "Room and system administration functions" msgstr "Your system administrator is" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "customise this menu" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "Log in" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "switch to room list" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "switch to menu" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "My folders" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "IMAP listener port (-1 to disable)" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "IMAP over SSL port (-1 to disable)" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "Keep original from headers in IMAP" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "Image upload" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "You can upload an image directly from your computer" #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "Please select a file to upload:" #: ../../i18n_templatelist.c:545 #, fuzzy msgid "Reset form" msgstr "Digest format" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "List subscription" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "List subscribe/unsubscribe" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "Confirmation request sent" #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "You are subscribing " #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 msgid " to the " msgstr " to the " #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 msgid " mailing list." msgstr " mailing list." #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "Go back..." #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 msgid "ERROR" msgstr "ERROR" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "You are unsubscribing" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 msgid "from the" msgstr "from the" #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 msgid "mailing list." msgstr "mailing list." #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 msgid "Back..." msgstr "Back..." #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 msgid "Confirmation successful!" msgstr "Confirmation successful!" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 msgid "Confirmation failed." msgstr "Confirmation failed." #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "This could mean one of two things:" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "The error returned by the server was: " #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 msgid "Name of list:" msgstr "Name of list:" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 msgid "Your e-mail address:" msgstr "Your e-mail address:" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "(If subscribing) preferred format: " #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 msgid "One message at a time" msgstr "One message at a time" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 msgid "Digest format" msgstr "Digest format" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 msgid "name of room: " msgstr "name of room: " #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "If private, cause current users to forget room" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "Preferred users only" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "Read-only room" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "All users allowed to post may also delete messages" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "File directory room" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "Directory name: " #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "Uploading allowed" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "Downloading allowed" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "Visible directory" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 msgid "Network shared room" msgstr "Network shared room" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "Permanent (does not auto-purge)" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "Subject Required (Force users to specify a message subject)" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "Anonymous messages" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "No anonymous messages" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "All messages are anonymous" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "Prompt user when entering messages" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 msgid "Room aide: " msgstr "Room aide: " #: ../../i18n_templatelist.c:611 #, fuzzy msgid "Delete this entry?" msgstr "Delete this room" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "Not shared with" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "Shared with" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 msgid "Remote node name" msgstr "Remote node name" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 msgid "Remote room name" msgstr "Remote room name" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "Actions" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 #, fuzzy msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well. " "
  • If the remote room name is blank, it is assumed that the room name is " "identical on the remote node.
  • If the remote room name is different, the " "remote node must also configure the name of the room here." #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 #, fuzzy msgid "resend messages to this node" msgstr "Keep messages on server?" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "Add/change/delete floors" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "Floor number" #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "Floor name" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "Number of rooms" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "Floor CSS" #: ../../i18n_templatelist.c:633 #, fuzzy msgid "Create new floor" msgstr "Create a new room" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "" #: ../../i18n_templatelist.c:636 #, fuzzy msgid "Delete rule" msgstr "Delete" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "If" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "To or Cc" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "Reply-to" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "Resent-From" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "Resent-To" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "Envelope From" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "Envelope To" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "X-Mailer" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "X-Spam-Flag" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "X-Spam-Status" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "List-ID" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "Message size" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "All" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "contains" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "does not contain" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "is" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "is not" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "matches" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "does not match" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "(All messages)" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "is larger than" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "is smaller than" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 msgid "bytes" msgstr "bytes" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "Keep" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "Discard silently" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "Reject" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "Move message to" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "Forward to" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "Vacation" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "Message:" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "and then" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "continue processing" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "stop" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "(domains for which this host receives mail)" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "Network configuration" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "Currently configured nodes" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "(delete floor)" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "(edit graphic)" #: ../../i18n_templatelist.c:679 #, fuzzy msgid "Change name" msgstr "Change room name" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 msgid "Configure automatic expiry of old messages" msgstr "Configure automatic expiry of old messages" #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "These settings may be overridden on a per-floor or per-room basis." #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "Hour to run database auto-purge" #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 msgid "Default message expire policy for public rooms" msgstr "Default message expire policy for public rooms" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 msgid "Default message expire policy for private mailboxes" msgstr "Default message expire policy for private mailboxes" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 msgid "Same policy as public rooms" msgstr "Same policy as public rooms" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "Default user purge time (days)" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "Default room purge time (days)" #: ../../i18n_templatelist.c:700 #, fuzzy msgid "Are you sure you want to delete this room?" msgstr "Are you sure you want to delete " #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "Delete this room" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 msgid "Set or change the icon for this rooms banner" msgstr "Set or change the icon for this rooms banner" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 msgid "Edit this rooms Info file" msgstr "Edit this rooms Info file" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "Enter a server command" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "Enter command:" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "Command input (if requesting SEND_LISTING transfer mode):" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 msgid "Detected host header is " msgstr "Detected host header is " #: ../../i18n_templatelist.c:709 #, fuzzy msgid "Send command" msgstr "Enter command:" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "(hosts running a Realtime Blackhole List)" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "Access controls and site policy settings" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "Allow aides to zap (forget) rooms" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "Quarantine messages from problem users" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "Name of quarantine room" #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 msgid "Name of room to log pages" msgstr "Name of room to log pages" #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 msgid "Authentication mode" msgstr "Authentication mode" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 msgid "Self contained" msgstr "Self contained" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 msgid "Host based" msgstr "Host based" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "LDAP (RFC2307)" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "LDAP (Active Directory)" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 msgid "Allow anonymous guest access" msgstr "Allow anonymous guest access" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 msgid "Master user name (blank to disable)" msgstr "Master user name (blank to disable)" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 msgid "Master user password" msgstr "Master user password" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 msgid "Initial access level for new users" msgstr "Initial access level for new users" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "Access level required to create rooms" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "Automatically grant room-aide status to users who create private rooms" #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "Automatically grant room-aide status to users who create BLOG rooms" #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "Restrict access to Internet mail" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "Disable self-service user account creation" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "Hint: do not select both!" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "Require registration for new users" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 msgid "Add, change, or delete floors" msgstr "Add, change, or delete floors" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "View as:" #: ../../i18n_templatelist.c:753 #, fuzzy msgid "Delete this note?" msgstr "Delete this room" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 msgid "Logged in as" msgstr "Logged in as" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 msgid "Not logged in." msgstr "Not logged in." #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "You must be logged in to access this page." #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "Log in using a user name and password" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "Password" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "New user? Register now" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "" "enter the name and password you wish to use, and click "New User." " #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "Log in using OpenID" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "OpenID URL:" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 msgid "Log in using Google" msgstr "Log in using Google" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 msgid "Log in using Yahoo" msgstr "Log in using Yahoo" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 msgid "Log in using AOL or AIM" msgstr "Log in using AOL or AIM" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "Enter your AOL or AIM screen name:" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "Please wait" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "Add a new script" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "Script name: " #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "Edit scripts" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "Return to the script editing screen" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "Delete scripts" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "" "To delete an existing script, select the script name from the list and click " "'Delete'." #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 msgid "Restart Now" msgstr "Restart Now" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "Restart after paging users" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "Restart when all users are idle" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 msgid "Configure Push Email" msgstr "Configure Push Email" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "Push email and SMS settings" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 msgid "Notify Funambol server" msgstr "Notify Funambol server" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 msgid "Send a text message to..." msgstr "Send a text message to..." #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "Use custom notification scheme configured by your Admin" #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "Don‘t send any notifications" #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "powered by" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "SMTP MTA port (-1 to disable)" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "SMTP MSA port (-1 to disable)" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "SMTP over SSL port (-1 to disable)" #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "Perform RBL checks upon connect instead of after RCPT" #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "Flag message as spam, instead of rejecting it" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "Allow unauthenticated SMTP clients to spoof this sites domains" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "Correct forged From: lines during authenticated SMTP" #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "Postfix TCP Dictionary Port" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "-1 to disable" msgstr "-1 to disable" #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 msgid "ManageSieve Port (-1 to disable)" msgstr "ManageSieve Port (-1 to disable)" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "Site configuration" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 msgid "General" msgstr "General" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 #, fuzzy msgid "Settings" msgstr "Iconbar Setting" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "Pop3" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "Indexing/Journaling" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 msgid "Access" msgstr "Access" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 msgid "Directory" msgstr "Directory" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "Auto-purger" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 #, fuzzy msgid "List" msgstr "List-ID" #: ../../i18n_templatelist.c:847 #, fuzzy msgid "Digest" msgstr "Digest format" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "Add recipients from Contacts or other address books" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "Allow non-subscribers to mail to this room." #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "Room post publication needs Admin permission." #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 msgid "Allow self-service subscribe/unsubscribe requests." msgstr "Allow self-service subscribe/unsubscribe requests." #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "The URL for subscribe/unsubscribe is: " #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 #, fuzzy msgid "Set" msgstr "Subject" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 msgid "Summary page for " msgstr "Summary page for " #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "Messages" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "Today on your calendar" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 msgid "Who‘s online now" msgstr "Who‘s online now" #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "About this server" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "You are connected to" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 msgid "running" msgstr "running" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 msgid "with" msgstr "with" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "server build" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 msgid "and located in" msgstr "and located in" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 msgid "Your system administrator is" msgstr "Your system administrator is" #: ../../i18n_templatelist.c:874 #, fuzzy msgid "Do you really want to kill this session?" msgstr "Do you really want to delete this OpenID?" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "Users currently on " #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 msgid "Click on a name to read user info. Click on" msgstr "Click on a name to read user info. Click on" #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 msgid "to send an instant message to that user." msgstr "to send an instant message to that user." #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "Old messages" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "New messages" #: ../../i18n_templatelist.c:880 #, fuzzy msgid "Share" msgstr "Sharing" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "(Domains as which users are allowed to masquerade)" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "Enter new password:" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "Enter it again to confirm:" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "Change password" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "Edit your session display" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "Room name:" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "Change room name" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "Host name:" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "Change host name" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "Change user name" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "History of edits for this page" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "Confirm move of message" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "Move this message to:" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "Originaly posted in: " #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "List known rooms" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "Where can I go from here?" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "Goto next room" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 msgid "...with unread messages" msgstr "...with unread messages" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "Skip to next room" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "(come back here later)" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "Ungoto" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 msgid "oops! Back to " msgstr "oops! Back to " #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "Read new messages" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "...in this room" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "Read all messages" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "...old and new" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "Enter a message" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "(post in this room)" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "File library" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "(List files available for download)" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 msgid "Summary page" msgstr "Summary page" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "Summary of my account" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "User list" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 msgid "(all registered users)" msgstr "(all registered users)" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "Bye!" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "(if present, forward all outbound mail to one of these hosts)" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "View contacts" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "Add new contact" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "Day view" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "Month view" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "Add new event" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "Calendar list" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "View tasks" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "Add new task" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "View notes" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "Add new note" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "Refresh message list" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "Write mail" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "Wiki home" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "Edit this page" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "History" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 msgid "New blog post" msgstr "New blog post" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "Skip this room" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 #, fuzzy msgid "Save changes?" msgstr "Save changes" #~ msgid "" #~ "You are subscribing %s to the %s mailing list. The " #~ "listserver has sent you an e-mail with one additional Web link for you to " #~ "click on to confirm your subscription. This extra step is for your " #~ "protection, as it prevents others from being able to subscribe you to " #~ "lists without your consent.

    Please click on the link which is " #~ "being e-mailed to you and your subscription will be confirmed.
    \n" #~ msgstr "" #~ "You are subscribing %s to the %s mailing list. The " #~ "listserver has sent you an e-mail with one additional Web link for you to " #~ "click on to confirm your subscription. This extra step is for your " #~ "protection, as it prevents others from being able to subscribe you to " #~ "lists without your consent.

    Please click on the link which is " #~ "being e-mailed to you and your subscription will be confirmed.
    \n" #~ msgid "" #~ "WARNING: Failed to parse Server Config; do you run a to new citserver?" #~ msgstr "" #~ "WARNING: Failed to parse Server Config; do you run a to new citserver?" #~ msgid "There is no room called '%s'." #~ msgstr "There is no room called '%s'." #~ msgid "Network" #~ msgstr "Network" #~ msgid "Tuning" #~ msgstr "Tuning" #~ msgid "Instantly expunge deleted messages in IMAP" #~ msgstr "Instantly expunge deleted messages in IMAP" webcit-9.01-dfsg/po/webcit/es.po000066400000000000000000004725531254743150300165270ustar00rootroot00000000000000# translation of webcit.po to es_ES.po # Copyright (C) 2008 - 2009 The Citadel Project - http://www.citadel.org # Gabriel C. Huertas # Carlos Zayas Guggiari # # Spanish translation # Copyright (C) 2005 - 2009 By Gabriel C. Huertas # This file is distributed under the GNU General Public License; # either Version 2 or # msgid "" msgstr "" "Project-Id-Version: WebCit\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2013-05-03 18:39+0000\n" "Last-Translator: Carlos Zayas Guggiari \n" "Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2013-05-04 05:10+0000\n" "X-Generator: Launchpad (build 16598)\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "disponibilidad desconocida" #: ../../availability.c:169 msgid "free" msgstr "libre" #: ../../availability.c:179 msgid "BUSY" msgstr "OCUPADO" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "Carga de gafico cancelada." #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "No subiste ningún fichero." #: ../../graphics.c:106 msgid "your photo" msgstr "tu foto" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "el icono par esta sala" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "la imagen de Saludo para el indicador de entrada" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "la imagen de la bandera de cierre de sessión" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "el icono para este nivel" #: ../../tasks.c:93 msgid "Completed?" msgstr "¿Terminado?" #: ../../tasks.c:95 msgid "Name of task" msgstr "Nombre de la tarea" #: ../../tasks.c:97 msgid "Date due" msgstr "Fecha coclusión" #: ../../tasks.c:99 msgid "Category" msgstr "Categoría" #: ../../tasks.c:101 msgid "Show All" msgstr "Mostrar Todo" #: ../../tasks.c:224 msgid "Edit task" msgstr "Editar tarea" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "Sumario" #: ../../tasks.c:259 msgid "Start date:" msgstr "Fecha de inicio" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "Sin fecha" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "o" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "Tiempo asociado" #: ../../tasks.c:289 msgid "Due date:" msgstr "Fecha finalización" #: ../../tasks.c:318 msgid "Completed:" msgstr "Completado:" #: ../../tasks.c:329 msgid "Category:" msgstr "Categoría:" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "Descripción:" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "Guardar" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "Eliminar" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "Cancelar" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "Tarea sin título" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, c-format msgid "%d comments" msgstr "%d comentarios" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "Enlace permanente" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "los nuevos puestos de trabajo" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "las entradas más antiguas" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "Editar %s" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" "Introducir %s abajo. El texto se reformateará según ancho de pantalla del " "lector. To defeat the formatting, indent a line at least one space." #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "Salvar cambios" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "Cancelado %s no se salvó" #: ../../sysmsgs.c:103 msgid " has been saved." msgstr " a sido guardado." #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "Información de sala" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "Tu biografía" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "Hora " #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "Minuto " #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "(estado desconocido)" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "(requiere actuación)" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "(aceptado)" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "(declinado)" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "(tentativo)" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "(delegado)" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "(completado)" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "(en proceso)" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "(ninguno)" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "Administrar Asociación Cuenta/OpenID" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "Realmente quiere borrar este OpenID?" #: ../../openid.c:47 msgid "(delete)" msgstr "(eliminar)" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "Agregar un OpenID: " #: ../../openid.c:58 msgid "Attach" msgstr "Adjuntar" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "%s no permite autenticación vía OpenID." #: ../../summary.c:128 msgid "(None)" msgstr "(Ninguno)" #: ../../summary.c:184 msgid "(Nothing)" msgstr "(Nada)" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "Ir a la página: " #: ../../bbsview_renderer.c:354 msgid "First" msgstr "Primera" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "Última" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "¡realloc() error! no se pudieron conseguir %d bytes: %s" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "Borrado" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "Nuevo Usuario" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "Usuario Problemático" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "Usuario Local" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "Usuario de la red" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "Usuario Preferente" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "Administrador" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "Se produjo un error" #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "Validación de nuevos usuarios" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "Ningún usuario requiere validación por el momento" #: ../../auth.c:617 msgid "very weak" msgstr "muy débil" #: ../../auth.c:620 msgid "weak" msgstr "débil" #: ../../auth.c:623 msgid "ok" msgstr "correcto" #: ../../auth.c:627 msgid "strong" msgstr "fuerte" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "Nivel actual de acceso: %d (%s)\n" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "Seleccione el nivel de acceso para este usuario:" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "Cancelado. No se cambió la contraseña." #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "No cuadran. La contraseña no se cambia." #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "No se permiten contraseñas en blanco" #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "Invitación a reunión" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "Respuesta en atención a la invitación" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "Evento publicado" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "Este es un elemento de calendario desconocido." #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "Localización" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "Fecha" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "Fecha/hora de comienzo:" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "Fecha/hora de finalización:" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "Recurrencia" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "Este es un evento recurrente" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "Attn.:" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "Esta es una actualizaciñon de '%s' que está ya en su calendario." #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "" "Este evento entrará en conflicto con '%s' que está ya en su calendario." #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "Actualizar:" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "CONFLICTO" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "¿Como le gustaría responder a esta invitación?" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "Aceptar" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "Tentativa" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "Declinar" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "" "Pulse Actualizar para aceptar esta respuesta y actualizar su " "calendario." #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "Actualizar" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "Ignorar" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "Se produjo un error al pasar este elemento de calendario." #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "Aceptaste la convocatoria de reunión. Se ha anotado en tu calendario" #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "" "Aceptaste tentativamente la convocatoria de reunión. Se anotó'a lápiz' en tu " "calendario" #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "" "Declinaste la convocatoria de reunión. No se anotó en tu calendario" #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "Se envió una respuesta al organizador de la reunión." #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "Su calendario se actualizó para reflegar este RSVP." #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "Eligió ignorar este RSVP. Su calendario no se actualizó" #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "La visualización del calendario comienza por el dia:" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "Los dias mostrados del calendario finalizan en:" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "La semana comienza el día:" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "Un error ocurrió mientras se obtenía este archivo: %s\n" #: ../../event.c:71 msgid "seconds" msgstr "segundos" #: ../../event.c:72 msgid "minutes" msgstr "minutos" #: ../../event.c:73 msgid "hours" msgstr "horas" #: ../../event.c:74 msgid "days" msgstr "días" #: ../../event.c:75 msgid "weeks" msgstr "semanas" #: ../../event.c:76 msgid "months" msgstr "meses" #: ../../event.c:77 msgid "years" msgstr "años" #: ../../event.c:78 msgid "never" msgstr "nunca" #: ../../event.c:82 msgid "first" msgstr "primero" #: ../../event.c:83 msgid "second" msgstr "segundo" #: ../../event.c:84 msgid "third" msgstr "tercero" #: ../../event.c:85 msgid "fourth" msgstr "cuarto" #: ../../event.c:86 msgid "fifth" msgstr "quinto" #: ../../event.c:89 msgid "Event" msgstr "Evento" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "Attn." #: ../../event.c:168 msgid "Add or edit an event" msgstr "Añadir o editar un evento" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "Sumario" #: ../../event.c:222 msgid "Location" msgstr "Localización" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "Comienzo" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "Todos los eventos del día" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "Fin" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "Notas" #: ../../event.c:374 msgid "Organizer" msgstr "Organizador" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "(tu eres el organizador)" #: ../../event.c:397 msgid "Show time as:" msgstr "Mostrar hora como:" #: ../../event.c:420 msgid "Free" msgstr "Libre" #: ../../event.c:428 msgid "Busy" msgstr "Ocupado" #: ../../event.c:445 msgid "(One per line)" msgstr "(Uno por línea)" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "Contactos" #: ../../event.c:518 msgid "Recurrence rule" msgstr "Regla de recuerrencia" #: ../../event.c:522 msgid "Repeats every" msgstr "Se repite cada" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "en estos días laborables:" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "en días %s%d%s de el mes" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "en el " #: ../../event.c:631 msgid "of the month" msgstr "del mes" #: ../../event.c:660 msgid "every " msgstr "cada " #: ../../event.c:661 msgid "year on this date" msgstr "año de esta fecha" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "de" #: ../../event.c:717 msgid "Recurrence range" msgstr "Rango recurrente" #: ../../event.c:725 msgid "No ending date" msgstr "Sin fecha de finalización" #: ../../event.c:732 msgid "Repeat this event" msgstr "Repetir este evento" #: ../../event.c:735 msgid "times" msgstr "veces" #: ../../event.c:743 msgid "Repeat this event until " msgstr "Repetir este evento hasta " #: ../../event.c:771 msgid "Check attendee availability" msgstr "Comprobar posibilidad de atender" #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "Evento sin título" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "Configuración de barra de iconos" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "Parámetro inválido" #: ../../inetconf.c:126 msgid " has been deleted." msgstr " ha sido borrado" #. added status message #: ../../inetconf.c:144 msgid " added." msgstr " agregado" #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "" "Para acceder a esta funcionalidad, se necesita tener un mayor nivel de " "acceso." #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "Necesita especificar la lista de correo a suscribirse" #: ../../listsub.c:38 ../../listsub.c:76 msgid "You need to specify the email address you'd like to subscribe with." msgstr "" "Necesita especificar la dirección de correo con la que desea suscribirse." #: ../../messages.c:73 msgid "ERROR:" msgstr "ERROR" #: ../../messages.c:91 msgid "Empty message" msgstr "Mensaje vacío" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "Cancelado. El mensaje no ha sido enviado." #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "Cancelado automáticamente porque ya habías salvado este mensaje." #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "Guardar a Borradores fallo: " #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "Se negó enviar mensaje vacío.\n" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "El mensaje ha sido guardado en Borradores.\n" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "El mensaje ha sido enviado.\n" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "El mensaje ha sido enviado.\n" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "No se movió el mensaje." #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "Un error ocurrió mientras se obtenía esta parte: %s/%s\n" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "Ocurrió un error mientras se recuperaba esta parte: %s\n" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "¿Añadir firma a el correo electrónico?" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "Usar esta firma:" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "Juego de caracteres por defecto para cabeceras de correo:" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "Dirección de correo preferida" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "Nombre preferido a mostrar para mensajes de correo" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "Nombre preferido a mostrar en envíos al tablero de mensajes" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "Modo de vista buzón" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "Pulse en cualquier nota para editarla" #: ../../paging.c:29 msgid "Send instant message" msgstr "Enviar mensaje instantáneo" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "Enviar un mensaje instantáneo a: " #: ../../paging.c:51 msgid "Enter message text:" msgstr "Introducir texto de mensaje:" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "Enviar mensaje" #: ../../paging.c:78 msgid "Message was not sent." msgstr "El mensaje no se envió." #: ../../paging.c:89 msgid "Message has been sent to " msgstr "El mensaje ha sido enviado a " #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "Cancelado. No se cambió la configuración." #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "Hacer de esta mi página de inicio" #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "Está no está permitida para ser la página de inicio." #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "Ya no tiene página de inicio seleccionada." #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "Página de inicio preferida" #: ../../roomlist.c:105 msgid "My Folders" msgstr "Mis carpetas" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "Cancelado. Los cambios no se salvaron" #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "Los cambios han sido salvados" #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "Usuario %s expulado de la sala %s." #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "Usuario %s invitado a la sala %s." #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "Cancelado. Ninguna sala nueva se creó." #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "El nivel fue borrado." #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "Un nuevo nivel ha sido creado." #: ../../roomops.c:1363 msgid "Room list view" msgstr "Ver listado de salas" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "Mostrrar pisos vacíos" #: ../../roomtokens.c:570 msgid "file" msgstr "archivo" #: ../../roomtokens.c:572 msgid "files" msgstr "archivos" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "Tablón de anuncios" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "Carpeta de Correo" #: ../../roomviews.c:55 msgid "Address Book" msgstr "Libreta de Direcciones" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "Calendario" #: ../../roomviews.c:57 msgid "Task List" msgstr "Lista de Tareas" #: ../../roomviews.c:58 msgid "Notes List" msgstr "Lista de Notas" #: ../../roomviews.c:59 msgid "Wiki" msgstr "Wiki" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "Lista de Calendario" #: ../../roomviews.c:61 msgid "Journal" msgstr "Diario" #: ../../roomviews.c:62 msgid "Drafts" msgstr "Borradores" #: ../../roomviews.c:63 msgid "Blog" msgstr "Blog" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" "Este servidor ya está sirviendo su número máximo de usuarios y no puede " "aceptar inicios de sesión adicionales en este momento. Por favor, inténtelo " "de nuevo más tarde o póngase en contacto con el administrador del sistema." #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "Respuesta inesperada desde el servidor Citadel; liberando operación." #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" "Estas conectado a un servidor Citadel, corriendo Citadel %d.%02d. \n" "Para poder correr esta versión de WebCit, también debes tener Citade %d.%02d " "o posterior.\n" "\n" "\n" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "Su confiración de sistema ha sido actualizada" #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "Primer Intento pendiente" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "" "Un error ocurrio mientras intentaba crear o editar esta entrada en la " "libreta de direcciones." #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "Los cambios no se salvaron" #: ../../useredit.c:778 msgid "A new user has been created." msgstr "Se creó un nuevo usuario" #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" "Está intentando crear un nuevo usuario denrtro de Citadel el cual está en " "modo de autenticación basado en anfitrión. En este modo, debe crear nuevos " "usuarios en el sistema anfitrión, no dentro de Citadel." #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "(sin nombre)" #: ../../vcard_edit.c:438 msgid " (work)" msgstr " (trabajo)" #: ../../vcard_edit.c:440 msgid " (home)" msgstr " (casa)" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr " (celular)" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "Dirección:" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "Teléfono:" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "Correo-e:" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "Esta libreta de direcciones está vacía." #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "Un error interno ocurrió." #: ../../vcard_edit.c:940 msgid "Error" msgstr "Error" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "Editar información de contacto" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "Prefijo" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "Primero" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "Medio" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "Apellido" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "Sufijo" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "Mostrar nombre:" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "Título:" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "Organización:" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "Aptdo. Correos" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "Ciudad" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "Estado:" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "Código postal" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "País" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "Teléfono de casa" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "Teléfono del trabajo" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "Teléfono móvil:" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "Número de fax:" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "Dirección de email primaria" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "Alias de email" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "Imposible entrar en la sala para guardar el mensaje" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "Abortando." #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "No se pudo descodificar vcard foto\n" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "Autorización requerida" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" "El recurso solicitado rquiere un nombre y contraseña de usuarios válidos. No " "podrás conectarte a: %s\n" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" "Este programa fue incapaz de conectarse o de permanecer conectado al " "servidor Citadel.Por favor, informe de este problema al administrador del " "sistema." #: ../../webcit.c:688 msgid "Read More..." msgstr "Leer más..." #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "'%s' no es una sala Wiki." #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "Aquí no existe ninguna página denominada '%s'." #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "" "Seleccione el enlace 'Editar esta página' en el banner de la sala si " "deseacrear esta página." #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "Fecha" #: ../../wiki.c:143 msgid "Author" msgstr "Autor" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "(mostrar)" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "Versión actual" #: ../../wiki.c:184 msgid "(revert)" msgstr "(revertir)" #: ../../wiki.c:246 msgid "Page title" msgstr "Título de página" #: ../../fmt_date.c:306 msgid "Time format" msgstr "Formato horario" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "De" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "Fecha de inicio:" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "Fecha de fin:" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "Fecha/hora:" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "Notas:" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "anterior" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "siguiente" #: ../../calendar_view.c:750 msgid "Week" msgstr "Semana" #: ../../calendar_view.c:752 msgid "Hours" msgstr "Horas" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "Asunto" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "Evento en curso" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "editar" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "No se como mostrarlo " #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "(sin asunto)" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "" #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "" #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "Personalizar la barra de iconos" #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "Mostrar iconos como:" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "imágenes y texto" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "sólo imágenes" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "sólo texto" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "" "Seleccione los iconos que le gustaría mostrar en la 'icon bar' menú a " "laizquierda de la pantalla" #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "Si" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "No" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "Logotipo del sitio" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "Un icono descriptor de este sitio" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "Tu página sumario" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "Correo (entrante)" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "Atajo a su buzón de correo" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "Su libreta de direcciones personal" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "Sus notas personales" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "Atajo a su calendario personal" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "Tareas" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "Atajo a su lista personal de tareas" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "Salas" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "" "Pulsando en este icono se mostrará una lista de todas las salas disponibles " "(o carpetas)" #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "¿Quién está en línea?" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "" "Pulsando en este icono se mostrará una lista de todos los usuarios " "actualmente conectados." #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "Chat" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "" "Pulsando en este icono se entra en el mmodo de chat a tiempor real con otros " "usuarios en la misma sala" #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "Opciones avanzadas" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "Acceso al menú completo de funciones de Citadel." #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "Logotipo de Citadel" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "Muestra el icono 'Powered by Citadel'" #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 msgid "System Administration Menu" msgstr "Menú de Administración de Sistema" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 #, fuzzy msgid "Room Admin Menu" msgstr "Administrador de la sala" #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "Alias del host local" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "Dominios de directorios" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "Smart hosts" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 #, fuzzy msgid "Fallback smart hosts" msgstr "Smart hosts" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 msgid "RBL hosts" msgstr "RBL hosts" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "SpamAssasin hosts" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 #, fuzzy msgid "Masqueradable domains" msgstr "Dominios de puerta de enlace" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" "Los cambios practicados en esta pantalla no surtirán efectos hasta que " "reinicies el Servidor Citadel" #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 msgid "Network services" msgstr "Servicios de red" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 #, fuzzy msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "Dirección de servidor IP (0.0.0.0 para 'cualquiera')" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 #, fuzzy msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "Puerto de escucha POP3 (-1 para desactivar)" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 #, fuzzy msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "Puerto de escucha POP3 (-1 para desactivar)" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "Control de afinación fina avanzada del servidor" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "Longitud máxima de mensajes" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "Tiempo máximo de espera de conexión (en segundos)" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "Frecuencia de marcha de red (en segundos)" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "Número máximo de sesiones concurrentes (0 = sin límite)" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "Número mínimo de temáticas funcionando" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "Número máximo de temáticas funcionando" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "Borrar automáticamente logs de la base de datos pasados" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "Crear nueva sala" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "Nombre de la sala: " #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "Nivel al que pertenece: " #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "Vista por defecto para esta sala " #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "Tipo de sala:" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "Pública (automáticamente aparece visible a todos)" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "Privada - oculta (accesible solo a quienes conocen su nombre)" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "Privada - se requiere contraseña: " #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "Privada - sólo mediante invitación" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "Personal (buzón de correo para tí solo)" #: ../../i18n_templatelist.c:95 msgid "Create new room" msgstr "Crear nueva sala" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "Log off (desconectar)" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "Iniciar acceso de nuevo" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "Zap (olvidar/cancela suscripción) a la sala actual" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 #, fuzzy msgid "If you select this option," msgstr "Editar o borrar esta sala" #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 #, fuzzy msgid "will disappear from your room list. Is this what you wish to do?" msgstr "" "Si selecciona esta opción, %s desaparecerá de su lista de salas. " "¿Es eso lo que desea?
    \n" #: ../../i18n_templatelist.c:102 msgid "Zap this room" msgstr "Zap a esta sala" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" "ADVERTENCIA: Tiene desactivado JavaScript en su navegador. Muchas funciones " "de este sistema no funcionaran apropiadamente." #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "Nombre de usuario" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "Sala" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "Desde el host" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "Remitente" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "" #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "Mover" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "Imprimir" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "Salas Zapped (olvidadas)" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 #, fuzzy msgid "Click on any room to un-zap it and goto that room." msgstr "Pulse en cualqueir sala para recordarla y entrar en ella.\n" #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" "Tienes uno o más mensajes instantáneos esperando, pero la ventanade " "mensajería instantánea no se pudo abrir. Esto ha sido causado probablemente " "porque tienes instalado un bloqueo de popups, configure su herramienta " "parapermitir poups de este sitio si quiere recibir mensajería instantánea." #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "Cambiar sus preferencias y configuración" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "Actualizar su información de contacto" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "Cambie su contraseña" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "Introducir 'bio' (biografía)" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "Editar su foto en línea" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "Ver/editar filtros de correo del lado del servidor" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "" #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 #, fuzzy msgid "Manage your OpenIDs" msgstr "Cambie su contraseña" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "" #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "Ver" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "Descargar" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "Configuración Global" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "Gestión de cuentas de usuario" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "Salas y Niveles" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "Ir a una sala oculta" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 #, fuzzy msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" "Si conoces el nombre de una sala oculta (nombre de invitación) o protegida " "con contraseña, puedesentrar en la sala escribiendo el nombre abajo. Una vez " "que hayas ganado acceso a una salaprivada, aparecerá regularmente en tu " "lista de salas disponibles, por lo que no tendrás que repetir este proceso. " #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "Intoduzca el nombre de sala:" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "Introduzaca la contraseña de sala:" #: ../../i18n_templatelist.c:144 #, fuzzy msgid "Go there" msgstr "en el " #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "de " #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "CC:" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "Asunto:" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 #, fuzzy msgid "Push Email" msgstr "Email" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 #, fuzzy msgid "Funambol server host (blank to disable)" msgstr "Nombre del Host del sevidor LDAP (en blanco para desactivar)" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 #, fuzzy msgid "Funambol server port " msgstr "Nombre del Host del sevidor LDAP (en blanco para desactivar)" #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 #, fuzzy msgid "Funambol sync source" msgstr "Nombre del Host del sevidor LDAP (en blanco para desactivar)" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 #, fuzzy msgid "External pager tool (blank to disable)" msgstr "Nombre del Host del sevidor LDAP (en blanco para desactivar)" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "Ver (carpetas) en árbol" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "Ver (salas) en tabla" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "12 horas (am/pm)" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "24 horas" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 #, fuzzy msgid "Sunday" msgstr "Sumario" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 #, fuzzy msgid "Monday" msgstr "Sumario" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "Sin firma" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "" #: ../../i18n_templatelist.c:168 msgid "Change" msgstr "Cambiar" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "Preferencias y configuración" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "Comandos básicos" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "Su información" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "Comandos avanzados de sala" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "Editar cuenta de usuario: " #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "Nombre de usuario:" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "Contraseña" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "Autorización para enviar correo Internet" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 msgid "Number of logins" msgstr "Número de conexiones" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 msgid "Messages submitted" msgstr "Mensajes enviados" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 msgid "Access level" msgstr "Nivel de acceso" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 msgid "User ID number" msgstr "ID de usuario" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "Fecha y hora de la última conexión" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "Autopurgar despues de estos muchos dias" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "Puerto de escucha POP3 (-1 para desactivar)" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "Puerto POP3 sobre SSL (-1 para desactivar)" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 #, fuzzy msgid "POP3 fetch frequency in seconds" msgstr "Frecuencia de marcha de red (en segundos)" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 #, fuzzy msgid "POP3 fastest fetch frequency in seconds" msgstr "Frecuencia de marcha de red (en segundos)" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 #, fuzzy msgid "Remote Sites:" msgstr "Smart hosts" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 #, fuzzy msgid "Status:" msgstr "Estado:" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 #, fuzzy msgid "Jobs waiting for further processing:" msgstr "seguir procesando" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 #, fuzzy msgid "Message to your Users:" msgstr "El mensaje no se envió." #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "Administración" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "Configuración" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "Política de expiración de mensajes" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "Controles de acceso" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "Compartir" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "Servicio de lista de correo" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 #, fuzzy msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "" "Sy barra de iconos ha sido actualizada. Por favor selecciones alguno de sus " "opciones para continuar." #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 msgid "General site configuration items" msgstr "Elementos de configuración general del sitio" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 msgid "Node name" msgstr "Nombre de nodo" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "Nombre de dominio totalmente cualificado" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "Nombre del nodo humanamente legible" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 msgid "Telephone number" msgstr "Número de teléfono" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "Paginador de texto (para clintes en modo texto)" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "Localización geográfica de este sistema" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "Nombre del administrador de sistema" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 #, fuzzy msgid "Networked Room" msgstr "Sala de intercambio en red" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 msgid "Add a new node" msgstr "Añadir un nuevo nodo" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "Secreto compartido" #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "Host o dirección IP" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 msgid "Port number" msgstr "Puerto número" #: ../../i18n_templatelist.c:241 #, fuzzy msgid "Add node?" msgstr "Añadir nodo" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 msgid "(kill)" msgstr "(matar)" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 msgid "Edit configuration" msgstr "Editar configuración" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 msgid "Edit address book entry" msgstr "Editar entrada de la libreta de direcciones" #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 #, fuzzy msgid "Minutes" msgstr "Minuto" #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 #, fuzzy msgid "active" msgstr "Tentativa" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 #, fuzzy msgid "(Edit)" msgstr "(editar)" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "(Borrar)" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "" #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "" #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "Publicar un comentario" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "Confirmar borrar" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "¿Estás seguro de querer borrar?" #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 msgid "Add, change, delete user accounts" msgstr "Añadir, cambiar, borrar cuentas de usuarios" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 #, fuzzy msgid "(hosts running the ClamAV clamd service)" msgstr "(host corriendo el servicio SpamAssassin)" #: ../../i18n_templatelist.c:270 msgid "Send" msgstr "Enviar" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 #, fuzzy msgid "Restart Citadel" msgstr "Hacer de esta mi página de inicio" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "A" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "BCC" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "Asunto" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "--- mensaje reenviado ---" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 msgid "Post message" msgstr "Postear mensaje" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "" #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "Adjuntos" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 msgid "Delete this message?" msgstr "¿Borrar este mensaje?" #: ../../i18n_templatelist.c:300 #, fuzzy msgid "Room Logo" msgstr "Información de sala" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "Buscar: " #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "Resultado de los comandos de servidor" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 #, fuzzy msgid "Enter another command" msgstr "Introducir comando de servidor" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 #, fuzzy msgid "Return to menu" msgstr "cambiar a menú" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 #, fuzzy msgid "Users currently on" msgstr "Usuarios actualmente en %s" #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "Profile de usuario" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 #, fuzzy msgid "Click here to send an instant message to" msgstr "Pulse aquí para enviar un mensaje instantáneo a %s" #: ../../i18n_templatelist.c:308 #, fuzzy msgid "Pictures in" msgstr "sólo imágenes" #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 msgid "Edit or delete users" msgstr "Editar o borrar usuarios" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 msgid "You need to be aide to view this." msgstr "" #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 msgid "Add users" msgstr "Añadir usuarios" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 msgid "Edit or Delete users" msgstr "Editar o Borrar usuarios" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "" #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 #, fuzzy msgid "User list for " msgstr "Lista de usuarios %s" #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "Nombre de Usuario" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "Número" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "Nivel de Acceso" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "Última conexión" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "Total de conexiones" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "Correos Totales" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "" #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "" #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "" #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "Salir" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "Política de expiración de mensajes para esta sala" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "Use la política por defecto para esta sala" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "Nunca producir expiración automática de mensajes" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "Expirar según cuenta de mensajes" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "Expirar según la edad del mensaje" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "Número de mensajes o días " #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "Política de expiración de mensajes para este nivel" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "Usar las configuraciones por defecto" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "Cerrar ventana" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 #, fuzzy msgid "Upload failed" msgstr "Subidas permitidas" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 #, fuzzy msgid "Are you shure you want to delete {filename}?" msgstr "¿Estás seguro de querer borrar?" #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "Adjuntar fichero" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 #, fuzzy msgid "Remove" msgstr "(remover)" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "Indexado y jornalización" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "Advertencia: estas utilidades consumen muchos recursos." #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "Activar índice de texto completo" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 msgid "Perform journaling of email messages" msgstr "Realizar jornalización de mensajes de correo electrónico" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 msgid "Perform journaling of non-email messages" msgstr "Realizar jornalización de mensajes de tipo no email" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "Correo electrónico de destino de los mensajes jornalizados" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "Cargar" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" "Esta instalación de Citadel viene construida sin soporte para la filtración " "de correo server-side.
    Contacte al administrador de su sistema si " "requiere esta funcionalidad.
    " #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "" #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 #, fuzzy msgid "Remote host" msgstr "Smart hosts" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 #, fuzzy msgid "Keep messages on server?" msgstr "No hay mensajes aquí" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 #, fuzzy msgid "Interval" msgstr "General" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "Añadir" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "" "Para crear una nueva cuenta de usuario, introduzca el usuario deseado en la " "caja de abajo y pulse 'Crear'." #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 msgid "New user: " msgstr "Nuevo usuario: " #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "Crear" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "(dominios mapeados con la Libreta de Direcciones Global)" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "(remover)" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 #, fuzzy msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" "Los usuarios listados abajo tiene acceso a esta sala. Para borrar un " "usuario seleccione el usuario de la lista de acceso y pulse 'Kick'." #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "Kick" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" "Para garantizar el acceso de un usuario a la sala, introduzca su nombre ne " "la caja de abajo y pulse 'Invitar'." #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "Invitar" #: ../../i18n_templatelist.c:426 msgid "Invite" msgstr "Invitar" #: ../../i18n_templatelist.c:427 #, fuzzy msgid "User" msgstr "Nuevo Usuario" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 #, fuzzy msgid "Users" msgstr "Lista de usuarios" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 #, fuzzy msgid "Addressbook Popup" msgstr "Libreta de Direcciones" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "" "Para editar una cuenta de usuario existente, seleccione el nombre de usuario " "de la lista y pulse 'Editar'." #: ../../i18n_templatelist.c:435 msgid "Delete user" msgstr "Borrar usuario" #: ../../i18n_templatelist.c:436 msgid "Delete this user?" msgstr "¿Borrar este usuario?" #: ../../i18n_templatelist.c:437 #, fuzzy msgid "Delete File" msgstr "Borrar usuario" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "(host corriendo el servicio SpamAssassin)" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "which is already in your calendar." msgstr "Esta es una actualizaciñon de '%s' que está ya en su calendario." #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "This event would conflict with" msgstr "" "Este evento entrará en conflicto con '%s' que está ya en su calendario." #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "Al llegar nuevos e-mails: " #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "Dejarlos en mi bandeja de entrada sin filtrarlos" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "La filtración se hará según las reglas siguientes" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "" "Filtrarlo mediante un script editado manualmente (sólo para los usuarios " "avanzados)" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "Al llegar el correo, no se filtrará mediante ningún script." #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "Agregar regla" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "El script activo actualmente es: " #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "Añadir o borrar scripts" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "Configurar la conexión LDAP para Citadel" #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "Nombre del Host del sevidor LDAP (en blanco para desactivar)" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "Número del puerto del servidor LDAP (en blanco para desactivar)" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "Base DN" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "Bind DN" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "Contraseña para bind DN" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "Editar o borrar esta sala" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "Ir a una sala 'hidden' (oculta)" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 #, fuzzy msgid "Zap (forget) this room" msgstr "Zap (olvidar) esta sala (%s)" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "Listar todas las salas olvidadas" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 #, fuzzy msgid "Zap duplicate messages" msgstr "Leer mensajes nuevos" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 msgid "Next attempt" msgstr "" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "Leyendo #" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "" #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "Responder" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "Respuesta entrecomillada" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "Responder Todos" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "Reenviar" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "Cabeceras" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "Editar configuración general del sitio" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "Dominios y configuración de correo de internet" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "Configurar replicación con otros servidores Citadel" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 #, fuzzy msgid "Powered by Citadel" msgstr "Muestra el icono 'Powered by Citadel' " #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "Lenguaje" #: ../../i18n_templatelist.c:507 msgid "Go to your email inbox" msgstr "Ir a tu buzón de correo entrante" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "Correo" #: ../../i18n_templatelist.c:509 msgid "Go to your personal calendar" msgstr "Ir a tu calendario personal" #: ../../i18n_templatelist.c:511 msgid "Go to your personal address book" msgstr "Ir a tu libreta personal de direcciones" #: ../../i18n_templatelist.c:513 msgid "Go to your personal notes" msgstr "Ir a tus notas personales" #: ../../i18n_templatelist.c:515 msgid "Go to your personal task list" msgstr "Ir a tu lista de tareas personal" #: ../../i18n_templatelist.c:517 #, fuzzy msgid "List all your accessible rooms" msgstr "Listar todas las salas accesibles" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "Ver quien está online ahora mismo" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "" "Menú de opciones avanzadas: Comandos Avanzados para Salas, información de " "cuentas,y Chat" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "Avanzado" #: ../../i18n_templatelist.c:526 msgid "Room and system administration functions" msgstr "Funciones de administración de sala y sistema" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "personalizar este menú" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "Última conexión" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "cambiar a lista de salas" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "cambiar a menú" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "Puerto de escucha IMAP (-1 para desactivar)" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "Puerto IMAP sobre SSL (-1 para desactivar)" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "Cargar imagen" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "Puede sugir una imagen directamente desde su equipo" #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "Por favor, seleccione el fichero a cargar:" #: ../../i18n_templatelist.c:545 msgid "Reset form" msgstr "Resetear formulario" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "Lista subscripción" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "Listar suscribir/cancelar subscripción" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "Enviada solicitud de confirmación" #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "Se está suscribiendo " #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 msgid " to the " msgstr " a la " #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 msgid " mailing list." msgstr " lista de mensajes." #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" "El servidor de listas le ha enviado un e-mail con un enlace Web adicional " "para que usted pueda hacer clic para confirmar su suscripción." #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" "Este paso adicional es para su protección, ya que impide que otros sean " "capaces de suscribirse a las listas sin su consentimiento." #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" "Por favor, haga clic en el enlace que está siendo enviado por correo " "electrónico a usted y se confirmará su suscripción." #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "Ir atrás" #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 msgid "ERROR" msgstr "ERROR" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "Usted está cancelando su suscripción" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 msgid "from the" msgstr "desde el" #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 msgid "mailing list." msgstr "lista de correo." #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" "El servidor de listas le ha enviado un e-mail con un enlace Web adicional " "para que haga clic en él para confirmar la anulación de la suscripción." #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" "Este paso adicional es para su protección, ya que impide que otros sean " "capaces de darse de baja de listas sin su consentimiento." #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" "Por favor, haga clic en el enlace que está siendo enviado por correo " "electrónico a usted y se confirmará la cancelación de su suscripción." #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 msgid "Back..." msgstr "Atrás..." #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 msgid "Confirmation successful!" msgstr "" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 msgid "Confirmation failed." msgstr "Confirmación falló" #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "Esto podría significar una de dos cosas:" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "" #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 #, fuzzy msgid "Name of list:" msgstr "Nombre de la tarea" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 #, fuzzy msgid "Your e-mail address:" msgstr "Dirección de correo preferida" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "" #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 #, fuzzy msgid "One message at a time" msgstr "Introducir texto de mensaje:" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 #, fuzzy msgid "Digest format" msgstr "Formato horario" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 #, fuzzy msgid "name of room: " msgstr "Nombre de la sala: " #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "Si privada, hacer que los usuarios actuales olviden la sala" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "Usuarios preferentes solamente" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "Sala de sólo lectura" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "Sala directorio de ficheros" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "Nombre de directorio " #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "Subidas permitidas" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "Bajadas permitidas" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "Directorio visible" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 msgid "Network shared room" msgstr "Sala de intercambio en red" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "Permanente (sin purga automática)" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "Mensajes anónimos" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "Sin mensajes anónimos" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "Todos los mensajes anónimos" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "Preguntar al usuario cuando esté introduciendo mensajes" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 msgid "Room aide: " msgstr "Administrador de la sala " #: ../../i18n_templatelist.c:611 #, fuzzy msgid "Delete this entry?" msgstr "¿Borrar esta entrada?" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "No compartido con" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "Compartido con" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 msgid "Remote node name" msgstr "Nombre del nodo remoto" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 msgid "Remote room name" msgstr "Nombre de la sala remota" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "Acciones" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 #, fuzzy msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" "Las sals compartidas deben compartirse desde los dos lados. Añadiendo un " "nodo a la lista 'shared' (compartida) se envían mensajes afuera, pero para " "recibir, los otros nodos tienen que estar configurados para enviar mensajes " "a su tu sistema también.
  • Si el nombre de la sala remota está vacío, se " "asume que su nombre es idéntico en el nodo remoto.
  • Si el nombre de la " "sala remota es diferente, el nodo remoto debe configurar el nombre de la " "sala también aquí.
    \n" #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 #, fuzzy msgid "resend messages to this node" msgstr "No hay mensajes aquí" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "Añadir/cambiar/borrar/niveles" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "Número de nivel" #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "Nombre de nivel" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "Número de salas" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "Sala CSS" #: ../../i18n_templatelist.c:633 msgid "Create new floor" msgstr "Crear nuevo nivel" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "Mover la regla hacia arriba" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "Mover la regla hacia abajo" #: ../../i18n_templatelist.c:636 msgid "Delete rule" msgstr "Eliminar regla" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "Si" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "Para o CC" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "Responder-a" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "Reenviado desde" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "Enviar a" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "Ensobretado Desde" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "Ensobretado Para" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "X-Mailer" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "X-Spam-Flag" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "X-Spam-Status" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "List-ID" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "Tamaño del mensaje" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "Todo" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "contiene" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "no contiene" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "corresponde con" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "no es" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "coincide" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "no coincide" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "(Todos los mensajes)" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "es más grande que" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "es más pequeño que" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 msgid "bytes" msgstr "bytes" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "Conservar" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "Descartar de manera silenciosa" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "Rechazar" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "Mover mensaje a" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "Reenviar a" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "Vacaciones" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "Mensaje:" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "y entonces" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "seguir procesando" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "detener" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "(dominios desde los cuales este host recibirá correo)" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "Configuración de Red" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "Nodos actualmente configurados" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "(borrar sala)" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "(editar gráfico)" #: ../../i18n_templatelist.c:679 msgid "Change name" msgstr "Cambiar nombre" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "Cambiar CSS" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 msgid "Configure automatic expiry of old messages" msgstr "Configurar expiración automática de mensajes antiguos" #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "" "Esta configuración puede ser obviada en configuraciones por-sala o por-nivel " "aparte." #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "Hora para correr la autopurga de bases de datos" #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 msgid "Default message expire policy for public rooms" msgstr "Política de expiración por defecto para salas públicas" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 msgid "Default message expire policy for private mailboxes" msgstr "Política de expiración de mensajes por defecto para buzones privados" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 msgid "Same policy as public rooms" msgstr "Misma política que para salas públicas" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "Purga de usuario por defecto (dias)" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "Purga por defecto de salas (días)" #: ../../i18n_templatelist.c:700 msgid "Are you sure you want to delete this room?" msgstr "¿Esta seguro de querer borrar esta sala?" #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "Borrar esta sala" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 #, fuzzy msgid "Set or change the icon for this rooms banner" msgstr "Determinar o cambiar el icono para el baner de esta sala" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 #, fuzzy msgid "Edit this rooms Info file" msgstr "Editar el fichero informativo de esta sala" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "Introducir comando de servidor" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" "Esta pantalla te permite introducir comandos del servidor Citadel que no " "están soportados por WebCit. Si no sabes que quiere decir eso, esta pantalla " "no te será de mucha utilidad." #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "Introducir comando" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "Introducción de comando (si se pidiera SEND_LISTING transfer mode):" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 #, fuzzy msgid "Detected host header is " msgstr "La cabecera detectada del host es %s://%s" #: ../../i18n_templatelist.c:709 #, fuzzy msgid "Send command" msgstr "Introducir comando" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "Dejar de compartir" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "(host corriendo una lista Agujero Negro en tiempo real)" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "Control de acceso y política general del sitio" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "Permitir a administradores olvidar (zap) salas" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "Poner en cuarentena mensajes de usuarios problemáticos" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "Nombre de la sala de cuarentena" #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 msgid "Name of room to log pages" msgstr "Nombre de la sala para páginas de log" #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 msgid "Authentication mode" msgstr "" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 #, fuzzy msgid "Self contained" msgstr "Acciones" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 #, fuzzy msgid "Host based" msgstr "Nombre de Host" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 #, fuzzy msgid "Allow anonymous guest access" msgstr "Sin mensajes anónimos" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 #, fuzzy msgid "Master user name (blank to disable)" msgstr "Nombre del Host del sevidor LDAP (en blanco para desactivar)" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 #, fuzzy msgid "Master user password" msgstr "Introducir nueva contraseña" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 msgid "Initial access level for new users" msgstr "Nivel de acceso inicial para nuevos usuarios" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "Nivel de acceso requerido para crear salas" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "" "Garantizar automáticamente estatus de administrador de sala al usuario que " "crea una sala privada" #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 #, fuzzy msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "" "Garantizar automáticamente estatus de administrador de sala al usuario que " "crea una sala BLOG" #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "Restringir acceso a Correo Internet" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "Desactivar autoservicio en cuanto a creación de cuentas de usuario" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "Se requiere registro para nuevos usuarios" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 msgid "Add, change, or delete floors" msgstr "Añadir, cambiar o borrar niveles" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "Ver como:" #: ../../i18n_templatelist.c:753 #, fuzzy msgid "Delete this note?" msgstr "¿Borrar esta entrada?" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 #, fuzzy msgid "Logged in as" msgstr "Última conexión" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 #, fuzzy msgid "Not logged in." msgstr "No conectado ahora" #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "iDebe estar registrado para acceder a esta página." #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "Contraseña" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "¿Nuevo usuario? Regístrese ahora" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "" #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 msgid "Log in using Google" msgstr "" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 #, fuzzy msgid "Log in using Yahoo" msgstr "Iniciar acceso de nuevo" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 msgid "Log in using AOL or AIM" msgstr "" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "Añadir un nuevo script" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" "Para crear un nuevo script, entrar le nombre deseado para el script en la " "ventana abajo y pulsar \"Crear\"." #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "Nombre del script: " #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "Editar scripts" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "Volver a la pantalla de edición de script" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "Borrar scripts" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "" "Para borrar un script existente, seleccionar su nombre en la lista y pulsar " "\"Borrar\"." #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 #, fuzzy msgid "Restart Now" msgstr "Hacer de esta mi página de inicio" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 #, fuzzy msgid "Configure Push Email" msgstr "Email" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 #, fuzzy msgid "Notify Funambol server" msgstr "Nombre del Host del sevidor LDAP (en blanco para desactivar)" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 #, fuzzy msgid "Send a text message to..." msgstr "Enviar un mensaje instantáneo a: " #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "" #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "" #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "ofrecido por" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "Puerto SMTP MTA (-1 para desactivar)" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "Puerto SMTP MSA (-1 para desactivar)" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "Puerto SMTP sobre SSL (-1 para desactivar)" #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "" #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 #, fuzzy msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "" "Permitir a cliente SMTP no autenticados hacer spoof a los dominios de este " "sitio" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "Correfir forged From: lineas durante SMTP autenticada" #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 #, fuzzy msgid "-1 to disable" msgstr "Pulse para desactivar" #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 #, fuzzy msgid "ManageSieve Port (-1 to disable)" msgstr "Puerto de escucha IMAP (-1 para desactivar)" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "Configuración del sitio" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 msgid "General" msgstr "General" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 #, fuzzy msgid "Settings" msgstr "Configuración de barra de iconos" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "Indexar/Journaling" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 msgid "Access" msgstr "Acceso" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 #, fuzzy msgid "Directory" msgstr "directorio" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "Autopurgar" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 #, fuzzy msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" "El contenido de esta sala está siendo enviado por correo como mensajes " "individuales a los siguientes receptores:

    \n" #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 #, fuzzy msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" "El contenido de esta sala se envia por correo compilado en boletines " "diarios a los siguientes receptores:

    \n" #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 #, fuzzy msgid "List" msgstr "Primero" #: ../../i18n_templatelist.c:847 #, fuzzy msgid "Digest" msgstr "Formato horario" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "" #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "" #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 #, fuzzy msgid "Allow self-service subscribe/unsubscribe requests." msgstr "" "Esta sala está configurada para permitir autoservicio en los porcesos de " "suscripción/cancelación." #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "La URL para suscribirse/cancelar suscripción es: " #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 #, fuzzy msgid "Set" msgstr "Asunto" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 #, fuzzy msgid "Summary page for " msgstr "Página sumario para %s" #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "Mensajes" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "Hoy en su calendario" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 #, fuzzy msgid "Who‘s online now" msgstr "Quién está en línea ahora" #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "Acerca de este servidor" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 #, fuzzy msgid "running" msgstr "Afinar" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 #, fuzzy msgid "with" msgstr "quinto" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 msgid "and located in" msgstr "" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 #, fuzzy msgid "Your system administrator is" msgstr "Nombre del administrador de sistema" #: ../../i18n_templatelist.c:874 #, fuzzy msgid "Do you really want to kill this session?" msgstr "¿Realmente quiere matar esta sesión?" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "" #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 #, fuzzy msgid "Click on a name to read user info. Click on" msgstr "" "Pulse en un nombre para leer la información del usuario. Pulse en %s para " "enviar un mensaje instantáneo a ese usuario. " #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 #, fuzzy msgid "to send an instant message to that user." msgstr "Enviar un mensaje instantáneo a: " #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "" #: ../../i18n_templatelist.c:880 msgid "Share" msgstr "Compartir" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "Introducir nueva contraseña" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "Introdúzcala de nuevo como confirmación:" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "Cambia contraseña" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "Editar la vista de sus sesión" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" "Esta pantalla te permite cambiar la forma en que tu sesión aparece en 'Quién " "está en línea' Para desactivar cualquier nombre 'fake' (falso alias) creado " "previamente, simplemente pulse el botón apropiado 'cambiar' sin escribir " "nada en la caja correspondiente. " #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "Nombre de sala" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "Cambiar nombre de sala" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "Nombre de Host" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "Cambiar nombre de host" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "Cambiar nombre de usuario" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "Confirme mover mensaje" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "Mover este mensaje a:" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "" #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "Listar salas conocidas" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "¿A dónde se puede ir desde aquí?" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "Ir a la siguiente sala" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 #, fuzzy msgid "...with unread messages" msgstr "...con mensajes no leídos" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "Saltar a la siguiente sala" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "(volver aquí después)" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "Atrás" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 #, fuzzy msgid "oops! Back to " msgstr "(¡oh! Vuelta a %s)" #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "Leer mensajes nuevos" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "... en esta sala" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "Leer todos los mensajes" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "...viejos y nuevos" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "Redactar mensaje" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "(postear a esta sala)" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 msgid "Summary page" msgstr "Página sumario" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "Sumario de mi cuenta" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "Lista de usuarios" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 msgid "(all registered users)" msgstr "(todos los usuarios registrados)" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "¡Adiós!" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "" "(si está activo, reenviar todo el correo de salida a uno de estos hosts)" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "Ver contactos" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "Añadir nuevo contacto" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "Visualización de día" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "VIsualización mensual" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "Añadir nuevo evento" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "Lista de calendario" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "Ver tareas" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "Añadir nueva tarea" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "Ver notas" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "Añadir nueva nota" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "Redactar mensaje" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "Wiki home" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "Editar esta página" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 #, fuzzy msgid "New blog post" msgstr "los nuevos puestos de trabajo" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" "Dejar todos los mensajes marcados como no leídos, yr a la siguiente sala con " "mensajes no leídos" #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "Saltarse esta sala" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" "Marcar todso los mensajes como leídos, ir a la siguiente sala con mensajes " "por leer" #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 #, fuzzy msgid "Save changes?" msgstr "Salvar cambios" #~ msgid "" #~ "You are subscribing %s to the %s mailing list. The " #~ "listserver has sent you an e-mail with one additional Web link for you to " #~ "click on to confirm your subscription. This extra step is for your " #~ "protection, as it prevents others from being able to subscribe you to " #~ "lists without your consent.

    Please click on the link which is " #~ "being e-mailed to you and your subscription will be confirmed.
    \n" #~ msgstr "" #~ "Te estás suscribiendo a %s en la %s lista de correo. El " #~ "servidor de la lista te ha enviado un email con un link web y debe " #~ "pulsarlo par confirmar su suscripción. Esta medida se toma por su " #~ "seguridad, de forma que se impida a otros suscribirle sin su " #~ "consentimiento.

    Por favor, pulse en el link que se le ha " #~ "enviadoy su suscripción será activada.
    \n" #~ msgid "" #~ "WARNING: Failed to parse Server Config; do you run a to new citserver?" #~ msgstr "" #~ "ADVERTENCIA: No se pudo analizar la configuración del servidor, se " #~ "ejecuta un nuevo citserver?" #~ msgid "There is no room called '%s'." #~ msgstr "No existe la sala denominada '%s'." #~ msgid "Network" #~ msgstr "Red" #~ msgid "Tuning" #~ msgstr "Afinar" #~ msgid "Instantly expunge deleted messages in IMAP" #~ msgstr "Desechar automáticamente mensajes borrados en IMAP" #~ msgid "A script by that name already exists." #~ msgstr "Un script ya tiene este nombre." #~ msgid "" #~ "A new script has been created. Return to the script editing screen to " #~ "edit and activate it." #~ msgstr "" #~ "Un nuevo script ha sido creado. Vuelva a la pantalla de edición de los " #~ "scripts para editarlo y activarlo." #~ msgid "Delete script" #~ msgstr "Borrar un script" #~ msgid "Delete this script?" #~ msgstr "¿Borrar este script?" #~ msgid "" #~ "You are connected to %s, running %s with %s, server build %s and located " #~ "in %s. Your system administrator is %s." #~ msgstr "" #~ "Estás conectado a %s, corriendo %s con %s, server build %s, y localizado " #~ "en %s. Tu administrador de sistema es %s." #, fuzzy #~ msgid "Yes with users list" #~ msgstr "cambiar a lista de salas" #~ msgid "Room list" #~ msgstr "Lista de Salas" #, fuzzy #~ msgid "text" #~ msgstr "siguiente" #, fuzzy #~ msgid "name" #~ msgstr "(sin nombre)" #, fuzzy #~ msgid "password" #~ msgstr "Contraseña" #, fuzzy #~ msgid "pass" #~ msgstr "Tareas" #, fuzzy #~ msgid "display: none" #~ msgstr "Mostrar nombre:" #~ msgid "Your password was not accepted." #~ msgstr "Su contraseña no ha sido aceptada" #~ msgid "Log off now?" #~ msgstr "¿Desconectar ahora?" #, fuzzy #~ msgid "%d new of %d messages%s" #~ msgstr "%d nuevo de %d mensajes" #~ msgid "(nothing)" #~ msgstr "(nada)" #~ msgid "unexpected end of message" #~ msgstr "finalización inesperada de mensaje" #~ msgid "An error occurred while setting up the chat socket." #~ msgstr "Se produjo un error al intentar activar la conexión de chat. " #~ msgid "Now exiting chat mode." #~ msgstr "Saliendo de modo chat." #~ msgid "Help" #~ msgstr "Ayuda" #~ msgid "List users" #~ msgstr "Listar usuarios" #~ msgid "No messages here." #~ msgstr "No hay mensajes aquí" #, fuzzy #~ msgid "no more messages" #~ msgstr "Mensajes anónimos" #~ msgid "Email" #~ msgstr "Email" #~ msgid "Error retrieving RSS feed: couldn't find messages\n" #~ msgstr "Error de respuesta RSS: no se pudieron encontrar mensajes\n" #, fuzzy #~ msgid "%s from" #~ msgstr "de" #, fuzzy #~ msgid "%s in %s" #~ msgstr "sólo imágenes" #, fuzzy #~ msgid "" #~ "
    • Enter your OpenID URL and click "Log in".
    • Click here to " #~ "learn what OpenID is and how Citadel is using it.
    • Please log off " #~ "properly when finished.
    • You must use a browser that supports " #~ "frames and cookies.
    • Also keep in mind that if your " #~ "browser is configured to block pop-up windows, you will not be able to " #~ "receive any instant messages.
    " #~ msgstr "" #~ "
    • Si ya dispone de una cuenta en %s, introduzca su nombre de " #~ "usuario y contraseña y seleccione "Log in."
    • Si es un " #~ "usuario nuevo, introduzca su nombre y la contraseña que le gustaría " #~ "utilizar, y pulse "Nuevo Usuario."
    • Por favor, cierre su " #~ "conexión adecuadamente al terminar.
    • Debe utilizar un explorador que " #~ "soporte frames y cookies.
    • Tenga también en cuenta que " #~ "si su explorador esta configurado para bloquear pop windows, no podrá " #~ "recibir mensajería instantánea.
    " #, fuzzy #~ msgid "" #~ "enter your user name and password and click "Log in."
  • If " #~ "you are a new user, enter the name and password you wish to use, and " #~ "click "New User."
  • Please log off properly when finished. " #~ "
  • You must use a browser that supports frames and cookies.
  • Also keep in mind that if your browser is configured to block pop-" #~ "up windows, you will not be able to receive any instant messages." #~ msgstr "" #~ "
    • Si ya dispone de una cuenta en %s, introduzca su nombre de " #~ "usuario y contraseña y seleccione "Log in."
    • Si es un " #~ "usuario nuevo, introduzca su nombre y la contraseña que le gustaría " #~ "utilizar, y pulse "Nuevo Usuario."
    • Por favor, cierre su " #~ "conexión adecuadamente al terminar.
    • Debe utilizar un explorador que " #~ "soporte frames y cookies.
    • Tenga también en cuenta que " #~ "si su explorador esta configurado para bloquear pop windows, no podrá " #~ "recibir mensajería instantánea.
    " #~ msgid "Find out more about Citadel" #~ msgstr "Saber más sobre Citadel" #~ msgid "CITADEL" #~ msgstr "CITADEL" #~ msgid "Customize this menu" #~ msgstr "Personalizar este menú" #~ msgid "Internet configuration" #~ msgstr "Configuración de internet" #~ msgid "of %d messages." #~ msgstr "de %d mensajes." #~ msgid " from " #~ msgstr " de " #~ msgid " in " #~ msgstr " en " #~ msgid "Edit node configuration for " #~ msgstr "Editar configuración de nodo para" #~ msgid "ERROR: could not open template " #~ msgstr "ERROR: no se pudo abrir la plantilla (template) " #~ msgid "" #~ "This message contains calendaring/scheduling information, but support " #~ "for calendars is not available on this particular system. Please ask " #~ "your system administrator to install a new version of the Citadel web " #~ "service with calendaring enabled.
    \n" #~ msgstr "" #~ "Este mensaje contiene información sobre porgrmación anticipada de " #~ "tareas y calendarios,perolos calendarios no son soportados por este " #~ "sistema particular. Por favor, pida a su administrador de sistemas que " #~ "instale una nueva versión del servicio web Citadel con activación de " #~ "calendarios.
    \n" #~ msgid "" #~ "Cannot display calendar item. You are seeing this error because your " #~ "WebCit service has not been installed with calendar support. Please " #~ "contact your system administrator.
    \n" #~ msgstr "" #~ "No puedo mostrar elemento del calendario.Este error significa que " #~ "WebCit no está instalado con soporte para calendarios. Contacte con su " #~ "administrador de sistemas.
    \n" #~ msgid "" #~ "Cannot display to-do item. You are seeing this error because your " #~ "WebCit service has not been installed with calendar support. Please " #~ "contact your system administrator.
    \n" #~ msgstr "" #~ "No se puede mostrar el elemento «por hacer». Está viendo este mensaje " #~ "porque su servicio WebCit se instaló sin soporte para calendarios. Por " #~ "favor, contacte con su adminstrador de sistemas.
    \n" #~ msgid "Day: " #~ msgstr "Día" #~ msgid "Year: " #~ msgstr "Año" #~ msgid "The calendar view is not available." #~ msgstr "La visualización del calendario no está disponible." #~ msgid "The tasks view is not available." #~ msgstr "La visualización de tareas no está disponible." #~ msgid "Gateway domains" #~ msgstr "Dominios de puerta de enlace" #~ msgid "(domains whose subdomains match Citadel hosts)" #~ msgstr "" #~ "(dominios cuyos subdominios se corresponden con con el host Citadel)" #~ msgid "(This server does not support task lists)" #~ msgstr "(Este servidro no soporta listas de tarea)" #~ msgid "(This server does not support calendars)" #~ msgstr "(Este servidro no soporta calendarios)" #~ msgid "" #~ "This room is not configured to allow self-service subscribe/" #~ "unsubscribe requests." #~ msgstr "" #~ "Esta sala noestá configurada para permitir autoservicio en cuanto " #~ "peticiones desuscripción/cancelación." #~ msgid "Click to enable." #~ msgstr "Pulse para activar." #~ msgid "Back to menu" #~ msgstr "Volver al menú" #~ msgid "Respond to meeting request" #~ msgstr "Responder a convocatoria de reunión" #~ msgid "Update your calendar with this RSVP" #~ msgstr "Actualizar el calendario con este RVSP" #~ msgid "Public room" #~ msgstr "Sala pública" #~ msgid "Private - guess name" #~ msgstr "Privada - invitación nominativa" #~ msgid "Private - require password:" #~ msgstr "Privada - requiere contraseña:" #~ msgid "localhost" #~ msgstr "localhost" #~ msgid "gatewaydomain" #~ msgstr "gatewaydomain" #~ msgid "rbl" #~ msgstr "rbl" #~ msgid "spamassassin" #~ msgstr "spamassassin" #~ msgid "[ close window ]" #~ msgstr "[ cerrar ventana ]" webcit-9.01-dfsg/po/webcit/et.po000066400000000000000000004317571254743150300165310ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR The Citadel Project - http://www.citadel.org # Gabriel C. Huertas # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2010-10-22 14:52+0000\n" "Last-Translator: Rait Lotamõis \n" "Language-Team: LANGUAGE \n" "Language: ee\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-08-01 04:33+0000\n" "X-Generator: Launchpad (build 15719)\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "saadavus teadmata" #: ../../availability.c:169 msgid "free" msgstr "vaba" #: ../../availability.c:179 msgid "BUSY" msgstr "HÕIVATUD" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "Kujunduse üleslaadimine katkestatud" #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "Sa ei laadinud faili üles." #: ../../graphics.c:106 msgid "your photo" msgstr "sinu foto" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "selle toa pisipilt" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "Tervituspilt sisselogimise aknasse" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "Väljalogimise bannerpilt" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "selle korruse pisipilt" #: ../../tasks.c:93 msgid "Completed?" msgstr "Lõpetatud?" #: ../../tasks.c:95 msgid "Name of task" msgstr "Ülesande nimi" #: ../../tasks.c:97 msgid "Date due" msgstr "Lõpetamise kuupäev" #: ../../tasks.c:99 msgid "Category" msgstr "Kategooria" #: ../../tasks.c:101 msgid "Show All" msgstr "Näita kõiki" #: ../../tasks.c:224 msgid "Edit task" msgstr "Muuda ülesannet" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "Kokkuvõte:" #: ../../tasks.c:259 msgid "Start date:" msgstr "Alguse kuupäev:" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "Kuupäev puudub" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "või" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "Seostatud aeg" #: ../../tasks.c:289 msgid "Due date:" msgstr "Tähtaeg:" #: ../../tasks.c:318 msgid "Completed:" msgstr "Lõpetatud:" #: ../../tasks.c:329 msgid "Category:" msgstr "Kategooria:" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "Kirjeldus:" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "Salvesta" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "Kustuta" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "Katkesta" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "Nimetu Ülesanne" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, c-format msgid "%d comments" msgstr "" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "uuemad postitused" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "vanemad postitused" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "Muuda %s" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "Salvesta muudatused" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "Katkestatud. %s ei salvestatud." #: ../../sysmsgs.c:103 #, fuzzy msgid " has been saved." msgstr "%s salvestati." #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "Toa info" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "Sinu info" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "Tund: " #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "Minut: " #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "(olukord teadmata)" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "(nõuab tegevust)" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "(vastu võetud)" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "(keeldutud)" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "(kahtlane)" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "(delegeeritud)" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "(lõpetatud)" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "(töös)" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "(none)" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "" #: ../../openid.c:47 msgid "(delete)" msgstr "" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "" #: ../../openid.c:58 msgid "Attach" msgstr "" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "" #: ../../summary.c:128 msgid "(None)" msgstr "" #: ../../summary.c:184 msgid "(Nothing)" msgstr "(Ei midagi)" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "" #: ../../bbsview_renderer.c:354 msgid "First" msgstr "" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "Kustutatud" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "Uus Kasutaja" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "Probleemne Kasutaja" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "Kohalik Kasutaja" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "Võrgukasutaja" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "Privilegeeritud Kasutaja" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "Korrapidaja" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "Tekkis viga." #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "Kinnita uusi kasutajaid" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "Ükski kasutaja ei vaja hetkel kinnitamist." #: ../../auth.c:617 msgid "very weak" msgstr "väga nõrk" #: ../../auth.c:620 msgid "weak" msgstr "nõrk" #: ../../auth.c:623 msgid "ok" msgstr "käib kah" #: ../../auth.c:627 msgid "strong" msgstr "tugev" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "Hetke juurdepääsutase: %d (%s)\n" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "Määra kasutaja juurdepääsutase:" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "Katkestatud. Salasõna ei muudetud." #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "Need ei ühti. Salasõna ei muudetud." #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "Tühjad paroolid ei ole lubatud." #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "Koosoleku kutse" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "Osaleja vastus sinu kutsele" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "Avaldatud sündmus" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "See on tundmatut tüüpi kalendrisündmus." #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "Asukoht:" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "Kuupäev:" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "Alguse kuu/kell:" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "Lõpu kuu/kell:" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "Korduvus:" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "See on korduv sündmus" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "Osaleja:" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "See on uuendus sinu kalendris olevale sündmusele '%s'." #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "See sündmus läheks vastuollu juba kalendris oleva sündmusega '%s'." #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "Uuendus:" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "VASTUOLU:" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "Kuidas sa soovid sellele kutsele vastata?" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "Nõustun" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "Üritan" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "Keeldun" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "Klõpsa Uuenda, et kanda see vastus oma kalendrisündmusele." #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "Uuenda" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "Ignoreeri" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "Selle kalendrikande töötlemisel tekkis viga." #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "Sa oled selle kutse vastu võtnud. Sündmus märgiti sinu kalendrisse" #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "" "Sa üritad jõuda sellele kohtumisele. Sündmus kanti kalendrisse 'pliiatsiga'." #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "Sa keeldusid sellest kutsest. Sündmust ei kantud kalendrisse." #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "Vastus on saadetud koosoleku korraldajale." #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "" #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "" #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "Kalendripäeva vaade algab kell:" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "Kalendripäeva vaade lõppeb kell:" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "Nädal algab:" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "Tekkis viga, kui laadisin seda faili: %s\n" #: ../../event.c:71 msgid "seconds" msgstr "sekundit" #: ../../event.c:72 msgid "minutes" msgstr "minutit" #: ../../event.c:73 msgid "hours" msgstr "tundi" #: ../../event.c:74 msgid "days" msgstr "päeva" #: ../../event.c:75 msgid "weeks" msgstr "nädalat" #: ../../event.c:76 msgid "months" msgstr "kuud" #: ../../event.c:77 msgid "years" msgstr "aastat" #: ../../event.c:78 msgid "never" msgstr "mitte kunagi" #: ../../event.c:82 msgid "first" msgstr "esimene" #: ../../event.c:83 msgid "second" msgstr "teine" #: ../../event.c:84 msgid "third" msgstr "kolmas" #: ../../event.c:85 msgid "fourth" msgstr "neljas" #: ../../event.c:86 msgid "fifth" msgstr "viies" #: ../../event.c:89 msgid "Event" msgstr "Sündmus" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "Osalejad" #: ../../event.c:168 msgid "Add or edit an event" msgstr "Lisa või muuda sündmust" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "Kokkuvõte" #: ../../event.c:222 msgid "Location" msgstr "Asukoht" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "Algus" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "Kogu päeva sündmus" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "Lõpp" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "Märkmed" #: ../../event.c:374 msgid "Organizer" msgstr "Korraldaja" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "(sina oled korraldaja)" #: ../../event.c:397 msgid "Show time as:" msgstr "Näita aega kui:" #: ../../event.c:420 msgid "Free" msgstr "Vaba" #: ../../event.c:428 msgid "Busy" msgstr "Hõivatud" #: ../../event.c:445 msgid "(One per line)" msgstr "(iga nimi uuel real)" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "Kontaktid" #: ../../event.c:518 msgid "Recurrence rule" msgstr "Korduvuse reegel" #: ../../event.c:522 msgid "Repeats every" msgstr "Kordumise intervall" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "nendel nädalapäevadel:" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "kuu %s%d%s päeval" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "" #: ../../event.c:631 msgid "of the month" msgstr "" #: ../../event.c:660 msgid "every " msgstr "" #: ../../event.c:661 msgid "year on this date" msgstr "" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "" #: ../../event.c:717 msgid "Recurrence range" msgstr "Korduvuse vahemik" #: ../../event.c:725 msgid "No ending date" msgstr "Lõpukuupäev puudub" #: ../../event.c:732 msgid "Repeat this event" msgstr "Korda seda sündmust" #: ../../event.c:735 msgid "times" msgstr "korda" #: ../../event.c:743 msgid "Repeat this event until " msgstr "Korda seda sündmust kuni " #: ../../event.c:771 msgid "Check attendee availability" msgstr "Kontrolli osalejate saadavust" #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "Nimetu Sündmus" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "Ikooniriba seaded" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "Vigane Parameeter" #: ../../inetconf.c:126 #, fuzzy msgid " has been deleted." msgstr "%s on kustutatud." #. added status message #: ../../inetconf.c:144 msgid " added." msgstr "" #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "Kõrgem juurdepääsuluba on vajalik selle funktsiooni kasutamiseks." #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "" #: ../../listsub.c:38 ../../listsub.c:76 #, fuzzy msgid "You need to specify the email address you'd like to subscribe with." msgstr "Palun sisesta kasutajanimi mida soovid kasutada." #: ../../messages.c:73 msgid "ERROR:" msgstr "" #: ../../messages.c:91 msgid "Empty message" msgstr "" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "Katkestatud. Sõnumit ei postitatud." #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "Automaatselt katkestatud, sest sa oled selle sõnumi juba salvestanud." #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "" #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "Sõnum on saadetud.\n" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "Sõnum on postitatud.\n" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "Sõnumit ei liigutatud." #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "Lisa allkiri e-kirjadele?" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "Kasuta seda allkirja:" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "Eelistatud e-maili aadress" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "Eelistatud nimi e-kirjadele" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "Eelistatud nimi teadetetahvlile postitades" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "Postkasti vaade" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "Klõpsa märkmel, et seda muuta." #: ../../paging.c:29 msgid "Send instant message" msgstr "Saada kiirsõnum" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "Saada kiirsõnum kasutajale: " #: ../../paging.c:51 msgid "Enter message text:" msgstr "Sisesta sõnumi tekst:" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "Saada sõnum" #: ../../paging.c:78 msgid "Message was not sent." msgstr "Sõnumit ei saadetud." #: ../../paging.c:89 msgid "Message has been sent to " msgstr "Sõnum saadetud kasutajale " #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "Katkestatud. Seadeid ei muudetud." #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "Tee see leht minu Citadeli avaleheks." #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "" #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "Sul ei ole enam valitud Citadeli avalehte." #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "" #: ../../roomlist.c:105 msgid "My Folders" msgstr "" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "Katkestatud. Muudatusi ei salvestatud." #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "Sinu muudatused on salvestatud." #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "Kasutaja %s löödi toast %s välja." #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "Kasutaja %s kutsutud tuppa %s." #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "Katkestatud. Uut tuba ei loodud." #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "Korrus on kustutatud." #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "Uus korrus on loodud." #: ../../roomops.c:1363 msgid "Room list view" msgstr "Tubade nimekirja vaade" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "Näita tühje korruseid" #: ../../roomtokens.c:570 msgid "file" msgstr "fail" #: ../../roomtokens.c:572 msgid "files" msgstr "faili" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "Teadetetahvel" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "Meilikast" #: ../../roomviews.c:55 msgid "Address Book" msgstr "Aadressiraamat" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "Kalender" #: ../../roomviews.c:57 msgid "Task List" msgstr "Ülesannete nimekiri" #: ../../roomviews.c:58 msgid "Notes List" msgstr "Märkmete nimekiri" #: ../../roomviews.c:59 msgid "Wiki" msgstr "Wiki" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "Kalendri nimekiri" #: ../../roomviews.c:61 msgid "Journal" msgstr "" #: ../../roomviews.c:62 #, fuzzy msgid "Drafts" msgstr "Kuupäev" #: ../../roomviews.c:63 msgid "Blog" msgstr "" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "" #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "Sinu süsteemiseaded on uuendatud" #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "" #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "Muudatusi ei salvestatud" #: ../../useredit.c:778 msgid "A new user has been created." msgstr "Uus kasutaja on loodud" #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "(nimetu)" #: ../../vcard_edit.c:438 msgid " (work)" msgstr " (töö)" #: ../../vcard_edit.c:440 msgid " (home)" msgstr " (kodune)" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr " (mobiil)" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "Aadress:" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "Telefon:" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "E-mail:" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "See aadressiraamat on tühi" #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "Tekkis sisemine viga" #: ../../vcard_edit.c:940 msgid "Error" msgstr "Viga" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "Muuda kontaktinfot" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "Tiitel" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "Eesnimi" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "Lisanimi" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "Perekonnanimi" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "Kuvatav nimi:" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "Ametinimi:" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "Organisatsioon:" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "Postkast" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "Linn:" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "Maakond:" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "Postiindeks" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "Riik" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "Kodune telefon:" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "Töötelefon:" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "Mobiiltelefon:" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "Faks:" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "Peamine Interneti e-maili aadress" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "Interneti e-maili aliased" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "" #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "Ei suutnud dekodeerida visiitkaardi fotot\n" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "Nõutav Autoriseering" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" "See programm ei suutnud luua või säilitada ühendust Citadeliga. Palun " "teavita oma süsteemiadministraatorit sellest probleemist." #: ../../webcit.c:688 msgid "Read More..." msgstr "Loe edasi..." #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "'%s' ei ole Wiki tuba." #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "" #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "" #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "Kuupäev" #: ../../wiki.c:143 msgid "Author" msgstr "" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "" #: ../../wiki.c:184 msgid "(revert)" msgstr "" #: ../../wiki.c:246 msgid "Page title" msgstr "" #: ../../fmt_date.c:306 msgid "Time format" msgstr "Aja formaat" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "Alates:" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "Alguse kuupäev:" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "Lõpu kuupäev:" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "Kuupäev/kellaaeg:" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "Märkmed:" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "" #: ../../calendar_view.c:750 msgid "Week" msgstr "Nädal" #: ../../calendar_view.c:752 msgid "Hours" msgstr "Tunnid" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "Pealkiri" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "Käimasolev sündmus" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "muuda" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "Ma ei tea kuidas kuvada " #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "(pealkiri puudub)" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "" #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "" #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "Personaliseeri Ikooniriba" #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "Näita ikoone kui:" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "pildid ja tekst" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "ainult pildid" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "ainult tekst" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "Vali ikoonid mida sa soovid vasakul asuval 'Ikooniribal' näha" #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "Jah" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "Ei" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "Lehekülje logo" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "Pisipilt kirjeldamaks seda keskkonda" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "Sinu kokkuvõttelehekülg" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "Kirjakast" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "Otsetee sinu e-maili kirjakasti" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "Sinu isiklik aadressiraamat" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "Sinu isiklikud märkmed" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "Otsetee sinu kalendri juurde" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "Ülesanded" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "Otsetee sinu isikliku ülesannete nimekirja juurde" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "Toad" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "" "Sellel ikoonil klõpsamine kuvab nimekirja kõigist juurdepääsetavatest " "tubadest (või kataloogidest)." #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "Kes on sisse logitud?" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "" "Sellel ikoonil klõpsamine kuvab nimekirja kasutajatest kes on hetkel sisse " "logitud." #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "Vestle" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "" "Sellel ikoonil klõpsamine avab reaalajas vestluse teiste samas ruumis " "asuvate kasutajatega" #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "Veel valikuid" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "Juurdepääs täieliku Citadeli funktsioonide menüüle" #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "Citadeli logo" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "Kuvab 'Powered by Citadel' ikooni" #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 #, fuzzy msgid "System Administration Menu" msgstr "Administratsioon" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 #, fuzzy msgid "Room Admin Menu" msgstr "Toa Korrapidaja: " #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 #, fuzzy msgid "Directory domains" msgstr "Kataloogi nimi:" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 #, fuzzy msgid "Smart hosts" msgstr "Serveri aadress" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 #, fuzzy msgid "Fallback smart hosts" msgstr "Serveri aadress" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 #, fuzzy msgid "RBL hosts" msgstr "Serveri aadress" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 #, fuzzy msgid "SpamAssassin hosts" msgstr "Serveri aadress" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 msgid "Masqueradable domains" msgstr "" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 #, fuzzy msgid "Network services" msgstr "Võrgukasutaja" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "Loo uus tuba" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "Toa nimi: " #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "Asub korrusel: " #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "Vaikimisi vaade sellele toale: " #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "Toa liik:" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "Avalik (ilmub automaatselt kõigile)" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "" "Privaatne - peidetud (juurdepääsetav ainult nendele, kes teavad toa nime)" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "Privaatne - nõua salasõna: " #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "Privaatne - ainult kutse alusel" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "Personaalne (kirjakast ainult sinule)" #: ../../i18n_templatelist.c:95 msgid "Create new room" msgstr "Loo uus tuba" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "Välju" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "Sisene uuesti" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "Unusta praegune tuba" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 #, fuzzy msgid "If you select this option," msgstr "Muuda või kustuta see tuba" #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 msgid "will disappear from your room list. Is this what you wish to do?" msgstr "" #: ../../i18n_templatelist.c:102 msgid "Zap this room" msgstr "Unusta tuba" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "Kasutajanimi" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "Tuba" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "Aadressilt" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "Saatja" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "Laen serverist kirju, palun oota" #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "Ava uues aknas" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "Liiguta" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "Kopeeri" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "Prindi" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "Unustatud toad" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 #, fuzzy msgid "Click on any room to un-zap it and goto that room." msgstr "Klõpsa toal, et seda taas 'meelde tuletada' ning sinna siseneda.\n" #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" "Sul on üks või enam kiirsõnumit ootamas, kuid Citadeli Sõnumitooja aken ei " "suutnud avaneda. See on tingitud arvatavasti installeeritud pop-up " "blokeerijast,või on netilehitsejal hüpikaknad keelatud. Palun luba " "hüpikaknad siit lehelt." #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "Muuda oma eelistusi ja seadeid" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "Uuenda oma kontaktinfot" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "Muuda oma salasõna" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "Sisesta oma 'resümee'" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "Muuda oma online fotot" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "Vaata/muuda serveris asuvaid postifiltreid" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "Muuda oma push email (mobiili special) seadeid" #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 #, fuzzy msgid "Manage your OpenIDs" msgstr "Muuda oma salasõna" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "" #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 #, fuzzy msgid "View" msgstr "Kuva kui:" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "Lae" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 #, fuzzy msgid "Global Configuration" msgstr "Konfiguratsioon" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "Toad ja Korrused" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "Mine peidetud tuppa" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "Sisesta toa nimi:" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "Sisesta toa salasõna:" #: ../../i18n_templatelist.c:144 #, fuzzy msgid "Go there" msgstr "Mine sinna" #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "postitaja " #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "Koopia:" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "Pealkiri:" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 #, fuzzy msgid "Push Email" msgstr "Seadista Push Email" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 msgid "Funambol server host (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 msgid "Funambol server port " msgstr "" #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 msgid "Funambol sync source" msgstr "" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 msgid "External pager tool (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "Puu (kataloogidena) vaade" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "Tabel (tubadena) vaade" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "12 tundi (am/pm)" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "24 tundi" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 msgid "Sunday" msgstr "Pühapäevaga" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 msgid "Monday" msgstr "Esmaspäevaga" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "Ei kasuta allkirja" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "Täisfunktsionaalsus" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "Turvarežiim" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "" "Turvarežiim ei kurna sinu veebilehitsejat niipalju, kuid ei ole ka kõigi " "võimalustega." #: ../../i18n_templatelist.c:168 #, fuzzy msgid "Change" msgstr "Muuda CSS" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "Eelistused ja seaded" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "Põhikäsud" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "Sinu info" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "Põhjalikumad tubade käsud" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "" #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "Kasutajanimi:" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "Salasõna" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 #, fuzzy msgid "Number of logins" msgstr "Tubade arv" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 #, fuzzy msgid "Messages submitted" msgstr "Sõnumi suurus" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 #, fuzzy msgid "Access level" msgstr "Juurdepääsutase" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 #, fuzzy msgid "User ID number" msgstr "Kasutajanimi" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 msgid "POP3 fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 msgid "POP3 fastest fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 #, fuzzy msgid "Remote Sites:" msgstr "Serveri aadress" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 #, fuzzy msgid "Status:" msgstr "Maakond:" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 #, fuzzy msgid "Jobs waiting for further processing:" msgstr "jätka töötlemist" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 #, fuzzy msgid "Message to your Users:" msgstr "Sõnumit ei saadetud." #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "Administratsioon" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "Konfiguratsioon" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "Sõnumite aegumise reeglid" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "Juurdepääsuõigused" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "Jagamine" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "Mujalt posti kogumine" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "" #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 #, fuzzy msgid "General site configuration items" msgstr "Konfiguratsioon" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 #, fuzzy msgid "Node name" msgstr "Kasutajanimi" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 #, fuzzy msgid "Telephone number" msgstr "Telefon:" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 #, fuzzy msgid "Name of system administrator" msgstr "Administratsioon" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 #, fuzzy msgid "Networked Room" msgstr "Tuba jagatud võrku" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 #, fuzzy msgid "Add a new node" msgstr "Lisa uus märge" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 #, fuzzy msgid "Shared secret" msgstr "Jagatud " #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 #, fuzzy msgid "Port number" msgstr "Korruse number" #: ../../i18n_templatelist.c:241 #, fuzzy msgid "Add node?" msgstr "Lisa uus märge" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 #, fuzzy msgid "(kill)" msgstr " (mobiil)" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 #, fuzzy msgid "Edit configuration" msgstr "Konfiguratsioon" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 #, fuzzy msgid "Edit address book entry" msgstr "See aadressiraamat on tühi" #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 #, fuzzy msgid "Minutes" msgstr "minutit" #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 #, fuzzy msgid "active" msgstr "Üritan" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 #, fuzzy msgid "(Edit)" msgstr "(Muuda)" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "(Kustuta)" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "" #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "Uus avaleht" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "Sinu avaleht on muudetud" #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" "NB: see ei muuda sinu brauseri avalehte. See määrab lehekülje, mida sa " "näedesimesena, kui siia sisse logid" #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "Postita kommentaar" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "Kinnita kustutamine" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "Oled sa kindel, et soovid kustutada " #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 #, fuzzy msgid "Add, change, delete user accounts" msgstr "Lisa/muuda/kustuta korruseid" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 msgid "(hosts running the ClamAV clamd service)" msgstr "" #: ../../i18n_templatelist.c:270 msgid "Send" msgstr "Saada" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 #, fuzzy msgid "Restart Citadel" msgstr "Uus avaleht" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "saatja" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "Anonüümne" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "Saaja:" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "Pimekoopia:" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "Pealkiri (valikuline)" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "--- edastatud sõnum ---" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 #, fuzzy msgid "Post message" msgstr "sõnumist" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "" #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "Manused:" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 #, fuzzy msgid "Delete this message?" msgstr "Kustuta see märge?" #: ../../i18n_templatelist.c:300 #, fuzzy msgid "Room Logo" msgstr "Toa info" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "Otsi: " #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 msgid "Enter another command" msgstr "" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 #, fuzzy msgid "Return to menu" msgstr "menüü" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 #, fuzzy msgid "Users currently on" msgstr "Kasutajad hetkel võrgus - " #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "Kasutajaprofiil" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 #, fuzzy msgid "Click here to send an instant message to" msgstr "Klõpsa siin, et saata kasutajale %s kiirsõnum" #: ../../i18n_templatelist.c:308 msgid "Pictures in" msgstr "Pildid kaustas" #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 #, fuzzy msgid "Edit or delete users" msgstr "Muuda või kustuta see tuba" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 msgid "You need to be aide to view this." msgstr "" #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 #, fuzzy msgid "Add users" msgstr "Lisa reegel" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 #, fuzzy msgid "Edit or Delete users" msgstr "Muuda või kustuta see tuba" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "Palun oota kuni Citadeli serverile restarti tehakse..." #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 #, fuzzy msgid "User list for " msgstr "%s kasutajate nimekiri" #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "Kasutajanimi" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "Number" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "Juurdepääsutase" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "Viimati sees" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "Logimisi kokku" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "Postitusi kokku" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "Laadimine" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "" #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "" #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "Palun sisesta kasutajanimi mida soovid kasutada." #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "Välju" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "Sõnumite aegumise reeglid siin toas" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "Kasuta vaikimisi reegleid sõnumite aegumiseks" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "Sõnumid ei aegu" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "Aeguvad sõnumite üldarvu alusel" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "Aeguvad sõnumi vanuse alusel" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "Sõnumite või päevade arv: " #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "Sõnumite aegumise reeglid siin korrusel" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "Kasuta süsteemi vaikimisi seadeid" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "Sulge aken" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 #, fuzzy msgid "Upload failed" msgstr "Lae fail üles:" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 #, fuzzy msgid "Are you shure you want to delete {filename}?" msgstr "Oled sa kindel, et soovid kustutada " #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "Lisa manus" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 #, fuzzy msgid "Remove" msgstr "(eemalda)" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "" #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 #, fuzzy msgid "Perform journaling of email messages" msgstr "Eelistatud nimi e-kirjadele" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 #, fuzzy msgid "Perform journaling of non-email messages" msgstr "Eelistatud nimi e-kirjadele" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "Failid kaustas" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "Lae fail üles:" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "Lae üles" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "Failinimi" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "Suurus" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "Sisu" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "Kirjeldus" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "sõnumist" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "Vali lehekülg: " #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "Kogu kirju nendelt POP3 kontodelt ja salvesta siia tuppa" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 msgid "Remote host" msgstr "Serveri aadress" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 msgid "Keep messages on server?" msgstr "Säilita koopia serveris?" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 msgid "Interval" msgstr "Intervall" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "Lisa" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "Kogu järgmiseid RSS feed'e ja salvesta nad siia tuppa:" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "Feed'i URL" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 #, fuzzy msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "" "Et anda kasutajale juurdepääsu sellele toale, sisesta kasutajanimi kasti " "ning klõpsa 'Kutsu'" #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 msgid "New user: " msgstr "Uus kasutaja: " #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "Loo" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "(eemalda)" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 #, fuzzy msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" "Allolevas nimekirjas olevatel kasutajatel on juurdepääs sellele toale. Et " "kasutajatnimekirjast eemaldada, vali kasutajanimi ning klõpsa 'Löö minema'" #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "Löö minema" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" "Et anda kasutajale juurdepääsu sellele toale, sisesta kasutajanimi kasti " "ning klõpsa 'Kutsu'" #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "Kutsu:" #: ../../i18n_templatelist.c:426 msgid "Invite" msgstr "Kutsu" #: ../../i18n_templatelist.c:427 msgid "User" msgstr "Kasutaja" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 msgid "Users" msgstr "Kasutajad" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 #, fuzzy msgid "Addressbook Popup" msgstr "Aadressiraamat" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 #, fuzzy msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "" "Et anda kasutajale juurdepääsu sellele toale, sisesta kasutajanimi kasti " "ning klõpsa 'Kutsu'" #: ../../i18n_templatelist.c:435 #, fuzzy msgid "Delete user" msgstr "Kustuta reegel" #: ../../i18n_templatelist.c:436 #, fuzzy msgid "Delete this user?" msgstr "Kas kustutan selle skripti?" #: ../../i18n_templatelist.c:437 #, fuzzy msgid "Delete File" msgstr "Kustuta reegel" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "Pildiesitlus" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "which is already in your calendar." msgstr "See on uuendus sinu kalendris olevale sündmusele '%s'." #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "This event would conflict with" msgstr "See sündmus läheks vastuollu juba kalendris oleva sündmusega '%s'." #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "Kui uus kiri saabub: " #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "Jäta see minu Kirjakasti ilma filtreerimata" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "Filtreeri vastavalt alltoodud reeglitele" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "" "Filtreeri vastavalt käsitsi sisestatud skriptile (pead teadma mida sa teed)" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "Sinu sissetulevaid kirju ei filtreerita." #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "Lisa reegel" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "Hetkel aktiivne skript on: " #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "Lisa või kustuta skripte" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "" #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "Muuda või kustuta see tuba" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "Mine 'peidetud' tuppa" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 msgid "Zap (forget) this room" msgstr "Unusta see tuba" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "Näita kõiki unustatud tube" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 #, fuzzy msgid "Zap duplicate messages" msgstr "Loe uusi sõnumeid" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 msgid "Next attempt" msgstr "" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "Loed #" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "vanimast uuemani" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "uuemast vanimani" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 #, fuzzy msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "Palun oota kuni Citadeli serverile restarti tehakse..." #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "Vasta" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "Tsiteeri" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "VastaKõigile" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "Edasta" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 #, fuzzy msgid "Edit site-wide configuration" msgstr "Konfiguratsioon" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 #, fuzzy msgid "Powered by Citadel" msgstr "Kuvab 'Powered by Citadel' ikooni" #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "Keel:" #: ../../i18n_templatelist.c:507 #, fuzzy msgid "Go to your email inbox" msgstr "Otsetee sinu e-maili kirjakasti" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "Kirjakast" #: ../../i18n_templatelist.c:509 #, fuzzy msgid "Go to your personal calendar" msgstr "Otsetee sinu kalendri juurde" #: ../../i18n_templatelist.c:511 #, fuzzy msgid "Go to your personal address book" msgstr "Sinu isiklik aadressiraamat" #: ../../i18n_templatelist.c:513 #, fuzzy msgid "Go to your personal notes" msgstr "Sinu isiklikud märkmed" #: ../../i18n_templatelist.c:515 #, fuzzy msgid "Go to your personal task list" msgstr "Otsetee sinu isikliku ülesannete nimekirja juurde" #: ../../i18n_templatelist.c:517 #, fuzzy msgid "List all your accessible rooms" msgstr "Näita kõiki unustatud tube" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "Online kasutajad" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "Põhjalikum" #: ../../i18n_templatelist.c:526 #, fuzzy msgid "Room and system administration functions" msgstr "Administratsioon" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "muuda menüüd" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "Viimati sees" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "tubade vaade" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "menüü" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "Minu kaustad" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "Pildi üleslaadimine" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "Sa võid laadida pildi otse oma arvutist" #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "Palun vali fail mida soovid üleslaadida:" #: ../../i18n_templatelist.c:545 msgid "Reset form" msgstr "Tühjenda vorm" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "" #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "" #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 #, fuzzy msgid " to the " msgstr "Mine sinna" #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 msgid " mailing list." msgstr "" #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "Mine tagasi..." #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 msgid "ERROR" msgstr "" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 #, fuzzy msgid "from the" msgstr "postitaja " #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 #, fuzzy msgid "mailing list." msgstr "Kalendri nimekiri" #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 #, fuzzy msgid "Back..." msgstr "Mine tagasi..." #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 msgid "Confirmation successful!" msgstr "" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 #, fuzzy msgid "Confirmation failed." msgstr "Konfiguratsioon" #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "" #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 #, fuzzy msgid "Name of list:" msgstr "Ülesande nimi" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 #, fuzzy msgid "Your e-mail address:" msgstr "Eelistatud e-maili aadress" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "" #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 #, fuzzy msgid "One message at a time" msgstr "Sisesta sõnumi tekst:" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 #, fuzzy msgid "Digest format" msgstr "Aja formaat" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 #, fuzzy msgid "name of room: " msgstr "Toa nimi: " #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "Kui privaatne, sunni kasutajaid tuba unustama" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "Ainult Privilegeeritud kasutajad" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "Loe-ainult tuba" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "Kasutajad, kes tohivad postitada, tohivad ka sõnumeid kustutada" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "Failivahetuse tuba" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "Kataloogi nimi:" #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "Üleslaadimine lubatud" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "Allalaadimine lubatud" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "Nähtav kataloog" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 msgid "Network shared room" msgstr "Tuba jagatud võrku" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "Permanentne (ei toimu auto-tühjendamist)" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "Pealkiri Nõutud (Sunni kasutajaid sõnumitele pealkirju lisama)" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "Anonüümsed sõnumid" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "Anonüümsed sõnumid keelatud" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "Kõik sõnumid on anonüümsed" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "Teavita kasutajat sõnumi sisestamisel" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 msgid "Room aide: " msgstr "Toa Korrapidaja: " #: ../../i18n_templatelist.c:611 #, fuzzy msgid "Delete this entry?" msgstr "Kustuta see märge?" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "Ei ole jagatud" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "Jagatud" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 #, fuzzy msgid "Remote node name" msgstr "Kasutajanimi" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 #, fuzzy msgid "Remote room name" msgstr "Sisesta toa nimi:" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "Tegevused" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 #, fuzzy msgid "resend messages to this node" msgstr "Säilita koopia serveris?" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "Lisa/muuda/kustuta korruseid" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "Korruse number" #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "Korruse nimi" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "Tubade arv" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "Korruse CSS" #: ../../i18n_templatelist.c:633 msgid "Create new floor" msgstr "Loo uus korrus" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "Liiguta reeglit üles" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "Liiguta reeglit alla" #: ../../i18n_templatelist.c:636 msgid "Delete rule" msgstr "Kustuta reegel" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "Kui" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "Saaja või Koopia" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "Vastus" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "Sõnumi suurus" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "Kõik" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "sisaldab" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "ei sisalda" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "on" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "ei ole" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "kattub" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "ei kattu" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "(Kõik sõnumid)" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "on suurem kui" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "on väiksem kui" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 #, fuzzy msgid "bytes" msgstr "aastat" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "Säilita" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "Kustuta vaikides" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "Hülga" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "Liiguta kausta" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "Saada edasi" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "Puhkusel" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "Vastus:" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "ja siis" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "jätka töötlemist" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "peatu" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 #, fuzzy msgid "Network configuration" msgstr "Konfiguratsioon" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "(kustuta korrus)" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "(muuda kujundust)" #: ../../i18n_templatelist.c:679 msgid "Change name" msgstr "Muuda nime" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "Muuda CSS" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 #, fuzzy msgid "Configure automatic expiry of old messages" msgstr "Sõnumid ei aegu" #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "" #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "" #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 #, fuzzy msgid "Default message expire policy for public rooms" msgstr "Sõnumite aegumise reeglid siin toas" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 #, fuzzy msgid "Default message expire policy for private mailboxes" msgstr "Sõnumite aegumise reeglid siin korrusel" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 #, fuzzy msgid "Same policy as public rooms" msgstr "Sõnumite aegumise reeglid siin toas" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "" #: ../../i18n_templatelist.c:700 msgid "Are you sure you want to delete this room?" msgstr "Oled sa kindel, et soovid seda tuba kustutada?" #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "Kustuta see tuba" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 #, fuzzy msgid "Set or change the icon for this rooms banner" msgstr "Määra või muuda selle toa banneri ikooni" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 #, fuzzy msgid "Edit this rooms Info file" msgstr "Muuda selle toa Info faili" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 #, fuzzy msgid "Enter command:" msgstr "Sisesta toa nimi:" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 msgid "Detected host header is " msgstr "" #: ../../i18n_templatelist.c:709 #, fuzzy msgid "Send command" msgstr "Sisesta toa nimi:" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "Lõpeta jagamine" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 #, fuzzy msgid "Name of quarantine room" msgstr "Toa nimi: " #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 #, fuzzy msgid "Name of room to log pages" msgstr "Toa nimi: " #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 msgid "Authentication mode" msgstr "" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 #, fuzzy msgid "Self contained" msgstr "sisaldab" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 msgid "Host based" msgstr "" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 #, fuzzy msgid "Allow anonymous guest access" msgstr "Anonüümsed sõnumid keelatud" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 msgid "Master user name (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 #, fuzzy msgid "Master user password" msgstr "Sisesta uus salasõna:" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 #, fuzzy msgid "Initial access level for new users" msgstr "Määra kasutaja juurdepääsutase:" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "" #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "" #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 #, fuzzy msgid "Add, change, or delete floors" msgstr "Lisa/muuda/kustuta korruseid" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "Kuva kui:" #: ../../i18n_templatelist.c:753 msgid "Delete this note?" msgstr "Kustuta see märge?" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 #, fuzzy msgid "Logged in as" msgstr "Viimati sees" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 #, fuzzy msgid "Not logged in." msgstr "Ei ole võrgus" #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "Sa pead olema sisselogitud, et siseneda sellele lehele." #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "Salasõna:" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "Uus kasutaja? Registreeri nüüd" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "võta ühendust süsteemiadministraatoriga " #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "Logi sisse kasutades OpenID'd" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 #, fuzzy msgid "Log in using Google" msgstr "Logi sisse kasutades OpenID'd" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 #, fuzzy msgid "Log in using Yahoo" msgstr "Logi sisse kasutades OpenID'd" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 #, fuzzy msgid "Log in using AOL or AIM" msgstr "Logi sisse kasutades OpenID'd" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "Palun oota" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "Lisa uus skript" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "Skripti nimi: " #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "Muuda skripte" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "Tagasi skript editori aknasse" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "Kustuta skripte" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "" #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 #, fuzzy msgid "Restart Now" msgstr "Nädal algab:" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 msgid "Configure Push Email" msgstr "Seadista Push Email" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 #, fuzzy msgid "Push email and SMS settings" msgstr "Muuda oma push email (mobiili special) seadeid" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 msgid "Notify Funambol server" msgstr "" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 #, fuzzy msgid "Send a text message to..." msgstr "Saada kiirsõnum kasutajale: " #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "" #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "" #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "jooksutab" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "" #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "" #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "-1 to disable" msgstr "" #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 msgid "ManageSieve Port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 #, fuzzy msgid "Site configuration" msgstr "Konfiguratsioon" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 #, fuzzy msgid "General" msgstr "Intervall" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 #, fuzzy msgid "Settings" msgstr "Ikooniriba seaded" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 #, fuzzy msgid "Access" msgstr "Juurdepääsutase" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 #, fuzzy msgid "Directory" msgstr "Kataloogi nimi:" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 #, fuzzy msgid "List" msgstr "Ülesannete nimekiri" #: ../../i18n_templatelist.c:847 #, fuzzy msgid "Digest" msgstr "Aja formaat" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "Lisa saajad Kontaktidest või teistest aadressiraamatutest" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "" #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "" #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 msgid "Allow self-service subscribe/unsubscribe requests." msgstr "" #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "" #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 #, fuzzy msgid "Set" msgstr "Pealkiri" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 #, fuzzy msgid "Summary page for " msgstr "Kasutaja %s kokkuvõtteleht" #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "Sõnumid" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "Täna sinu Kalendris" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 #, fuzzy msgid "Who‘s online now" msgstr "Kes on hetkel võrgus" #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "Sellest serverist" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 msgid "running" msgstr "" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 #, fuzzy msgid "with" msgstr "viies" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 #, fuzzy msgid "and located in" msgstr "ja siis" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 #, fuzzy msgid "Your system administrator is" msgstr "Administratsioon" #: ../../i18n_templatelist.c:874 #, fuzzy msgid "Do you really want to kill this session?" msgstr "Oled sa kindel, et soovid seda tuba kustutada?" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "Kasutajad hetkel võrgus - " #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 msgid "Click on a name to read user info. Click on" msgstr "Klõpsa nimel et saada kasutaja kohta infot. Klõpsa" #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 msgid "to send an instant message to that user." msgstr "et saata sellele kasutajale kiirsõnum." #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "" #: ../../i18n_templatelist.c:880 msgid "Share" msgstr "Jaga" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "Sisesta uus salasõna:" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "Sisesta salasõna uuesti:" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "Muuda salasõna" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "Muuda oma sessiooni väljanägemist" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "Toa nimi:" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "Muuda toa nime" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "Muuda kasutajanime" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "Kinnita sõnumi liigutamine" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "Liiguta see sõnum kausta:" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "" #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "Näita kõiki teadaolevaid tube" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "Kuhu ma saan siit edasi minna?" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "Mine järgmisesse tuppa" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 msgid "...with unread messages" msgstr "...kus on lugemata sõnumeid" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "Hüppa edasi järgmisesse tuppa" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "(tule siia hiljem tagasi)" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "Mine tagasi" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 msgid "oops! Back to " msgstr "uups! Tagasi " #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "Loe uusi sõnumeid" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "...selles toas" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "Loe kõiki sõnumeid" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "...nii vanu kui uusi" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "Sisesta sõnum" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "(postita siia tuppa)" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "Failikaust" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "(Näita faile mida saab allalaadida)" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 msgid "Summary page" msgstr "Kokkuvõttelehekülg" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "Minu konto koondülevaade" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "Kasutajate nimekiri" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 msgid "(all registered users)" msgstr "(kõik registreeritud kasutajad)" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "Nägemist!" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "Vaata kontakte" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "Lisa uus kontakt" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "Päeva vaade" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "Kuu vaade" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "Lisa uus sündmus" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "Kalendri nimekiri" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "Vaata ülesandeid" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "Lisa uus ülesanne" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "Vaata märkmeid" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "Lisa uus märge" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "Värskenda sõnumite nimekirja" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "Saada kiri" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "Wiki koduleht" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "Muuda seda lehekülge" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 #, fuzzy msgid "New blog post" msgstr "uuemad postitused" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" "Jäta kõik sõnumid märgituks kui lugemata ning mine järgmisesse tuppa kus on " "lugemata sõnumeid" #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "Jäta tuba vahele" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" "Märgi siin sõnumid loetuks ja liigu järgmisesse tuppa kus on lugemata " "sõnumeid" #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 #, fuzzy msgid "Save changes?" msgstr "Salvesta muudatused" #~ msgid "There is no room called '%s'." #~ msgstr "Ei leia '%s' nimelist tuba." #, fuzzy #~ msgid "Network" #~ msgstr "Võrgukasutaja" #~ msgid "A script by that name already exists." #~ msgstr "Sellenimeline skript on juba olemas." #~ msgid "Delete script" #~ msgstr "Kustuta skript" #~ msgid "Delete this script?" #~ msgstr "Kas kustutan selle skripti?" #~ msgid "" #~ "You are connected to %s, running %s with %s, server build %s and located " #~ "in %s. Your system administrator is %s." #~ msgstr "" #~ "Sa oled ühendunud võrku %s, mis jookseb tarkvaral %s veebiliidesega %s, " #~ "serveri versioon %s ning asukohaga %s. Sinu süsteemiadministraator on %s." #~ msgid "Yes with users list" #~ msgstr "Jah, koos kasutajanimedega" #~ msgid "Room list" #~ msgstr "Tubade nimekiri" #, fuzzy #~ msgid "uname" #~ msgstr "Failinimi" #, fuzzy #~ msgid "text" #~ msgstr "ainult tekst" #, fuzzy #~ msgid "name" #~ msgstr "Failinimi" #, fuzzy #~ msgid "pname" #~ msgstr "Failinimi" #, fuzzy #~ msgid "password" #~ msgstr "Salasõna" #, fuzzy #~ msgid "pass" #~ msgstr "Ülesanded" #, fuzzy #~ msgid "display: none" #~ msgstr "Kuvatav nimi:" #~ msgid "Your password was not accepted." #~ msgstr "Sinu parooli ei aktsepteeritud." #~ msgid "If you already have an account on" #~ msgstr "Kui sul on juba konto" #~ msgid "enter your user name and password and click "Log in."" #~ msgstr "" #~ "siis sisesta oma kasutajanimi ja salasõna ning klõpsa "Logi sisse." #~ """ #~ msgid "Please log off properly when finished. " #~ msgstr "Kui lõpetad, siis palun logi korrektselt välja. " #~ msgid "See the" #~ msgstr "Vaata" #~ msgid "recommended browser list" #~ msgstr "soovitatud brauserite nimekirja" #~ msgid "" #~ "if you have trouble using Webcit.
  • You must have cookies " #~ "turned on. " #~ msgstr "" #~ "kui sul on Webcit'iga probleeme.
  • Sul peavad küpsisedlubatud olema. " #~ msgid "" #~ "Also keep in mind that if your browser is configured to block pop-up " #~ "windows, you will not be able to receive any instant messages." #~ msgstr "" #~ "Samuti pea meeles, et kui sinu brauser blokeerib hüpikaknaid (pop-up)siis " #~ "ei ole sa suuteline kiirsõnumeid vastu võtma." #, fuzzy #~ msgid "Log off now?" #~ msgstr "Välju" #~ msgid "%d new of %d messages%s" #~ msgstr "%d uut, %d sõnumist%s" #~ msgid "(nothing)" #~ msgstr "(ei midagi)" #~ msgid "Now exiting chat mode." #~ msgstr "Väljun sõnumivahetuse režiimist." #~ msgid "Help" #~ msgstr "Abi" #~ msgid "List users" #~ msgstr "Kuva kasutajad" #~ msgid "No messages here." #~ msgstr "Siin ei ole sõnumeid." #, fuzzy #~ msgid "no more messages" #~ msgstr "Anonüümsed sõnumid" #~ msgid "" #~ "Your icon bar has been updated. Please select any of its choices to " #~ "continue.
    You may need to force " #~ "refresh (SHIFT-F5) in order for changes to take effect" #~ msgstr "" #~ "Sinu ikooniriba on uuendatud. Palun klõpsa sealt mõnel ikoonil et edasi " #~ "minna.
    Võib juhtuda et sa pead " #~ "lehte refreshima (SHIFT-F5) et muudatused teoks saaksid" #~ msgid "Email" #~ msgstr "E-mail" #~ msgid "Error retrieving RSS feed: couldn't find messages\n" #~ msgstr "RSS feed'i vastuvõtmisel tekkis viga: ei leidnud sõnumeid\n" webcit-9.01-dfsg/po/webcit/fi.po000066400000000000000000003716231254743150300165120ustar00rootroot00000000000000# Finnish translation for citadel # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the citadel package. # FIRST AUTHOR , 2011. # msgid "" msgstr "" "Project-Id-Version: citadel\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2011-01-15 08:57+0000\n" "Last-Translator: Esa Hulkko \n" "Language-Team: Finnish \n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-08-01 04:33+0000\n" "X-Generator: Launchpad (build 15719)\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "" #: ../../availability.c:169 msgid "free" msgstr "vapaa" #: ../../availability.c:179 msgid "BUSY" msgstr "VARATTU" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "" #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "" #: ../../graphics.c:106 msgid "your photo" msgstr "" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "" #: ../../tasks.c:93 msgid "Completed?" msgstr "Valmis?" #: ../../tasks.c:95 msgid "Name of task" msgstr "Tehtävän nimi" #: ../../tasks.c:97 msgid "Date due" msgstr "Tavoitepäivämäärä" #: ../../tasks.c:99 msgid "Category" msgstr "Kategoria" #: ../../tasks.c:101 msgid "Show All" msgstr "Näytä kaikki" #: ../../tasks.c:224 msgid "Edit task" msgstr "Muokkaa tehtävää" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "Yhteenveto:" #: ../../tasks.c:259 msgid "Start date:" msgstr "Aloituspäivämäärä:" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "Ei päivämäärää" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "tai" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "" #: ../../tasks.c:289 msgid "Due date:" msgstr "Tavoitepäivämäärä:" #: ../../tasks.c:318 msgid "Completed:" msgstr "Valmis:" #: ../../tasks.c:329 msgid "Category:" msgstr "Kategoria:" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "Kuvaus:" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "Tallenna" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "Poista" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "Keskeytä" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, c-format msgid "%d comments" msgstr "" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "uudempia virkaa" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "vanhemmat viestit" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "Muokkaa %s" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "Tallenna muutokset" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "" #: ../../sysmsgs.c:103 #, fuzzy msgid " has been saved." msgstr "%s on tallennettu." #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "" #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "" #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "alustava" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "valmis" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "käsittelee" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "(ei mitään)" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "" #: ../../openid.c:47 msgid "(delete)" msgstr "" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "" #: ../../openid.c:58 msgid "Attach" msgstr "" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "" #: ../../summary.c:128 msgid "(None)" msgstr "(Ei mitään)" #: ../../summary.c:184 msgid "(Nothing)" msgstr "(Ei mitään)" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "" #: ../../bbsview_renderer.c:354 msgid "First" msgstr "" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "Tuhottu" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "Uusi käyttäjä" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "Paikallinen käyttäjä" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "Verkkokäyttäjä" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "Ylläpitäjä" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "Tapahtui virhe." #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "Hyväksy uudet käyttäjät" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "" #: ../../auth.c:617 msgid "very weak" msgstr "Erittäin heikko" #: ../../auth.c:620 msgid "weak" msgstr "heikko" #: ../../auth.c:623 msgid "ok" msgstr "ok" #: ../../auth.c:627 msgid "strong" msgstr "vahva" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "Peruutettu. Salasanaa ei vaihdettu." #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "Salasanat eivät täsmää. Salasanaa ei vaihdettu." #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "Tyhjä salasana ei ole sallittu" #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "" #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "Sijainti:" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "Päivämäärä:" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "Alkamis päivä/aika:" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "Loppumis päivä/aika:" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "Toistuvuus" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "" #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "" #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "" #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "" #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "" #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "" #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "" #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "" #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "" #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "" #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "" #: ../../event.c:71 msgid "seconds" msgstr "sekuntia" #: ../../event.c:72 msgid "minutes" msgstr "minuuttia" #: ../../event.c:73 msgid "hours" msgstr "tuntia" #: ../../event.c:74 msgid "days" msgstr "vuorokautta" #: ../../event.c:75 msgid "weeks" msgstr "viikkoa" #: ../../event.c:76 msgid "months" msgstr "kuukautta" #: ../../event.c:77 msgid "years" msgstr "vuotta" #: ../../event.c:78 msgid "never" msgstr "ei koskaan" #: ../../event.c:82 msgid "first" msgstr "ensimmäinen" #: ../../event.c:83 msgid "second" msgstr "sekunti" #: ../../event.c:84 msgid "third" msgstr "3." #: ../../event.c:85 msgid "fourth" msgstr "4." #: ../../event.c:86 msgid "fifth" msgstr "5." #: ../../event.c:89 msgid "Event" msgstr "Tapahtuma" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "Osallistujat" #: ../../event.c:168 msgid "Add or edit an event" msgstr "Lisää tai muokkaa tapahtumaa" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "Yhteenveto" #: ../../event.c:222 msgid "Location" msgstr "Sijainti" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "Käynnistä" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "Kestää koko päivän" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "Muistiinpanot" #: ../../event.c:374 msgid "Organizer" msgstr "" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "" #: ../../event.c:397 msgid "Show time as:" msgstr "" #: ../../event.c:420 msgid "Free" msgstr "" #: ../../event.c:428 msgid "Busy" msgstr "" #: ../../event.c:445 msgid "(One per line)" msgstr "" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "" #: ../../event.c:518 msgid "Recurrence rule" msgstr "" #: ../../event.c:522 msgid "Repeats every" msgstr "" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "" #: ../../event.c:631 msgid "of the month" msgstr "" #: ../../event.c:660 msgid "every " msgstr "" #: ../../event.c:661 msgid "year on this date" msgstr "" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "" #: ../../event.c:717 msgid "Recurrence range" msgstr "" #: ../../event.c:725 msgid "No ending date" msgstr "" #: ../../event.c:732 msgid "Repeat this event" msgstr "" #: ../../event.c:735 msgid "times" msgstr "" #: ../../event.c:743 msgid "Repeat this event until " msgstr "" #: ../../event.c:771 msgid "Check attendee availability" msgstr "" #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "" #: ../../inetconf.c:126 #, fuzzy msgid " has been deleted." msgstr "%s on tallennettu." #. added status message #: ../../inetconf.c:144 msgid " added." msgstr "" #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "" #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "" #: ../../listsub.c:38 ../../listsub.c:76 msgid "You need to specify the email address you'd like to subscribe with." msgstr "" #: ../../messages.c:73 msgid "ERROR:" msgstr "" #: ../../messages.c:91 msgid "Empty message" msgstr "" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "" #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "" #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "" #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "" #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "" #: ../../paging.c:29 msgid "Send instant message" msgstr "" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "" #: ../../paging.c:51 msgid "Enter message text:" msgstr "" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "" #: ../../paging.c:78 msgid "Message was not sent." msgstr "" #: ../../paging.c:89 msgid "Message has been sent to " msgstr "" #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "" #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "Tee tästä aloitussivuni" #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "Tästä ei voi tehdä aloitussivua" #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "Aloitussivua ei ole enää valittu" #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "" #: ../../roomlist.c:105 msgid "My Folders" msgstr "" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "Peruutettu. Muutoksia ei tallennettu." #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "Muutoksesi on tallennettu." #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "" #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "" #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "" #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "" #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "" #: ../../roomops.c:1363 msgid "Room list view" msgstr "" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "" #: ../../roomtokens.c:570 msgid "file" msgstr "" #: ../../roomtokens.c:572 msgid "files" msgstr "" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "" #: ../../roomviews.c:55 msgid "Address Book" msgstr "" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "" #: ../../roomviews.c:57 msgid "Task List" msgstr "" #: ../../roomviews.c:58 msgid "Notes List" msgstr "" #: ../../roomviews.c:59 msgid "Wiki" msgstr "" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "" #: ../../roomviews.c:61 msgid "Journal" msgstr "" #: ../../roomviews.c:62 msgid "Drafts" msgstr "" #: ../../roomviews.c:63 msgid "Blog" msgstr "" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "" #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "Järjestelmän asetukset on päivitetty." #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "" #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "" #: ../../useredit.c:778 msgid "A new user has been created." msgstr "" #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "(nimetön)" #: ../../vcard_edit.c:438 msgid " (work)" msgstr "" #: ../../vcard_edit.c:440 msgid " (home)" msgstr "" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr "" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "Osoite:" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "Sähköpostiosoite:" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "Tämä osoitekirja on tyhjä." #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "" #: ../../vcard_edit.c:940 msgid "Error" msgstr "Virhe" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "Etunimi" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "Toinen nimi" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "Sukunimi" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "Jälkiliite" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "Näyttönimi:" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "Nimike:" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "Organisaatio:" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "Postilokero:" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "Kaupunki:" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "Osavaltio:" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "Postinumero:" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "Maa:" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "Kotipuhelin:" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "Työpuhelin:" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "Matkapuhelin:" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "FAX:" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "Ensisijainen sähköpostiosoite:" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "" #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" #: ../../webcit.c:688 msgid "Read More..." msgstr "Lue lisää..." #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "" #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "" #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "" #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "" #: ../../wiki.c:143 msgid "Author" msgstr "" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "" #: ../../wiki.c:184 msgid "(revert)" msgstr "" #: ../../wiki.c:246 msgid "Page title" msgstr "" #: ../../fmt_date.c:306 msgid "Time format" msgstr "" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "Lähettäjä:" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "c" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "Päiväys/aika:" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "Muistiinpanot:" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "edellinen" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "seuraava" #: ../../calendar_view.c:750 msgid "Week" msgstr "Viikko" #: ../../calendar_view.c:752 msgid "Hours" msgstr "Tuntia" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "aihe" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "Menneillään oleva tapahtuma" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "" #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "" #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "" #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "" #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "" #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "Tehtävät" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "" #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "" #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "" #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "" #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "" #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 msgid "System Administration Menu" msgstr "" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 msgid "Room Admin Menu" msgstr "" #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 msgid "Fallback smart hosts" msgstr "" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 msgid "RBL hosts" msgstr "" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 msgid "Masqueradable domains" msgstr "" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 msgid "Network services" msgstr "" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "" #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "" #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "" #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "" #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "" #: ../../i18n_templatelist.c:95 msgid "Create new room" msgstr "" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "Kirjaudu ulos" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "Kirjaudu uudestaan" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 msgid "If you select this option," msgstr "" #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 msgid "will disappear from your room list. Is this what you wish to do?" msgstr "" #: ../../i18n_templatelist.c:102 msgid "Zap this room" msgstr "" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "Lähettäjä" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "" #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 msgid "Click on any room to un-zap it and goto that room." msgstr "" #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "Vaihda salasanasi" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "" #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 msgid "Manage your OpenIDs" msgstr "" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "" #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "" #: ../../i18n_templatelist.c:144 msgid "Go there" msgstr "" #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "" #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 msgid "Push Email" msgstr "" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 msgid "Funambol server host (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 msgid "Funambol server port " msgstr "" #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 msgid "Funambol sync source" msgstr "" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 msgid "External pager tool (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 msgid "Sunday" msgstr "" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 msgid "Monday" msgstr "" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "" #: ../../i18n_templatelist.c:168 msgid "Change" msgstr "" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "" #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "Käyttäjänimi:" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 msgid "Number of logins" msgstr "" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 msgid "Messages submitted" msgstr "" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 msgid "Access level" msgstr "" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 msgid "User ID number" msgstr "" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 msgid "POP3 fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 msgid "POP3 fastest fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 msgid "Remote Sites:" msgstr "" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 #, fuzzy msgid "Status:" msgstr "Osavaltio:" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 msgid "Jobs waiting for further processing:" msgstr "" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 msgid "Message to your Users:" msgstr "" #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "" #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 msgid "General site configuration items" msgstr "" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 msgid "Node name" msgstr "" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 msgid "Telephone number" msgstr "" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 #, fuzzy msgid "Networked Room" msgstr "Verkkokäyttäjä" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 msgid "Add a new node" msgstr "" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "" #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 msgid "Port number" msgstr "" #: ../../i18n_templatelist.c:241 msgid "Add node?" msgstr "" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 msgid "(kill)" msgstr "" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 msgid "Edit configuration" msgstr "" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 #, fuzzy msgid "Edit address book entry" msgstr "Tämä osoitekirja on tyhjä." #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 #, fuzzy msgid "Minutes" msgstr "minuuttia" #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 #, fuzzy msgid "active" msgstr "alustava" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 msgid "(Edit)" msgstr "" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "" #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "" #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "Lähetä kommentti" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "" #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 msgid "Add, change, delete user accounts" msgstr "" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 msgid "(hosts running the ClamAV clamd service)" msgstr "" #: ../../i18n_templatelist.c:270 #, fuzzy msgid "Send" msgstr "Lähettäjä" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 msgid "Restart Citadel" msgstr "" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 msgid "Post message" msgstr "" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "" #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 msgid "Delete this message?" msgstr "" #: ../../i18n_templatelist.c:300 msgid "Room Logo" msgstr "" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "" #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 msgid "Enter another command" msgstr "" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 msgid "Return to menu" msgstr "" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 msgid "Users currently on" msgstr "" #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 msgid "Click here to send an instant message to" msgstr "" #: ../../i18n_templatelist.c:308 msgid "Pictures in" msgstr "" #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 msgid "Edit or delete users" msgstr "" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 msgid "You need to be aide to view this." msgstr "" #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 msgid "Add users" msgstr "" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 msgid "Edit or Delete users" msgstr "" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "" #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 msgid "User list for " msgstr "" #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "" #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "" #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "" #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "" #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 msgid "Upload failed" msgstr "" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 msgid "Are you shure you want to delete {filename}?" msgstr "" #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 msgid "Remove" msgstr "" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "" #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 msgid "Perform journaling of email messages" msgstr "" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 msgid "Perform journaling of non-email messages" msgstr "" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "" #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 msgid "Remote host" msgstr "" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 msgid "Keep messages on server?" msgstr "" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 msgid "Interval" msgstr "" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "Lisää" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "" #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 msgid "New user: " msgstr "" #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "Luo" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "" #: ../../i18n_templatelist.c:426 msgid "Invite" msgstr "" #: ../../i18n_templatelist.c:427 #, fuzzy msgid "User" msgstr "Uusi käyttäjä" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 msgid "Users" msgstr "" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 msgid "Addressbook Popup" msgstr "" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "" #: ../../i18n_templatelist.c:435 #, fuzzy msgid "Delete user" msgstr "Poista" #: ../../i18n_templatelist.c:436 msgid "Delete this user?" msgstr "" #: ../../i18n_templatelist.c:437 #, fuzzy msgid "Delete File" msgstr "Poista" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 msgid "which is already in your calendar." msgstr "" #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 msgid "This event would conflict with" msgstr "" #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "Kun uusi sähköposti saapuu: " #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "" #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "Lisää sääntö" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "" #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "" #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 msgid "Zap (forget) this room" msgstr "" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "Zap duplicate messages" msgstr "" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 msgid "Next attempt" msgstr "" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "" #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 msgid "Powered by Citadel" msgstr "" #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "" #: ../../i18n_templatelist.c:507 msgid "Go to your email inbox" msgstr "" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "" #: ../../i18n_templatelist.c:509 msgid "Go to your personal calendar" msgstr "" #: ../../i18n_templatelist.c:511 msgid "Go to your personal address book" msgstr "" #: ../../i18n_templatelist.c:513 msgid "Go to your personal notes" msgstr "" #: ../../i18n_templatelist.c:515 msgid "Go to your personal task list" msgstr "" #: ../../i18n_templatelist.c:517 msgid "List all your accessible rooms" msgstr "" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "" #: ../../i18n_templatelist.c:526 msgid "Room and system administration functions" msgstr "" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "" #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "" #: ../../i18n_templatelist.c:545 msgid "Reset form" msgstr "" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "" #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "" #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 msgid " to the " msgstr "" #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 msgid " mailing list." msgstr "" #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "" #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 msgid "ERROR" msgstr "" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 msgid "from the" msgstr "" #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 msgid "mailing list." msgstr "" #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 msgid "Back..." msgstr "" #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 msgid "Confirmation successful!" msgstr "" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 msgid "Confirmation failed." msgstr "" #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "" #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 #, fuzzy msgid "Name of list:" msgstr "Tehtävän nimi" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 #, fuzzy msgid "Your e-mail address:" msgstr "Ensisijainen sähköpostiosoite:" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "" #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 msgid "One message at a time" msgstr "" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 msgid "Digest format" msgstr "" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 msgid "name of room: " msgstr "" #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "" #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 msgid "Network shared room" msgstr "" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 msgid "Room aide: " msgstr "" #: ../../i18n_templatelist.c:611 msgid "Delete this entry?" msgstr "" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 msgid "Remote node name" msgstr "" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 msgid "Remote room name" msgstr "" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 msgid "resend messages to this node" msgstr "" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "" #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "" #: ../../i18n_templatelist.c:633 msgid "Create new floor" msgstr "" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "" #: ../../i18n_templatelist.c:636 #, fuzzy msgid "Delete rule" msgstr "Poista" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "Viestin koko" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "Kaikki" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "sisältää" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "ei sisällä" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "on" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "ei ole" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "(Kaikki viestit)" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "on suurempi kuin" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "on pienempi kuin" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 #, fuzzy msgid "bytes" msgstr "vuotta" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "Säilytä" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "Välitä" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "Loma" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "Viesti:" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "pysäytä" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "" #: ../../i18n_templatelist.c:679 #, fuzzy msgid "Change name" msgstr "Vaihda käyttäjänimeä" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 msgid "Configure automatic expiry of old messages" msgstr "" #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "" #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "" #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 msgid "Default message expire policy for public rooms" msgstr "" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 msgid "Default message expire policy for private mailboxes" msgstr "" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 msgid "Same policy as public rooms" msgstr "" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "" #: ../../i18n_templatelist.c:700 msgid "Are you sure you want to delete this room?" msgstr "" #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 msgid "Set or change the icon for this rooms banner" msgstr "" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 msgid "Edit this rooms Info file" msgstr "" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 msgid "Detected host header is " msgstr "" #: ../../i18n_templatelist.c:709 msgid "Send command" msgstr "" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "" #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 msgid "Name of room to log pages" msgstr "" #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 msgid "Authentication mode" msgstr "" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 msgid "Self contained" msgstr "" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 msgid "Host based" msgstr "" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 msgid "Allow anonymous guest access" msgstr "" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 msgid "Master user name (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 msgid "Master user password" msgstr "" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 msgid "Initial access level for new users" msgstr "" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "" #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "" #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 msgid "Add, change, or delete floors" msgstr "" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "" #: ../../i18n_templatelist.c:753 msgid "Delete this note?" msgstr "" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 msgid "Logged in as" msgstr "" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 msgid "Not logged in." msgstr "" #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "" #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "" #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 msgid "Log in using Google" msgstr "" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 #, fuzzy msgid "Log in using Yahoo" msgstr "Kirjaudu uudestaan" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 msgid "Log in using AOL or AIM" msgstr "" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "" #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "" #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 msgid "Restart Now" msgstr "" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 msgid "Configure Push Email" msgstr "" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 msgid "Notify Funambol server" msgstr "" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 msgid "Send a text message to..." msgstr "" #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "" #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "" #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "" #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "" #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "-1 to disable" msgstr "" #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 msgid "ManageSieve Port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 msgid "General" msgstr "" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 msgid "Settings" msgstr "" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 msgid "Access" msgstr "" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 msgid "Directory" msgstr "" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 msgid "List" msgstr "" #: ../../i18n_templatelist.c:847 msgid "Digest" msgstr "" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "" #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "" #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 msgid "Allow self-service subscribe/unsubscribe requests." msgstr "" #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "" #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 #, fuzzy msgid "Set" msgstr "aihe" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 msgid "Summary page for " msgstr "" #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "Viestit" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 msgid "Who‘s online now" msgstr "" #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 msgid "running" msgstr "" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 msgid "with" msgstr "" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 msgid "and located in" msgstr "" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 msgid "Your system administrator is" msgstr "" #: ../../i18n_templatelist.c:874 msgid "Do you really want to kill this session?" msgstr "" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "" #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 msgid "Click on a name to read user info. Click on" msgstr "" #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 msgid "to send an instant message to that user." msgstr "" #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "" #: ../../i18n_templatelist.c:880 msgid "Share" msgstr "" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "Kirjoita uusi salasana:" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "Kirjoita salasana uudestaan:" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "Vaihda salasana" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "Vaihda käyttäjänimeä" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "" #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 msgid "...with unread messages" msgstr "" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 msgid "oops! Back to " msgstr "" #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 msgid "Summary page" msgstr "" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 msgid "(all registered users)" msgstr "" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 #, fuzzy msgid "New blog post" msgstr "uudempia virkaa" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 #, fuzzy msgid "Save changes?" msgstr "Tallenna muutokset" #~ msgid "Your password was not accepted." #~ msgstr "Salasana ei kelpaa" webcit-9.01-dfsg/po/webcit/fr.po000066400000000000000000005123141254743150300165150ustar00rootroot00000000000000# translation of webcit.po to fr.po # Copyright (C) 2008 - 2009 The Citadel Project - http://www.citadel.org # # Gilles Desplanques - # Jacques Lavignotte - # Thierry Pasquier - , 2006 # Robert di Rosa # Peter Bocsak # # This file is distributed under BSD License msgid "" msgstr "" "Project-Id-Version: WebCit\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2013-10-28 08:45+0000\n" "Last-Translator: Peter Bocsak \n" "Language-Team: \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2013-10-29 04:35+0000\n" "X-Generator: Launchpad (build 16818)\n" "X-Poedit-Country: FRANCE\n" "X-Poedit-Language: French\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "disponibilité inconnue" #: ../../availability.c:169 msgid "free" msgstr "libre" #: ../../availability.c:179 msgid "BUSY" msgstr "OCCUPÉ(E)" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "Le téléchargement de l'image a été abandonné." #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "Vous n'avez pas téléchargé de fichier." #: ../../graphics.c:106 msgid "your photo" msgstr "Votre photographie" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "l'icône de ce salon" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "l'image d'accueil pour la connexion" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "la bannière de déconnexion" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "l'icône de ce palier" #: ../../tasks.c:93 msgid "Completed?" msgstr "Achevé ?" #: ../../tasks.c:95 msgid "Name of task" msgstr "Intitulé de la tâche" #: ../../tasks.c:97 msgid "Date due" msgstr "Échéance" #: ../../tasks.c:99 msgid "Category" msgstr "Catégorie" #: ../../tasks.c:101 msgid "Show All" msgstr "Les montrer tous" #: ../../tasks.c:224 msgid "Edit task" msgstr "Éditer la tâche" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "Résumé :" #: ../../tasks.c:259 msgid "Start date:" msgstr "Date de début :" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "Sans date" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "ou" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "Temps associé" #: ../../tasks.c:289 msgid "Due date:" msgstr "Échéance :" #: ../../tasks.c:318 msgid "Completed:" msgstr "Achevé :" #: ../../tasks.c:329 msgid "Category:" msgstr "Catégorie:" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "Description :" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "Enregistrer" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "Supprimer" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "Abandonner" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "Tâche sans titre" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, c-format msgid "%d comments" msgstr "%d commentaires" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "Lien permanent" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "les nouveaux messages" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "des messages plus anciens" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "Éditer %s" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" "Écrivez %s ci-dessous. Le texte est composé à la largeur de l'écran du " "lecteur. Pour modifier ce formatage, indentez une ligne d'au moins un espace." #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "Enregistrer les modifications" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "Abandon. %s n'a pas été enregistré." #: ../../sysmsgs.c:103 msgid " has been saved." msgstr " à été sauvegardé" #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "Informations sur le salon" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "Votre biographie" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "Heure : " #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "Minute : " #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "(pas encore de réponse)" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "(action requise)" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "(accepté)" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "(décliné)" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "(tentative)" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "(délégué)" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "(achevé)" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "(en cours)" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "(aucun)" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "Gérer les associations comptes / OpenID" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "Voulez vous vraiment supprimer ce compte OpenID?" #: ../../openid.c:47 msgid "(delete)" msgstr "(Supprimer)" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "Ajouter un compte OpenID " #: ../../openid.c:58 msgid "Attach" msgstr "Attacher" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "%s n'autorise pas l'authentification via OpenID." #: ../../summary.c:128 msgid "(None)" msgstr "(Rien)" #: ../../summary.c:184 msgid "(Nothing)" msgstr "(Vide)" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "Aller à la page : " #: ../../bbsview_renderer.c:354 msgid "First" msgstr "Premier" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "Dernier" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "realloc() error! couldn't get %d bytes: %s" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "Supprimé" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "Nouvel usager" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "Usager à problème" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "Usager local" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "Usager en réseau" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "Usager privilégié" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "Administrateur" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "Une erreur est apparue." #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "Valider les nouveaux usagers" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "Aucun usager ne requière de validation actuellement." #: ../../auth.c:617 msgid "very weak" msgstr "très faible" #: ../../auth.c:620 msgid "weak" msgstr "faible" #: ../../auth.c:623 msgid "ok" msgstr "ok" #: ../../auth.c:627 msgid "strong" msgstr "strong" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "Niveau d'accès actuel : %d (%s)\n" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "Sélection du niveau d'accès de cet usager :" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "Abandon. Le mot de passe n'a pas été changé." #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "" "Les deux saisies sont différentes. Le mot de passe n'a pas été modifié." #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "Les mots de passe vides ne sont pas autorisés." #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "Invitation à une réunion" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "Réponse(s) à votre invitation" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "Événement publié" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "Type d'événement inconnu." #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "Lieu :" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "Date :" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "Date et horaire de début :" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "Date et horaire de fin :" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "Récurrence" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "C'est un événement récurrent" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "Participant-e-s :" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "Ceci est une mise à jour de '%s' déjà présent dans votre agenda." #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "" "Cet événement entre en conflit avec '%s' qui est déjà dans votre agenda." #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "Mise à jour :" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "CONFLIT :" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "Comment souhaitez-vous répondre à cette invitation ?" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "Accepter" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "Peut-être" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "Décliner" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "" "Cliquez sur Mise à jour pour accepter cette réponse et actualiser " "votre agenda." #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "Mise à jour" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "Ignorer" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "Il y a une erreur dans l'analyse des données de cet événement." #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "Vous avez accepté cette invitation. Votre agenda a été actualisé." #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "" "Vous avez indiqué que vous accepteriez 'Peut-être' cette invitation, elle " "est notée provisoirement dans votre agenda." #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "" "Vous avez décliné cette invitation. Votre agenda n'a pas été modifié." #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "Une réponse a été envoyée à l'organisateur de la réunion." #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "Votre agenda a été mis à jour pour tenir compte de cette réponse." #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "" "Vous avez choisi d'ignorer cette réponse. Votre agenda n'a pas été " "modifié." #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "Heure de début de journée :" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "Heure de fin de journée :" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "La semaine démarre le:" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "Une erreur est apparue en récupérant ce fichier : %s\n" #: ../../event.c:71 msgid "seconds" msgstr "secondes" #: ../../event.c:72 msgid "minutes" msgstr "minutes" #: ../../event.c:73 msgid "hours" msgstr "heures" #: ../../event.c:74 msgid "days" msgstr "jours" #: ../../event.c:75 msgid "weeks" msgstr "semaines" #: ../../event.c:76 msgid "months" msgstr "mois" #: ../../event.c:77 msgid "years" msgstr "années" #: ../../event.c:78 msgid "never" msgstr "jamais" #: ../../event.c:82 msgid "first" msgstr "Prénom" #: ../../event.c:83 msgid "second" msgstr "Envoyer" #: ../../event.c:84 msgid "third" msgstr "troisième" #: ../../event.c:85 msgid "fourth" msgstr "quatrième" #: ../../event.c:86 msgid "fifth" msgstr "cinquième" #: ../../event.c:89 msgid "Event" msgstr "Événement" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "invités" #: ../../event.c:168 msgid "Add or edit an event" msgstr "Ajouter ou modifier un événement" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "Résumé" #: ../../event.c:222 msgid "Location" msgstr "Lieu" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "Début" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "journée entière" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "Fin" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "Notes" #: ../../event.c:374 msgid "Organizer" msgstr "Organisateur" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "(vous êtes l'organisateur)" #: ../../event.c:397 msgid "Show time as:" msgstr "Disponibilité" #: ../../event.c:420 msgid "Free" msgstr "Libre" #: ../../event.c:428 msgid "Busy" msgstr "occupé-e" #: ../../event.c:445 msgid "(One per line)" msgstr "(un par ligne)" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "Contacts" #: ../../event.c:518 msgid "Recurrence rule" msgstr "Règle de récurrence" #: ../../event.c:522 msgid "Repeats every" msgstr "Répéter chaque" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "ces jours de la semaine:" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "le jour %s%d%s du mois" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "sur le " #: ../../event.c:631 msgid "of the month" msgstr "du mois" #: ../../event.c:660 msgid "every " msgstr "chaque " #: ../../event.c:661 msgid "year on this date" msgstr "année de cette date" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "de" #: ../../event.c:717 msgid "Recurrence range" msgstr "plage de récurrence" #: ../../event.c:725 msgid "No ending date" msgstr "Pas de date de fin" #: ../../event.c:732 msgid "Repeat this event" msgstr "Répéter cet événement" #: ../../event.c:735 msgid "times" msgstr "heures" #: ../../event.c:743 msgid "Repeat this event until " msgstr "Répéter cette évènement jusqu'à " #: ../../event.c:771 msgid "Check attendee availability" msgstr "Vérifiez la disponibilité des invités" #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "Événement sans titre" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "Options de la barre d'icônes" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "Paramètre invalide" #: ../../inetconf.c:126 msgid " has been deleted." msgstr " à été supprimé" #. added status message #: ../../inetconf.c:144 msgid " added." msgstr " ajouté" #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "Un niveau d'accès supérieur est requis pour utiliser cette fonction" #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "" "Vous devez spécifier la liste de distribution à laquelle vous, vous inscrivez" #: ../../listsub.c:38 ../../listsub.c:76 msgid "You need to specify the email address you'd like to subscribe with." msgstr "Vous devez spécifier l'adresse mail avec laquelle vous vous inscrivez" #: ../../messages.c:73 msgid "ERROR:" msgstr "ERREUR :" #: ../../messages.c:91 msgid "Empty message" msgstr "Message vide" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "Abandon. Message non envoyé." #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "Abandon automatique car vous avez déjà enregistré ce message." #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "Sauvegarde dans le dossier brouillon à échoué " #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "L'envoit de message vide à été réfusé\n" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "Le message à été sauvé dans le dossier brouillon\n" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "Message envoyé.\n" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "Message posté.\n" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "Ce message n'a pas été déplacé." #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "Une erreur est apparue en récupérant cette partie : %s/%s\n" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "Une erreur est apparue en récupérant cette partie : %s\n" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "Attacher une signature aux courriels ?" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "Utiliser cette signature :" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "Jeu de caractères par défaut pour les en-têtes des courriels :" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "Adresse de courriel préférée" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "Intitulé d'affichage des courriels" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "Nom à utiliser dans le panneau d'affichage" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "Mode d'affichage" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "Cliquer sur une note pour la modifier." #: ../../paging.c:29 msgid "Send instant message" msgstr "Envoyer un message instantané" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "Envoyer un message instantané à : " #: ../../paging.c:51 msgid "Enter message text:" msgstr "Entrez le texte du message :" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "Envoyer le message" #: ../../paging.c:78 msgid "Message was not sent." msgstr "Le message n'a pas été envoyé." #: ../../paging.c:89 msgid "Message has been sent to " msgstr "Le message a été envoyé à " #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "Annulé. Aucun réglage n'a été modifié." #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "En faire ma page d'accueil" #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "Ceci ne peut pas devenir votre page d'accueil" #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "Vous n'avez pas encore choisi de page d'accueil." #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "page d'accueil par défaut" #: ../../roomlist.c:105 msgid "My Folders" msgstr "Mes répetoires" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "Abandon. Les modifications ne seront pas prises en compte." #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "Vos modifications ont été enregistrées." #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "L'utilisateur %s a été renvoyé du salon %s." #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "L'utilisateur %s a été invité à rejoindre le salon %s." #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "Abandon. Aucun nouveau salon n'a été créé." #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "Le palier a été détruit." #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "Un nouveau palier a été créé." #: ../../roomops.c:1363 msgid "Room list view" msgstr "Liste des salons" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "Afficher les paliers vides" #: ../../roomtokens.c:570 msgid "file" msgstr "fichier" #: ../../roomtokens.c:572 msgid "files" msgstr "fichiers" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "Panneau d'affichage" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "Dossier de messages" #: ../../roomviews.c:55 msgid "Address Book" msgstr "Carnet d'adresses" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "Calendrier" #: ../../roomviews.c:57 msgid "Task List" msgstr "Liste des tâches" #: ../../roomviews.c:58 msgid "Notes List" msgstr "Liste des notes" #: ../../roomviews.c:59 msgid "Wiki" msgstr "Wiki" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "Agenda" #: ../../roomviews.c:61 msgid "Journal" msgstr "Journal" #: ../../roomviews.c:62 msgid "Drafts" msgstr "Brouillons" #: ../../roomviews.c:63 msgid "Blog" msgstr "Blog" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" "Le nombre maximum d'usagers simultanés sur ce serveur est atteint, celui-ci " "ne peut plus accepter de connexions supplémentaires. SVP essayez plus tard " "ou contactez l'administrateur du système." #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "" "Nous avons reçu une réponse inatendue du serveur Citadel; interruption du " "programme." #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" "Vous êtes connecté à un serveur qui fonctionne avec Citadel %d.%02d. \n" "Pour permettre à cette version de WebCit de fonctionner, vous devez utiliser " "Citadel %d.%02d ou une version plus récente.\n" "\n" "\n" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "La configuration de votre système a été mise à jour" #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "Première tentative en attente" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "" "Une erreur est apparue pendant la création ou la modification de ce contact." #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "Les changements n'ont pas été enregistrés." #: ../../useredit.c:778 msgid "A new user has been created." msgstr "Un nouvel usager a été créé." #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" "Vous essayez de créer un nouvel usager en utilisant le système interne à " "Citadel alors que celui-ci est en mode d'authentification sur le système. " "Dans ce mode, vous devez créer les nouveaux usagers directement sur le " "système hôte et non avec Citadel." #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "(pas de nom)" #: ../../vcard_edit.c:438 msgid " (work)" msgstr " (travail)" #: ../../vcard_edit.c:440 msgid " (home)" msgstr " (accueil)" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr " (portable)" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "Adresse :" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "Téléphone :" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "Courriel :" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "Le carnet d'adresses est vide." #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "Une erreur interne est apparue." #: ../../vcard_edit.c:940 msgid "Error" msgstr "Erreur" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "Modifier l'information du contact" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "Civilité" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "Prénom" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "Deuxième prénom" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "Nom" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "Suffixe" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "Nom affiché :" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "Titre :" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "Organisation :" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "Boîte postale :" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "Ville :" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "État :" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "Code postal :" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "Pays :" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "Téléphone personnel :" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "Téléphone professionnel :" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "Téléphone personnel :" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "Numéro de fax:" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "Adresse de courriel principale" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "Alias d'adresses de courriel" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "Impossible d'entrer dans le salon pour sauver votre message" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "Abandon." #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "Impossible de décoder la photo de la vcard\n" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "Autorisation requise" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" "La ressource que vous avez demandée requiert un nom d'usager et un mot de " "passe valides. Vous n'avez pas été connecté à %s\n" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" "Ce programme n'a pas pu se connecter ou rester connecté au serveur Citadel. " "SVP informez l'administrateur du système de ce problème." #: ../../webcit.c:688 msgid "Read More..." msgstr "En lire plus..." #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "'%s' n'est pas un salon du type wiki." #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "Il n'y a pas ici de page nommée '%s'." #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "" "Pour créer cette page, sélectionnez le lien 'Éditer cette page ' dans la " "bannière du salon." #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "Date" #: ../../wiki.c:143 msgid "Author" msgstr "Auteur" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "(montrer)" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "Version actuelle" #: ../../wiki.c:184 msgid "(revert)" msgstr "(annuler)" #: ../../wiki.c:246 msgid "Page title" msgstr "Titre de la page" #: ../../fmt_date.c:306 msgid "Time format" msgstr "Format horaire" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "De" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "date de début:" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "date de fin:" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "Date/heure" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "Notes :" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "précédent" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "suivant" #: ../../calendar_view.c:750 msgid "Week" msgstr "Semaine" #: ../../calendar_view.c:752 msgid "Hours" msgstr "Heures" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "Objet" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "Évènement en cours" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "modifier" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "Je ne sais pas comment afficher " #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "(pas d'objet)" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "La file d'attente est vide." #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "Vous n'avez pas accès à cette ressource." #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "Personnalisation du menu" #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "Afficher les entrées du menu comme:" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "icônes et textes" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "icônes seulement" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "textes seulement" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "" "Sélectionnez les icônes que vous souhaitez afficher dans le menu situé à " "gauche de l'écran." #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "Oui" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "Non" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "Logo du site" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "Une icône représentative de ce site" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "Votre tableau de bord" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "Courrier (boîte de réception)" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "Raccourci vers votre boîte de réception" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "Votre carnet d'adresses personnel" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "Vos notes personnelles" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "Raccourci vers votre agenda personnel" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "Tâches" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "Raccourci vers votre liste de tâches personnelles" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "Salons" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "La liste des paliers et de tous les salons accessibles" #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "Qui est connecté ?" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "La liste de tous les usagers connectés" #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "Clavardage" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "Clavarder avec les autres personnes présentes dans ce salon." #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "Options avancées" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "Accès à l'ensemble des fonctions de Citadel." #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "Logo de Citadel" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "Affiche l'icône 'Powered by Citadel'" #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 msgid "System Administration Menu" msgstr "Menu d'administration du système" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 msgid "Room Admin Menu" msgstr "Menu d'amdinistration des salons" #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "Pseudonymes de l'hôte local" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "Domaines des annuaires" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "Serveurs de relais" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 msgid "Fallback smart hosts" msgstr "Serveurs de relais" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "Hôtes de notification" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 msgid "RBL hosts" msgstr "Serveurs de listes noires" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "Serveurs SpamAssassin" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "Hôte du démon ClamAV" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 msgid "Masqueradable domains" msgstr "Domaines non distribués localement" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" "Les changements effectués à partir de cet écran ne seront effectifs qu'après " "un redémarrage du serveur Citadel." #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 msgid "Network services" msgstr "Services réseau" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 #, fuzzy msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "Adresse IP du serveur (0.0.0.0 pour 'quelconque')" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "Port d'écoute du client XMPP POP3 (-1 pour désactiver ce service)" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "Port d'écoute XMPP (Jabber) (-1 pour désactiver ce service)" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "Réglages avancés du serveur" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "Longueur maximum des messages" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "Limite de temps d'inactivité d'une connexion au serveur (en secondes)" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "Fréquenece de lancement du réseau (en secondes)" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "Nombre de sessions simultanées (pas de limite = 0)" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "Nombre minimum de processus" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "Nombre maximum de processus" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "Supprimer automatiquement les journaux validés des bases de données" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "Créer un nouveau salon" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "Nom du salon : " #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "Réside sur le palier : " #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "Vue par défaut de ce salon : " #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "Type de salon :" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "Public (est visible de tous les usagers)" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "Privé - caché (accessible à quiconque connaît son nom)" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "Privé - le mot de passe est requis : " #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "Privé - seulement sur invitation" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "Personnel (une boîte aux lettres pour vous seulement)" #: ../../i18n_templatelist.c:95 msgid "Create new room" msgstr "Créez un nouveau salon" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "Déconnexion" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "Se connecter à nouveau" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "Sauter (mettre de côté) le salon courant" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 msgid "If you select this option," msgstr "Si vous séléctionnez cette option," #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 msgid "will disappear from your room list. Is this what you wish to do?" msgstr "va disparaitre de se salon. Est-ce ce que vous désirez ?" #: ../../i18n_templatelist.c:102 msgid "Zap this room" msgstr "Mettre de côté ce salon" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" "ATTENTION: JavaScript est désactivé dans votre navigateur. Plusieurs " "fonctionnalités du système ne seront pas disponibles." #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "Nom d'usager" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "Salon" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "Machine d'origine" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "Expéditeur" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "Chargement en cours des messages depuis les serveurs. SVP patientez." #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "Ouvrir dans une nouvelle fenêtre" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "Déplacer" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "Copier" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "Imprimer" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "" "(Envoyer les mails sortant à ces hôtes uniquement lorsque l'envoi échoue)" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "Salons mis de côté (sautés)" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 msgid "Click on any room to un-zap it and goto that room." msgstr "Cliquer sur n'importe quel salon pour le réactiver et aller à ce salon" #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" "Vous avez un ou plusieurs messages instantanés en attente, mais il est " "impossible d'ouvrir une fenêtre de lecture. Le blocage des pop-ups " "intempestives est probablement activé, SVP configurez votre navigateur pour " "les autoriser (au moins pour Citadel) si vous souhaitez lire les messages " "instantanés." #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "Changer vos préférences et options" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "Mettre à jours vos données personnelles" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "Changez votre mot de passe" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "Entrer votre 'biographie'" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "Poser votre portrait" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "Éditer les filtres de courriels" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "Éditer les paramètres pour faire suivre les courriels." #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 msgid "Manage your OpenIDs" msgstr "Gérer vos OpenIDs" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "" "Le serveur Citadel doit redémarrer. Il sera de nouveau en service dans une " "minute" #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "Voir" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "Télécharger" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "Configuration générale" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "Gestion des comptes d'usagers" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "Arrêter Citadel" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "Salons et paliers" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "Allez à un salon caché" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" "Si vous connaissez le nom caché (devinez le nom) ou le mot de passe d'un " "salon caché, vous pouvez entrer dans ce salon en saisissant son nom ci-" "dessous. Une fois que vous aurrez rejoint le salon privé, elle apparaîtra " "dans la liste de vos salons habituels, de sorte à ce que vous n'ayez plus " "besoin de revenir ici." #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "Écrivez le nom du salon :" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "Écrivez le mot de passe pour accéder au salon :" #: ../../i18n_templatelist.c:144 msgid "Go there" msgstr "Aller là" #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "de " #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "à" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "Copie conforme :" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "Objet :" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 msgid "Push Email" msgstr "Transfert du courrier" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 msgid "Funambol server host (blank to disable)" msgstr "Nom d'hôte du serveur Funambol (laisser vide pour désactiver)" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 msgid "Funambol server port " msgstr "Numéro de port de Funambol " #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 msgid "Funambol sync source" msgstr "Source de synchronisation Funambol" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "Détails d'authentification Funambol (user:pass)" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 msgid "External pager tool (blank to disable)" msgstr "External pager tool (blank to disable)" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "Vue en arborescence" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "Vue en tableaux" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "12 heures (am/pm)" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "24 heures" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 msgid "Sunday" msgstr "Dimanche" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 msgid "Monday" msgstr "Lundi" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "Pas de signature" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "Pleines fonctionnalités" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "Mode sûr" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "" "Le mode sûr est moins contraignant pour votre navigateur, mais pas aussi " "complet." #: ../../i18n_templatelist.c:168 msgid "Change" msgstr "Changer" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "Préférences et options" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "" "(URLS pour la notification lorsque les utilisateurs reçoivent de nouveaux " "emails; )" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "" "Syntaxe: nomdumodeldenotification:http[s]://utilisateur:motdepasse@hostname/" "chemin" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "Commandes de base" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "Vos informations" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "Commandes avancées des salons" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "Modifier ce compte : " #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "Identifiant :" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "Mot de passe" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "Permission d'envoyer des courriels vers Internet" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 msgid "Number of logins" msgstr "Nombres de connexions" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 msgid "Messages submitted" msgstr "Messages soumis" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 msgid "Access level" msgstr "Niveau d'accès" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 msgid "User ID number" msgstr "Identifiant numérique de l'usager" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "Date et heure de la dernière connexion" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "Purge automatique après ce nombre de jours" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "POP3" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "Port d'écoute de POP3 (-1 pour désactiver ce service)" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "Port POP3 sécurisé via SSL (-1 pour désactiver)" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 msgid "POP3 fetch frequency in seconds" msgstr "Fréquence de récupération POP3 en secondes" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 msgid "POP3 fastest fetch frequency in seconds" msgstr "Fréquence de récupération POP3 la plus rapide en secondes" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "Voir la queue SMTP sortante" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "Actualiser cette page" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 #, fuzzy msgid "Remote Sites:" msgstr "Serveurs de relais" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 #, fuzzy msgid "Status:" msgstr "État :" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 #, fuzzy msgid "Jobs waiting for further processing:" msgstr "(en cours)" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 msgid "Message to your Users:" msgstr "Message aux usagers:" #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "Administration" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "Configuration" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "Politique d'expiration des messages" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "Contrôles d'accès" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "Partage" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "Service des listes de diffusion" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "Récupération à distance" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "" "Votre barre d'icônes à été mise à jour. Veuillez séléctionner une option " "pour continuer." #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "" "Vous devriez forcer un rafraîchissement (MAJ-F5) pour que les changements " "prennent effets" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 msgid "General site configuration items" msgstr "Éléments de configuration générale du site" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "Changer le logo de connexion" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "Changer le logo de déconnexion" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 msgid "Node name" msgstr "Nom du nÅ“ud" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "Nom de domaine pleinement qualifié" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "Nom du nÅ“ud lisible pour un usager" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 msgid "Telephone number" msgstr "Numéro de téléphone" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "Invite du paginateur (pour les clients en mode texte)" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "Localisation géographique de ce serveur" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "Nom de l'administrateur du système" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "" "Fuseau horaire par défaut des événements de l'agenda sans mention du fuseau" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 #, fuzzy msgid "Networked Room" msgstr "Salon partagé via le réseau" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 msgid "Add a new node" msgstr "Ajouter un nouveau nÅ“ud" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "Code secret partagé" #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "Hôte ou adresse IP" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 msgid "Port number" msgstr "Numéro de port" #: ../../i18n_templatelist.c:241 msgid "Add node?" msgstr "Ajouter un noeud ?" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 msgid "(kill)" msgstr "(supprimer)" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 msgid "Edit configuration" msgstr "Modifier la configuration" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 msgid "Edit address book entry" msgstr "Modifier un contact du carnet d'adresse" #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "idle since" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 msgid "Minutes" msgstr "minutes" #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 msgid "active" msgstr "actif" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 msgid "(Edit)" msgstr "(Edition)" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "(Supprimer)" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "Pas de nouveaux messages" #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "En faire ma nouvelle page d'accueil" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "Votre page d'accueil à été changée." #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" "(Note: ceci ne changera pas la page d'accueil de votre navigateur, mais " "seulement celle que vous obtiendrez dès votre connexion." #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "Poster un commentaire" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "Confirmer la suppression" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "Êtes vous sur de vouloir supprimer " #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 msgid "Add, change, delete user accounts" msgstr "Ajouter, modifier ou supprimer des comptes" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 msgid "(hosts running the ClamAV clamd service)" msgstr "(hôtes sur lesquels fonctionne le service ClamAV)" #: ../../i18n_templatelist.c:270 msgid "Send" msgstr "Envoyer" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 msgid "Restart Citadel" msgstr "Redémarrer Citadel" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "de" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "Messages anonymes" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "dans" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "À :" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "Copie cachée à :" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "Objet (facultatif) :" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "--- message transféré ---" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 msgid "Post message" msgstr "Poster le message" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "Sauvegarde comme brouillon" #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "Documents joints :" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 msgid "Delete this message?" msgstr "Détruire ce message ?" #: ../../i18n_templatelist.c:300 #, fuzzy msgid "Room Logo" msgstr "Informations sur le salon" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "Recherche " #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "Résultat de la commande serveur" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 msgid "Enter another command" msgstr "Entrer une autre commande" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 msgid "Return to menu" msgstr "Retour au menu" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 msgid "Users currently on" msgstr "Usagers actuellement dans" #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "Profil usager" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 msgid "Click here to send an instant message to" msgstr "Clickez ici pour envoyer un message instantané à" #: ../../i18n_templatelist.c:308 msgid "Pictures in" msgstr "Images dans" #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 msgid "Edit or delete users" msgstr "Modifier ou supprimer des usagers." #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 msgid "You need to be aide to view this." msgstr "Vous n'avez pas accès à cette ressource." #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 msgid "Add users" msgstr "Ajouter des usagers" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 msgid "Edit or Delete users" msgstr "Modifier ou supprimer des usagers." #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "" "S'il vous plaît, patientez pendant que le serveur Citadel redémarre... " #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 msgid "User list for " msgstr "Liste des utilisateur pour " #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "Identifiant" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "Numéro" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "Niveau d'accès" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "Dernière connexion" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "Nombre total de connexions" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "Nombre de messages" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "Chargement" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "Votre OpenID" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "A été vérifié avec succès" #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "Malgrès, le nom d'utilisateur" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "Conflits avec un utilisateur existant" #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "SVP précisez le nom d'usager que vous souhaitez utiliser." #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "Quitter" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "Politique d'expiration des messages de ce salon" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "Utiliser la politique par défaut pour ce palier" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "Les messages n'expirent jamais automatiquement" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "Expiration des messages en fonction du compte" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "Expiration des messages en fonction de l'âge" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "Nombre de messages ou de jours : " #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "Règles d'expiration des messages de ce palier" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "Utiliser la configuration par défaut" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "Fermer la fenêtre" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 #, fuzzy msgid "Upload failed" msgstr "Téléverser un fichier" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 #, fuzzy msgid "Are you shure you want to delete {filename}?" msgstr "Êtes vous sur de vouloir supprimer " #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "Joindre un fichier" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 msgid "Remove" msgstr "Supprimer" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "Indexation et journalisation" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "Attention: ces fonctionnalités sont très exigeantes en ressources." #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "Activer l'indexation de tout le texte" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 msgid "Perform journaling of email messages" msgstr "Procéder à la journalisation des messages de courrier électronique" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 msgid "Perform journaling of non-email messages" msgstr "Procéder à la journalisation des autres messages (sauf courriel)" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "Adresse courriel de destination des messages journalisés" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "Les fichiers sont téléchargeables à partir de" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "Téléverser un fichier" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "Télécharger" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "Nom du fichier" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "Taille" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "Contenu" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "Description :" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" "Cette installation de Citadel a été construite sans support du filtrage des " "mail côté serveur.
    SVP contactez votre administrateur si vous avez besoin " "de cette fonction.
    " #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "Nouveau depuis" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "messages" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "Sélectionner la page : " #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "" "Récupérer les messages de comptes POP3 distants et les stocker dans ce " "salon :" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 msgid "Remote host" msgstr "Serveurs de relais" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 msgid "Keep messages on server?" msgstr "Garder les messages sur le serveur?" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 msgid "Interval" msgstr "Intervalle" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "Ajouter" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "Récupérer les flux RSS suivants et les stocker dans ce salon :" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "URL du flux" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "" "Pour créer un nouveau compte d'usager, entrez son identifiant dans le champ " "de saisie ci-après et cliquez sur 'Créer'." #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 msgid "New user: " msgstr "Nouvel usager : " #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "Créer" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "(domaines référencés dans l'annuaire principal)" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "Liste des pages Wiki" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "(enlever)" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" "Les utilisateurs suivant ont accès au salon. Pour supprimer un utilisateur " "de la liste d'accès, sélectionnez l'utilisateur et clickez 'éjecter'." #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "Éjecter" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" "Pour accorder l'accès à ce salon à un usager, entrer son identifiant dans le " "champ de saisie ci-dessous et cliquer sur 'Inviter'." #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "Inviter :" #: ../../i18n_templatelist.c:426 msgid "Invite" msgstr "Inviter" #: ../../i18n_templatelist.c:427 msgid "User" msgstr "Usager" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 msgid "Users" msgstr "Usagers" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 #, fuzzy msgid "Addressbook Popup" msgstr "Carnet d'adresses" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "" "Pour modifier un compte, sélectionnez l'identifiant de ce compte dans la " "liste puis cliquez 'Éditer'." #: ../../i18n_templatelist.c:435 msgid "Delete user" msgstr "Supprimer un usager" #: ../../i18n_templatelist.c:436 msgid "Delete this user?" msgstr "Supprimer cet usager ?" #: ../../i18n_templatelist.c:437 #, fuzzy msgid "Delete File" msgstr "Supprimer une règle" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "Diaporama" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "(hôtes sur lesquels fonctionne le service SpamAssassin)" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "which is already in your calendar." msgstr "Ceci est une mise à jour de '%s' déjà présent dans votre agenda." #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "This event would conflict with" msgstr "" "Cet événement entre en conflit avec '%s' qui est déjà dans votre agenda." #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "Quand un nouveau mail arrive : " #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "Le laisser dans ma boîte aux lettres sans le filtrer" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "Le filtrer en lui appliquant les règles ci-dessous" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "" "Le filtrer au travers d'un script créé manuellement (pour les usagers " "avancés seulement)" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "Vos courriels ne seront filtrés par aucun scripts." #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "Ajouter une règle" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "le script actif est : " #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "Éditer ou supprimer des usagers." #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "Configuration du connecteur LDAP" #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" "NOTE: Ce serveur Citadel a été mis en fonction sans prise en charge de LDAP. " "Ces options n'auront aucun effet." #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "Nom d'hôte du serveur d'annuaire LDAP (laisser vide pour désactiver)" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "Numéro du port LDAP (laisser vide pour désactiver)" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "DN de base" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "DN d'association" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "Mot de passe du DN d'association" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "Éditer ou supprimer ce salon" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "Rejoindre un salon 'caché'" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 msgid "Zap (forget) this room" msgstr "Sauter (mettre de côté) ce salon" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "Liste de tous les salons mis de côté" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 #, fuzzy msgid "Zap duplicate messages" msgstr "Lire les nouveaux messages" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "Référence du messages" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "Date et heure de soumission" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 msgid "Next attempt" msgstr "Prochain essait" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "Destinataires" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "Lecture #" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "du plus ancien au plus récent" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "du plus récent au plus ancien" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "" "S'il vous plait patientez pendant que Citadel informe les usagers, le " "serveur redémarrera ensuite... " #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "Éditer (?)" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "Répondre" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "Répondre en citant" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "Répondre à tous" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "Faire suivre" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "Entêtes" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "Modifier la configuration générale du site" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "Configuration des noms de domaine et du courrier électronique" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "Configurer la réplication avec d'autres serveurs Citadel" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 msgid "Powered by Citadel" msgstr "Motorisé par Citadel" #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "Langue :" #: ../../i18n_templatelist.c:507 msgid "Go to your email inbox" msgstr "Vers votre boîte de réception de courriels" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "Courriel" #: ../../i18n_templatelist.c:509 msgid "Go to your personal calendar" msgstr "Vers votre agenda personnel" #: ../../i18n_templatelist.c:511 msgid "Go to your personal address book" msgstr "Vers votre carnet d'adresses personnel" #: ../../i18n_templatelist.c:513 msgid "Go to your personal notes" msgstr "Vers vos notes personnelles" #: ../../i18n_templatelist.c:515 msgid "Go to your personal task list" msgstr "Vers votre liste des tâches personnelles" #: ../../i18n_templatelist.c:517 msgid "List all your accessible rooms" msgstr "Liste de tous les salons qui vous sont accessibles" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "Voir qui est connecté en ce moment" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "Usagers en ligne" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "Options avancées de gestion des salons, des comptes et du clavardage" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "Admin et préférences" #: ../../i18n_templatelist.c:526 msgid "Room and system administration functions" msgstr "Commandes d'administration des salons et du système" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "personnaliser ce menu" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "Connexion" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "passer aux salons" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "passer au menu" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "Mes répertoires" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "Port d'écoute IMAP (-1 pour désactiver ce service)" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "Port IMAP sécurisé via SSL (-1 pour désactiver)" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "Conserver les entêtes originaux avec IMAP" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "Image téléchargée" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "Vous pouvez télécharger une image directement depuis votre ordinateur" #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "Sélectionner un fichier à transférer :" #: ../../i18n_templatelist.c:545 msgid "Reset form" msgstr "Réinitialiser le formulaire" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "Abonnement à la liste" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "Abonnement/désabonnement à la liste" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "Requête de confirmation envoyée." #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "Vous vous inscrivez " #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 msgid " to the " msgstr " à " #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 msgid " mailing list." msgstr " liste de distribution" #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" "Le listserver vous a envoyé un email avec un lien Internet supplémentaire " "que vous pourrez cliquer pour confirmer votre inscription." #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" "Cette étape supplémentaire est là pour votre protection, dans la mesure où " "elle ne permet pas à d'autres de vous inscrire à des listes sans votre " "consentement." #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" "Veuillez clicker sur le lien qui vous à été envoyé par email, afin de " "valider votre inscription." #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "Retour..." #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 msgid "ERROR" msgstr "ERREUR" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "Vous vous inscrivez" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 msgid "from the" msgstr "De" #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 msgid "mailing list." msgstr "liste de distribution" #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" "Le listserver vous a envoyé un email avec un lien Internet supplémentaire " "que vous pourrez cliquer pour confirmer votre inscription." #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" "Cette étape supplémentaire vise à vous protéger, elle évite que d'autres " "usagers puissent se désinscrire à vos listes sans votre consotement." #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" "Veuillez clicker sur le lien qui vous à été envoyé par email, afin de " "valider votre désinscription." #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 msgid "Back..." msgstr "Retour..." #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 msgid "Confirmation successful!" msgstr "Confirmation réussie" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 msgid "Confirmation failed." msgstr "Confirmation échoué" #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "Cela peut signifier une des deux options:" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" "Vous avez attendu trop longtemps pour valider votre demande d'inscription/" "désinscription (le mail de confirmation n'est valable que pendant trois " "jours)" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" "Vous avez déjà confirmé votre demande d'inscription/désinscription et " "êtes en train d'essayer à nouveau de le faire." #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "L'erreur retourné par le serveur est: " #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 msgid "Name of list:" msgstr "Nom de la liste :" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 msgid "Your e-mail address:" msgstr "Votre adresse mail" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "(en cas d'inscription) format préféré: " #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 msgid "One message at a time" msgstr "Un message à la fois" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 msgid "Digest format" msgstr "Digest format" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" "Lors que vous essayez de vous inscrire ou de vous désinscrire à une liste " "d'envoie, vous allez recevoir un email contenant un lien Internet " "supplémentaire que vous devrez cliquer pour la confirmation finale." #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" "Cette étape supplémentaire est là pour votre protection, dans la mesure où " "elle permet d'éviter que d'autres puissent vous inscrire ou vous désinscrire " "de listes." #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 msgid "name of room: " msgstr "nom de la salle: " #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "Si ce salon est privé, cela force les usagers à le sauter" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "Réservé aux usagers privilégiés" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "Salon en lecture seulement" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "" "Tous les usagers autorisés à poster peuvent aussi supprimer les messages" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "Dépot de fichiers" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "Nom du répertoire : " #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "Téléversement autorisé" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "Téléchargement autorisé" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "Répertoire visible" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 msgid "Network shared room" msgstr "Salon partagé via le réseau" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "Permanent (pas de purge automatique des contenus)" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "L'objet est requis (les usagers sont obligés de remplir ce champ)" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "Messages anonymes" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "Pas de messages anonymes" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "Tous les messages sont anonymes" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "Invite l'utilisateur à la saisie de message" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 msgid "Room aide: " msgstr "Administrateur " #: ../../i18n_templatelist.c:611 msgid "Delete this entry?" msgstr "Supprimer cette entrée ?" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "Pas de partage avec" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "Partagé avec" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 msgid "Remote node name" msgstr "Nom du nœud distant" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 msgid "Remote room name" msgstr "Nom du salon distant" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "Actions" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 #, fuzzy msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" "Lors du partage d'un salon, le salon doit être partagé avec le même nom des " "deux cotés, et les deux cotés doivent partager le nœud.
  • Si le nom du " "salon est vide ici, elle est supposée l'être de l'autre coté aussi.
  • Si le " "nom du salon est différent, se nom de salon doit aussi être renseigné ici." #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 #, fuzzy msgid "resend messages to this node" msgstr "Garder les messages sur le serveur?" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "Ajouter / modifier / supprimer un palier" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "Numéro de palier" #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "Nom du palier" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "Nombre de salons" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "CSS du palier" #: ../../i18n_templatelist.c:633 msgid "Create new floor" msgstr "Créer un nouveau palier" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "Monter la règle" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "Descendre la règle" #: ../../i18n_templatelist.c:636 msgid "Delete rule" msgstr "Supprimer une règle" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "Si" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "À ou Copie" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "Répondre à" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "Resent-From" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "Resent-To" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "Enveloppe De" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "Enveloppe À" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "X-Mailer" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "X-Spam-Flag" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "X-Spam-Status" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "List-ID" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "Taille du message" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "Tous" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "contient" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "ne contient pas" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "est" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "n'est pas" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "correspond à" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "ne correspond pas à" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "(Tous les messages)" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "est plus grand que" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "est plus petit que" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 msgid "bytes" msgstr "octets" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "Garder" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "Supprimer sans avis" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "Rejeter" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "Déplacer ce message vers" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "Faire suivre" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "Absence" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "Message:" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "et ensuite" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "(en cours)" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "stop" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "(domaines pour lesquels cet hôte reçoit du courrier)" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "Configuration réseau" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "NÅ“uds actuellement configurés" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "(supprimer le palier)" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "(éditer le graphisme)" #: ../../i18n_templatelist.c:679 msgid "Change name" msgstr "Renommer" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "Changer la feuille CSS" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 msgid "Configure automatic expiry of old messages" msgstr "Configurer l'expiration automatique des anciens messages" #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "" "Ces options peuvent être modifiées individuellement par palier ou par salon." #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "Heure de démarrage des purges automatiques" #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 msgid "Default message expire policy for public rooms" msgstr "Règles d'expiration par défaut des messages dans un salon public" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 msgid "Default message expire policy for private mailboxes" msgstr "" "Règles d'expiration par défaut des messages dans une boîte aux lettres privée" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 msgid "Same policy as public rooms" msgstr "Mêmes règles que dans les salons publics" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "Délai de purge par défaut pour cet usager (jours)" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "Délai de purge de ce salon (en jours)" #: ../../i18n_templatelist.c:700 msgid "Are you sure you want to delete this room?" msgstr "Êtes vous sûr de vouloir supprimer ce salon ?" #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "Supprimer ce salon" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 msgid "Set or change the icon for this rooms banner" msgstr "Définir ou changer l'icône de ce salon" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 msgid "Edit this rooms Info file" msgstr "Editer les informations de ce salon" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "Entrer une commande serveur" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" "Cet écran vous permet d'entrer directement des commandes textuelles qui ne " "sont pas supportées par l'interface web de Citadel. Si vous ne savez pas " "trop à quoi cela correspond, cette facilité n'est pas faite pour vous." #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "Entrer une commande :" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "Command input (if requesting SEND_LISTING transfer mode):" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 msgid "Detected host header is " msgstr "L'en-tête de l'hôte detecté est " #: ../../i18n_templatelist.c:709 #, fuzzy msgid "Send command" msgstr "Entrer une commande :" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "Arrêter le partage" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "(hôtes sur lesquels fonctionne une liste noire en temps réel)" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "Contrôles des accès et mise en place des règles de fonctionnement" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "Permettre aux administrateurs de sauter (mettre de côté) des salons" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "Messages d'usagers à problème mis en quarantaine" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "Nom du salon de quarantaine" #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 msgid "Name of room to log pages" msgstr "Nom du salon pour enregistrer les alertes" #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 msgid "Authentication mode" msgstr "Mode d'authentification" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 msgid "Self contained" msgstr "contient" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 msgid "Host based" msgstr "Host based" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "LDAP (RFC2307)" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "LDAP (Active Directory)" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 msgid "Allow anonymous guest access" msgstr "Authoriser les accès client anonymes" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 msgid "Master user name (blank to disable)" msgstr "Nom de l'administrateur (laisser vide pour désactiver)" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 msgid "Master user password" msgstr "Mot de passe de l'administrateur" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 msgid "Initial access level for new users" msgstr "Niveau d'accès initial des nouveaux usagers" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "Niveau d'accès requis pour créer des salons" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "" "Les usagers qui créent des salons privés se voient accordé le statut " "d'administrateurs de ces salons." #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "" "Donner automatiquement le statut \"aide au salon\" aux créateurx de salons " "BLOG" #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "Limiter l'accès au courrier électronique" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "Désactiver le libre-service de création de compte d'usager" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "Conseil: ne pas séléctionner les deux" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "L'enregistrement est requis pour les nouveaux usagers" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 msgid "Add, change, or delete floors" msgstr "Ajouter, modifier ou supprimer des paliers" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "Voir comme" #: ../../i18n_templatelist.c:753 msgid "Delete this note?" msgstr "Supprimer cette note ?" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 msgid "Logged in as" msgstr "Connecté en tant que" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 msgid "Not logged in." msgstr "Non connecté." #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "Vous devez être connecté pour accéder à cette page." #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "Se connecter en utilisant identifiant et mot de passe" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "Mot de passe :" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "Nouvel utilisateur? Inscrivez-vous maintenant" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "" "entrez l'identifiant et le mot de passe que vous souhaitez utiliser et " "cliquez sur "Nouvel usager." " #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "Se connecter en utilisant OpenID" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "adresse OpenID :" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 msgid "Log in using Google" msgstr "Connection en utilisant Google" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 msgid "Log in using Yahoo" msgstr "Connection en utilisant Yahoo" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 msgid "Log in using AOL or AIM" msgstr "Connection en utilisant AOL ou AIM" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "Saisissez votre nom d'utilisateur AOL ou AIM:" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "S'il vous plaît, patientez pendant" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "Ajouter un nouveau nÅ“ud" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" "Pour créer un nouveau script, entrez un nom dans le champ de saisie ci-après " "et cliquez sur 'Créer'." #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "Nom du script : " #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "Éditer les scripts" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "Revenir au formulaire d'édition du script" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "Supprimer des scripts" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "" "Pour détruire un script existant, sélectionnez son nom dans la liste puis " "cliquez 'Supprimer ce script'." #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 msgid "Restart Now" msgstr "Redémarrer maintenant" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "Rédémarrer après avoir bippé les utilisateurs" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "Redémarrage lorsque tous les usagers sont inactifs" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 msgid "Configure Push Email" msgstr "Configurer le transfert du courrier" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "Faire suivre les courriels et paramétrages SMS" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" "Si votre administrateur a installé cette fonctionnalité, Citadel peut " "notifie à un serveur Funambol que vous avez reçu des nouveaux courrier et " "permettre la synchronisation automatique avec n'importe quel périphérique où " "un client Funambol est installé." #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" "Alternativement, si l'administrateur l'a configuré, Citadel peut envoyer un " "message textuel lorsqu'un nouveau mail est arrivé." #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 msgid "Notify Funambol server" msgstr "Notifier le serveur Funambol" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 msgid "Send a text message to..." msgstr "Envoyer un message texte à ..." #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "" "(Utiliser le format international, sans zéros au début ni espaces ou " "ponctuation, comme +61415011501)" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "" "Utilisez les schéma de nothifications personnalisé par votre administrateur" #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "Ne pas envoyer de nothifications" #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "propulsé par" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "Port SMTP (-1 pour désactiver ce service)" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "Port SMTP MSA (-1 pour désactiver)" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "Port SMTP sécurisé via SSL (-1 pour désactiver)" # RBL correspond ici à liste noire # RCPT = réception? #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "Effectuer un test RBL à la connexion plutôt qu'après réception." #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "Marquer les messages comme spam au lieu de les rejeter" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "" "Autoriser les client SMTP non authentifiés à usurper l'identité des domaine " "de ce site" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "" "Corriger les identifications d'expéditeur (FROM:) contrefaites lors de " "session SMTP authentifiées." #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "Port du dictionnaire TCP de Postfix" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "-1 to disable" msgstr "-1 pour désactiver." #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 msgid "ManageSieve Port (-1 to disable)" msgstr "Port d'écoute Sieve (-1 pour désactiver ce service)" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "Configuration du site" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 msgid "General" msgstr "Globale" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 #, fuzzy msgid "Settings" msgstr "Options de la barre d'icônes" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "Pop3" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "Indexation / journalisation" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 msgid "Access" msgstr "Accès" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 msgid "Directory" msgstr "Dossier" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "Purge automatique" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" "Les contenus de ce salon seront envoyés par email sous forme de " "messages individuels à la liste de destinataires:

    " #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" "Les contenus de ce salon seront envoyés par email sous forme de " "resumé à la liste de destinataires:

    " #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 msgid "List" msgstr "Liste" #: ../../i18n_templatelist.c:847 msgid "Digest" msgstr "Résumé" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "Ajoutez des destinataires de Contacts ou d'autres carnets d'adresses" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "Permettre aux non abonnés de poster dans ce salon." #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "Publier dans ce salon nécessite la permission de l'administrateur." #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 msgid "Allow self-service subscribe/unsubscribe requests." msgstr "Permettre l'inscription et la désinscription en libre service." #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "L'URL pour s'abonner ou se désabonner est : " #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 #, fuzzy msgid "Set" msgstr "Objet" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 msgid "Summary page for " msgstr "Page récapitulatif de " #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "Messages" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "Votre agenda d'aujourd'hui" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 msgid "Who‘s online now" msgstr "Qui est en ligne maintenant" #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "À propos de ce serveur" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "Vous êtes connecté à" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 msgid "running" msgstr "en cours d'exécution" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 msgid "with" msgstr "avec" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "build serveur" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 msgid "and located in" msgstr "et situé dans" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 msgid "Your system administrator is" msgstr "Votre administrateur système est" #: ../../i18n_templatelist.c:874 msgid "Do you really want to kill this session?" msgstr "Voulez vous vraiment détruire cette session ?" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "Usagers actuellement dans " #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 msgid "Click on a name to read user info. Click on" msgstr "" "Cliquez sur l'identifiant pour lire les informations publiques de l'usager. " "Cliquer sur" #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 msgid "to send an instant message to that user." msgstr "Envoyer un message instantané à cet usager." #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "Ancients messages" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "Nouveaux messages" #: ../../i18n_templatelist.c:880 msgid "Share" msgstr "Partager" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "(Domaines que les utilisateurs peuvent utiliser)" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "Entrez un nouveau mot de passe :" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "Retapez le pour confirmer :" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "Changer le mot de passe" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "Modifier les propriétés d'affichage de votre session" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" "Cet écran vous permet de changer la façon dont votre session apparaît dans " "la liste des usagers connectés. Pour éviter qu'un 'pseudonyme' que vous " "auriez préalablement indiqué ne soit encore visible, cliquez simplement sur " "le bouton 'changer' sans rien indiquer dans la boîte de saisie " "correspondante. " #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "Nom du salon :" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "Changer le nom du salon :" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "Nom de la machine hôte :" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "Changer le nom de la machine hôte" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "Changer le nom de l'usager" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "Historique des éditions de cette page" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "Confirmer le déplacement de ce message" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "Déplacer ce message vers :" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "Initalement posté dans: " #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "Liste des salons connus" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "Où puis-je aller à partir d'ici ?" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "Aller au prochain salon" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 msgid "...with unread messages" msgstr "... avec des messages non lus" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "Passer au salon suivant" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "Revenir ici plus tard" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "Revenir" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 msgid "oops! Back to " msgstr "oops! Retour à " #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "Lire les nouveaux messages" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "... dans ce salon" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "Lire tous les messages" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "... anciens et nouveaux" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "Écrire un message" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "Poster dans ce salon" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "Dépôt des fichiers" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "(Liste des fichiers à télécharger)" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 msgid "Summary page" msgstr "Tableau de bord" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "Informations sur mon compte" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "Liste des usagers" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 msgid "(all registered users)" msgstr "Tous les usagers enregistrés" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "Au revoir !" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "(si présent, relayer le courrier sortant via l'un de ces serveurs)" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "Voir les contacts" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "Ajouter un nouveau contact" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "Vue journalière" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "Vue mensuelle" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "Ajouter un événement" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "Agenda" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "Voir les tâches" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "Ajouter une tâche" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "Voir les notes" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "Ajouter une note" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "Rafraichir la liste des messages" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "Écrire un message" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "Accueil Wiki" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "Modifier cette page" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "Hstorique" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 msgid "New blog post" msgstr "Nouvelle publication de blog" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" "Laisser les messages sélectionnés comme non lus, aller au prochain salon " "avec des messages non lus." #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "Passer ce salon" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" "Marquer tous les messages comme lus, aller au prochain salon qui contient " "des messages non lus." #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 msgid "Save changes?" msgstr "Conserver les modifications ?" #~ msgid "" #~ "You are subscribing %s to the %s mailing list. The " #~ "listserver has sent you an e-mail with one additional Web link for you to " #~ "click on to confirm your subscription. This extra step is for your " #~ "protection, as it prevents others from being able to subscribe you to " #~ "lists without your consent.

    Please click on the link which is " #~ "being e-mailed to you and your subscription will be confirmed.
    \n" #~ msgstr "" #~ "Vous vous êtes abonné %s à la liste de diffusion %s. Le " #~ "serveur vous a envoyé un courriel comportant un lien que vous devrez " #~ "suivre pour confirmer votre inscription. Cette étape est nécessaire pour " #~ "vérifier que quelqu'un d'autre ne vous a pas abonné à votre insu." #~ "

    SVP effectuez cette action, vous recevrez alors un courriel de " #~ "confirmation de votre abonnement.
    \n" #~ msgid "" #~ "WARNING: Failed to parse Server Config; do you run a to new citserver?" #~ msgstr "" #~ "ATTENTION: Echec lors de la lecture du la Configuration du Serveur; " #~ "s'agît-il d'un nouveau citserver?" #~ msgid "There is no room called '%s'." #~ msgstr "Le salon '%s' n'existe pas." #~ msgid "Network" #~ msgstr "Réseau" #~ msgid "Tuning" #~ msgstr "Réglages" #~ msgid "Instantly expunge deleted messages in IMAP" #~ msgstr "Effacer immédiatement les messages supprimés via IMAP" #~ msgid "A script by that name already exists." #~ msgstr "Il existe déjà un script avec ce nom." #~ msgid "" #~ "A new script has been created. Return to the script editing screen to " #~ "edit and activate it." #~ msgstr "" #~ "Un nouveau script a été créé. Retourner à l'écran de modification des " #~ "scripts pour le modifier et l'activer." #~ msgid "Delete script" #~ msgstr "Supprimer ce script" #~ msgid "Delete this script?" #~ msgstr "Supprimer ce script ?" #~ msgid "" #~ "You are connected to %s, running %s with %s, server build %s and located " #~ "in %s. Your system administrator is %s." #~ msgstr "" #~ "Vous êtes connecté(e) à %s qui est servi par %s avec %s (révision %s) et " #~ "situé à %s. Votre administrateur système est %s." #~ msgid "Yes with users list" #~ msgstr "Oui, avec la liste des usagers" #~ msgid "Room list" #~ msgstr "Liste des salons" #, fuzzy #~ msgid "uname" #~ msgstr "Nom du fichier" #, fuzzy #~ msgid "text" #~ msgstr "textes seulement" #, fuzzy #~ msgid "name" #~ msgstr "Nom du fichier" #, fuzzy #~ msgid "pname" #~ msgstr "Nom du fichier" #, fuzzy #~ msgid "password" #~ msgstr "Mot de passe" #, fuzzy #~ msgid "pass" #~ msgstr "Tâches" #, fuzzy #~ msgid "display: none" #~ msgstr "Nom affiché :" #~ msgid "Your password was not accepted." #~ msgstr "Votre mot de passe a été refusé." #~ msgid "If you already have an account on" #~ msgstr "Si vous avez déjà un compte sur" #, fuzzy #~ msgid "enter your user name and password and click "Log in."" #~ msgstr "" #~ "entrez votre identifiant et votre mot de passe puis cliquez sur "" #~ "Login."" #~ msgid "Please log off properly when finished. " #~ msgstr "Fermez votre session proprement en quittant. " #~ msgid "See the" #~ msgstr "Voir la" #~ msgid "recommended browser list" #~ msgstr "liste des navigateurs recommandés" #~ msgid "" #~ "if you have trouble using Webcit.
  • You must have cookies " #~ "turned on. " #~ msgstr "" #~ "Si Webcit présente des dysfonctionnement.
  • Vous devez activer les " #~ "cookies " #~ msgid "" #~ "Also keep in mind that if your browser is configured to block pop-up " #~ "windows, you will not be able to receive any instant messages." #~ msgstr "" #~ "Gardez aussi à l'esprit que si votre navigateur est configuré pour " #~ "bloquer les pop-ups intempestives vous ne recevrez aucun message " #~ "instantané." #, fuzzy #~ msgid "Enter your OpenID URL and click "Log in"." #~ msgstr "Entrez votre adresse OpenID et cliquez sur "Connecter"." #~ msgid "Click here to learn what OpenID is and how Citadel is using it." #~ msgstr "" #~ "Cliquez ici pour savoir ce qu'est OpenID et comment Citadel l'utilise." #~ msgid "Log off now?" #~ msgstr "Déconnexion immédiate ?" #~ msgid "%d new of %d messages%s" #~ msgstr "%d nouveau(x) sur %d messages%s" #~ msgid "(nothing)" #~ msgstr "(rien)" #~ msgid "unexpected end of message" #~ msgstr "fin de message inattendue" #~ msgid "An error occurred while setting up the chat socket." #~ msgstr "" #~ "Une erreur est survenue lors de l'établissement du canal du clavardage." #~ msgid "Now exiting chat mode." #~ msgstr "Sortie du mode clavardage." #~ msgid "Help" #~ msgstr "Admin" #~ msgid "List users" #~ msgstr "Liste des usagers" #~ msgid "No messages here." #~ msgstr "Pas de message ici." #, fuzzy #~ msgid "no more messages" #~ msgstr "Messages anonymes" #~ msgid "" #~ "Your icon bar has been updated. Please select any of its choices to " #~ "continue.
    You may need to force " #~ "refresh (SHIFT-F5) in order for changes to take effect" #~ msgstr "" #~ "Votre barre d'icônes a été mise à jour. SVP sélectionnez l'une de ses " #~ "options pour continuer.
    Vous " #~ "pouvez avoir besoin de rafraichir (SHIFT-F5) afin que les changement " #~ "prennent effets à l'affichage." #~ msgid "Email" #~ msgstr "Courriel" #~ msgid "Error retrieving RSS feed: couldn't find messages\n" #~ msgstr "" #~ "Erreur de récupération du flux RSS : impossible de trouver les messages\n" # c-format #~ msgid "%s from" #~ msgstr "%s de" #~ msgid "%s in %s" #~ msgstr "%s dans %s" #~ msgid " on %s" #~ msgstr "sur %s" #~ msgid "%s" #~ msgstr "%s" #~ msgid "" #~ "
    • Enter your OpenID URL and click "Login".
    • Click here to " #~ "learn what OpenID is and how Citadel is using it.
    • Please log off " #~ "properly when finished.
    • You must use a browser that supports " #~ "frames and cookies.
    • Also keep in mind that if your " #~ "browser is configured to block pop-up windows, you will not be able to " #~ "receive any instant messages.
    " #~ msgstr "" #~ "
    • Enter your OpenID URL and click "Login".
    • Click here to " #~ "learn what OpenID is and how Citadel is using it.
    • Please log off " #~ "properly when finished.
    • You must use a browser that supports " #~ "frames and cookies.
    • Also keep in mind that if your " #~ "browser is configured to block pop-up windows, you will not be able to " #~ "receive any instant messages.
    " #, fuzzy #~ msgid "" #~ "enter your user name and password and click "Login."
  • If " #~ "you are a new user, enter the name and password you wish to use, and " #~ "click "New User."
  • Please log off properly when finished. " #~ "
  • You must use a browser that supports frames and cookies.
  • Also keep in mind that if your browser is configured to block pop-" #~ "up windows, you will not be able to receive any instant messages." #~ msgstr "" #~ "
    • Si vous avez déjà un compte sur %s, entrez votre " #~ "identifiant et votre mot de passe puis cliquez sur "Login."
    • Si vous êtes un nouvel usager, entrez l'identifiant et le " #~ "mot de passe que vous souhaitez utiliser et cliquez sur "Nouvel " #~ "usager."
    • Fermez votre session proprement en quittant.
    • " #~ "
    • Vous devez employer un navigateur qui supporte les cadres et " #~ "les cookies
    • Gardez aussi à l'esprit que si votre " #~ "navigateur est configuré pour bloquer les pop-ups intempestives vous ne " #~ "recevrez aucun message instantané.
    " #~ msgid "Find out more about Citadel" #~ msgstr "En savoir plus à propos de Citadel" #~ msgid "CITADEL" #~ msgstr "CITADEL" #~ msgid "Customize this menu" #~ msgstr "Personnaliser ce menu" #~ msgid "Internet configuration" #~ msgstr "Configuration internet" #~ msgid "of %d messages." #~ msgstr "des %d messages." #~ msgid " from " #~ msgstr " de " #~ msgid " in " #~ msgstr " dans " #~ msgid "Edit node configuration for " #~ msgstr "Éditer la configuration du noeud " #~ msgid "" #~ "Postfix TCP " #~ "Dictionary Port (-1 to disable)" #~ msgstr "" #~ "Postfix TCP " #~ "Dictionary Port (-1 to disable)" #~ msgid "ERROR: could not open template " #~ msgstr "ERREUR : impossible d'ouvrir le modèle" #~ msgid "" #~ "This message contains calendaring/scheduling information, but support " #~ "for calendars is not available on this particular system. Please ask " #~ "your system administrator to install a new version of the Citadel web " #~ "service with calendaring enabled.
    \n" #~ msgstr "" #~ "Ce message contient des informations de gestion d'agenda et/ou de " #~ "planification, mais la prise en charge de ces informations n'est pas " #~ "disponible sur ce système. SVP demandez à votre administrateur de mettre " #~ "à jour le serveur Citadel et d'activer le service de gestion d'agenda et " #~ "de planification.
    \n" #~ msgid "" #~ "Cannot display calendar item. You are seeing this error because your " #~ "WebCit service has not been installed with calendar support. Please " #~ "contact your system administrator.
    \n" #~ msgstr "" #~ "Impossible d'afficher un événement. Vous voyez ce message car le " #~ "service d'agenda est désactivé sur ce serveur Citadel. SVP contactez " #~ "l'administrateur du système.
    \n" #~ msgid "" #~ "Cannot display to-do item. You are seeing this error because your " #~ "WebCit service has not been installed with calendar support. Please " #~ "contact your system administrator.
    \n" #~ msgstr "" #~ "Impossible d'afficher une tâche. Le service en question est désactivé " #~ "sur ce serveur Citadel. SVP contactez l'administrateur du système.
    \n" #~ msgid "Day: " #~ msgstr "Jour :" #~ msgid "Year: " #~ msgstr "Année :" #~ msgid "The calendar view is not available." #~ msgstr "Le calendrier n'est pas disponible." #~ msgid "The tasks view is not available." #~ msgstr "Le visualiseur des tâches n'est pas disponible." #~ msgid "Gateway domains" #~ msgstr "Domaines de niveau supérieur" #~ msgid "(domains whose subdomains match Citadel hosts)" #~ msgstr "(domaines dont les sous-domaines correspondent aux hôtes Citadel)" #~ msgid "(This server does not support task lists)" #~ msgstr "(Ce serveur ne supporte pas les listes de tâches)" #~ msgid "(This server does not support calendars)" #~ msgstr "(ce server ne supporte pas les agendas)" #~ msgid "" #~ "This room is not configured to allow self-service subscribe/" #~ "unsubscribe requests." #~ msgstr "" #~ "Ce salon n'est pas configuré pour autoriser les requêtes " #~ "d'inscriptions et de désinscriptions en libre-service." #~ msgid "Click to enable." #~ msgstr "Cliquer pour activer." #~ msgid "Back to menu" #~ msgstr "Retour au menu" #~ msgid "Respond to meeting request" #~ msgstr "Répondre à cette invitation." #~ msgid "Update your calendar with this RSVP" #~ msgstr "Mettre à jour votre agenda avec cette réponse." #~ msgid "Public room" #~ msgstr "Salon public" #~ msgid "Private - guess name" #~ msgstr "Privé - les invités sont nommés" #~ msgid "Private - require password:" #~ msgstr "Privé - accès par mot de passe" #~ msgid "localhost" #~ msgstr "localhost" #~ msgid "gatewaydomain" #~ msgstr "passerelle" #~ msgid "rbl" #~ msgstr "rbl" #~ msgid "spamassassin" #~ msgstr "spamassassin" webcit-9.01-dfsg/po/webcit/he.po000066400000000000000000003700311254743150300165000ustar00rootroot00000000000000# Hebrew translation for citadel # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the citadel package. # FIRST AUTHOR , 2011. # msgid "" msgstr "" "Project-Id-Version: citadel\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2011-08-12 13:38+0000\n" "Last-Translator: igal \n" "Language-Team: Hebrew \n" "Language: he\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-08-01 04:34+0000\n" "X-Generator: Launchpad (build 15719)\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "" #: ../../availability.c:169 msgid "free" msgstr "" #: ../../availability.c:179 msgid "BUSY" msgstr "" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "" #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "" #: ../../graphics.c:106 msgid "your photo" msgstr "" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "" #: ../../tasks.c:93 msgid "Completed?" msgstr "" #: ../../tasks.c:95 msgid "Name of task" msgstr "" #: ../../tasks.c:97 msgid "Date due" msgstr "" #: ../../tasks.c:99 msgid "Category" msgstr "" #: ../../tasks.c:101 msgid "Show All" msgstr "" #: ../../tasks.c:224 msgid "Edit task" msgstr "" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "" #: ../../tasks.c:259 msgid "Start date:" msgstr "" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "" #: ../../tasks.c:289 msgid "Due date:" msgstr "" #: ../../tasks.c:318 msgid "Completed:" msgstr "" #: ../../tasks.c:329 msgid "Category:" msgstr "" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "ביטול" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, c-format msgid "%d comments" msgstr "" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "" #: ../../sysmsgs.c:103 msgid " has been saved." msgstr "" #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "שעה: " #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "דקה: " #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "(סטטוס ×œ× ×™×“×•×¢)" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "(נדרשת פעולה)" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "(התקבל)" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "(נדחה)" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "(זמני)" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "(הוסמך)" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "(הושל×)" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "(בתהליך)" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "(×ין)" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "×”×× ×‘×¨×¦×•× ×š למחוק ×ת הזהות הפתוחה ?" #: ../../openid.c:47 msgid "(delete)" msgstr "(מחיקה)" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "הוספת זהות פתוחה: " #: ../../openid.c:58 msgid "Attach" msgstr "צרף" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "%s ×ינו מרשה ×ימות דרך זהות פתוחה." #: ../../summary.c:128 msgid "(None)" msgstr "" #: ../../summary.c:184 msgid "(Nothing)" msgstr "" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "" #: ../../bbsview_renderer.c:354 msgid "First" msgstr "" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "" #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "" #: ../../auth.c:617 msgid "very weak" msgstr "" #: ../../auth.c:620 msgid "weak" msgstr "" #: ../../auth.c:623 msgid "ok" msgstr "" #: ../../auth.c:627 msgid "strong" msgstr "" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "" #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "" #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "" #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "" #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "" #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "" #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "" #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "" #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "" #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "" #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "" #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "" #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "" #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "" #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "" #: ../../event.c:71 msgid "seconds" msgstr "" #: ../../event.c:72 msgid "minutes" msgstr "" #: ../../event.c:73 msgid "hours" msgstr "" #: ../../event.c:74 msgid "days" msgstr "" #: ../../event.c:75 msgid "weeks" msgstr "" #: ../../event.c:76 msgid "months" msgstr "" #: ../../event.c:77 msgid "years" msgstr "" #: ../../event.c:78 msgid "never" msgstr "" #: ../../event.c:82 msgid "first" msgstr "" #: ../../event.c:83 msgid "second" msgstr "" #: ../../event.c:84 msgid "third" msgstr "" #: ../../event.c:85 msgid "fourth" msgstr "" #: ../../event.c:86 msgid "fifth" msgstr "" #: ../../event.c:89 msgid "Event" msgstr "" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "" #: ../../event.c:168 msgid "Add or edit an event" msgstr "" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "" #: ../../event.c:222 msgid "Location" msgstr "" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "" #: ../../event.c:374 msgid "Organizer" msgstr "" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "" #: ../../event.c:397 msgid "Show time as:" msgstr "" #: ../../event.c:420 msgid "Free" msgstr "" #: ../../event.c:428 msgid "Busy" msgstr "" #: ../../event.c:445 msgid "(One per line)" msgstr "" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "" #: ../../event.c:518 msgid "Recurrence rule" msgstr "" #: ../../event.c:522 msgid "Repeats every" msgstr "" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "" #: ../../event.c:631 msgid "of the month" msgstr "" #: ../../event.c:660 msgid "every " msgstr "" #: ../../event.c:661 msgid "year on this date" msgstr "" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "" #: ../../event.c:717 msgid "Recurrence range" msgstr "" #: ../../event.c:725 msgid "No ending date" msgstr "" #: ../../event.c:732 msgid "Repeat this event" msgstr "" #: ../../event.c:735 msgid "times" msgstr "" #: ../../event.c:743 msgid "Repeat this event until " msgstr "" #: ../../event.c:771 msgid "Check attendee availability" msgstr "" #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "עריכת סרגל סמלי×" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "" #: ../../inetconf.c:126 msgid " has been deleted." msgstr "" #. added status message #: ../../inetconf.c:144 msgid " added." msgstr "" #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "" #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "" #: ../../listsub.c:38 ../../listsub.c:76 msgid "You need to specify the email address you'd like to subscribe with." msgstr "" #: ../../messages.c:73 msgid "ERROR:" msgstr "" #: ../../messages.c:91 msgid "Empty message" msgstr "" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "" #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "" #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "" #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "" #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "לעריכה הקליקו על ההודעה ." #: ../../paging.c:29 msgid "Send instant message" msgstr "" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "" #: ../../paging.c:51 msgid "Enter message text:" msgstr "" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "" #: ../../paging.c:78 msgid "Message was not sent." msgstr "" #: ../../paging.c:89 msgid "Message has been sent to " msgstr "" #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "בוטל. ×©×•× ×”×’×“×¨×•×ª ×œ× ×©×•× ×•." #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "הגדר ×–×ת כדף הפתיחה שלי" #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "×–×” ×ינו רש××™ להפוך לדף פתיחה." #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "×ין לך דף פתיחה נבחר." #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "דף פתיחה מועדף" #: ../../roomlist.c:105 msgid "My Folders" msgstr "" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "" #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "" #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "" #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "" #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "" #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "" #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "" #: ../../roomops.c:1363 msgid "Room list view" msgstr "" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "" #: ../../roomtokens.c:570 msgid "file" msgstr "" #: ../../roomtokens.c:572 msgid "files" msgstr "" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "" #: ../../roomviews.c:55 msgid "Address Book" msgstr "" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "" #: ../../roomviews.c:57 msgid "Task List" msgstr "" #: ../../roomviews.c:58 msgid "Notes List" msgstr "" #: ../../roomviews.c:59 msgid "Wiki" msgstr "" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "" #: ../../roomviews.c:61 msgid "Journal" msgstr "" #: ../../roomviews.c:62 msgid "Drafts" msgstr "" #: ../../roomviews.c:63 msgid "Blog" msgstr "" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "" #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "" #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "×רעה שגי××” בעת ניסיון ליצור/לערוך ×ת ×יש הקשר." #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "×©×™× ×•×™×™× ×œ× × ×©×ž×¨×•." #: ../../useredit.c:778 msgid "A new user has been created." msgstr "נוצר משתמש חדש." #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "" #: ../../vcard_edit.c:438 msgid " (work)" msgstr "" #: ../../vcard_edit.c:440 msgid " (home)" msgstr "" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr "" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "" #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "" #: ../../vcard_edit.c:940 msgid "Error" msgstr "" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "" #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" #: ../../webcit.c:688 msgid "Read More..." msgstr "" #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "'%s' ×ינו חדר Wiki." #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "×œ× ×§×™×™× ×›×ן חדר ×‘×©× '%s'." #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "בחרו בקישור ' ערוך דף ×–×”' בכרזת החדר ×× ×‘×¨×¦×•× ×›× ×œ×™×¦×•×¨ דף ×–×”." #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "ת×ריך" #: ../../wiki.c:143 msgid "Author" msgstr "מחבר" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "(הר××”)" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "גירסה נוכחית" #: ../../wiki.c:184 msgid "(revert)" msgstr "(חזור)" #: ../../wiki.c:246 msgid "Page title" msgstr "כותרת הדף" #: ../../fmt_date.c:306 msgid "Time format" msgstr "" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "" #: ../../calendar_view.c:750 msgid "Week" msgstr "" #: ../../calendar_view.c:752 msgid "Hours" msgstr "" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "" #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "" #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "" #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "" #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "" #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "" #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "" #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "" #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "" #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "" #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 msgid "System Administration Menu" msgstr "" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 msgid "Room Admin Menu" msgstr "" #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 msgid "Fallback smart hosts" msgstr "" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 msgid "RBL hosts" msgstr "" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 msgid "Masqueradable domains" msgstr "" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 msgid "Network services" msgstr "" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "" #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "" #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "" #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "" #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "" #: ../../i18n_templatelist.c:95 msgid "Create new room" msgstr "" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 msgid "If you select this option," msgstr "" #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 msgid "will disappear from your room list. Is this what you wish to do?" msgstr "" #: ../../i18n_templatelist.c:102 msgid "Zap this room" msgstr "" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "" #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 msgid "Click on any room to un-zap it and goto that room." msgstr "" #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "" #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 msgid "Manage your OpenIDs" msgstr "" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "" #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "" #: ../../i18n_templatelist.c:144 msgid "Go there" msgstr "" #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "" #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 msgid "Push Email" msgstr "" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 msgid "Funambol server host (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 msgid "Funambol server port " msgstr "" #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 msgid "Funambol sync source" msgstr "" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 msgid "External pager tool (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 msgid "Sunday" msgstr "" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 msgid "Monday" msgstr "" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "" #: ../../i18n_templatelist.c:168 msgid "Change" msgstr "" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "" #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "×©× ×”×ž×©×ª×ž×©" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 msgid "Number of logins" msgstr "" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 msgid "Messages submitted" msgstr "" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 msgid "Access level" msgstr "" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 msgid "User ID number" msgstr "" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 msgid "POP3 fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 msgid "POP3 fastest fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 msgid "Remote Sites:" msgstr "" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 msgid "Status:" msgstr "" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 msgid "Jobs waiting for further processing:" msgstr "" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 msgid "Message to your Users:" msgstr "" #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "" #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 msgid "General site configuration items" msgstr "" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 msgid "Node name" msgstr "" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 msgid "Telephone number" msgstr "" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 msgid "Networked Room" msgstr "" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 msgid "Add a new node" msgstr "" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "" #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 msgid "Port number" msgstr "" #: ../../i18n_templatelist.c:241 msgid "Add node?" msgstr "" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 msgid "(kill)" msgstr "" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 msgid "Edit configuration" msgstr "" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 msgid "Edit address book entry" msgstr "" #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 #, fuzzy msgid "Minutes" msgstr "דקה: " #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 #, fuzzy msgid "active" msgstr "(זמני)" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 msgid "(Edit)" msgstr "" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "" #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "" #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "" #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 msgid "Add, change, delete user accounts" msgstr "" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 msgid "(hosts running the ClamAV clamd service)" msgstr "" #: ../../i18n_templatelist.c:270 msgid "Send" msgstr "" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 msgid "Restart Citadel" msgstr "" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 msgid "Post message" msgstr "" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "" #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 msgid "Delete this message?" msgstr "" #: ../../i18n_templatelist.c:300 msgid "Room Logo" msgstr "" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "" #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 msgid "Enter another command" msgstr "" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 msgid "Return to menu" msgstr "" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 msgid "Users currently on" msgstr "" #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 msgid "Click here to send an instant message to" msgstr "" #: ../../i18n_templatelist.c:308 msgid "Pictures in" msgstr "" #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 msgid "Edit or delete users" msgstr "" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 msgid "You need to be aide to view this." msgstr "" #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 msgid "Add users" msgstr "" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 msgid "Edit or Delete users" msgstr "" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "" #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 msgid "User list for " msgstr "" #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "" #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "" #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "" #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "" #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 msgid "Upload failed" msgstr "" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 #, fuzzy msgid "Are you shure you want to delete {filename}?" msgstr "×”×× ×‘×¨×¦×•× ×š למחוק ×ת הזהות הפתוחה ?" #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 msgid "Remove" msgstr "" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "" #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 msgid "Perform journaling of email messages" msgstr "" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 msgid "Perform journaling of non-email messages" msgstr "" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "" #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 msgid "Remote host" msgstr "" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 msgid "Keep messages on server?" msgstr "" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 msgid "Interval" msgstr "" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "" #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 msgid "New user: " msgstr "" #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "" #: ../../i18n_templatelist.c:426 msgid "Invite" msgstr "" #: ../../i18n_templatelist.c:427 msgid "User" msgstr "" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 msgid "Users" msgstr "" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 msgid "Addressbook Popup" msgstr "" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "" #: ../../i18n_templatelist.c:435 msgid "Delete user" msgstr "" #: ../../i18n_templatelist.c:436 msgid "Delete this user?" msgstr "" #: ../../i18n_templatelist.c:437 msgid "Delete File" msgstr "" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 msgid "which is already in your calendar." msgstr "" #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 msgid "This event would conflict with" msgstr "" #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "" #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "" #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "" #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "" #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 msgid "Zap (forget) this room" msgstr "" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "Zap duplicate messages" msgstr "" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 msgid "Next attempt" msgstr "" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "" #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 msgid "Powered by Citadel" msgstr "" #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "" #: ../../i18n_templatelist.c:507 msgid "Go to your email inbox" msgstr "" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "" #: ../../i18n_templatelist.c:509 msgid "Go to your personal calendar" msgstr "" #: ../../i18n_templatelist.c:511 msgid "Go to your personal address book" msgstr "" #: ../../i18n_templatelist.c:513 msgid "Go to your personal notes" msgstr "" #: ../../i18n_templatelist.c:515 msgid "Go to your personal task list" msgstr "" #: ../../i18n_templatelist.c:517 msgid "List all your accessible rooms" msgstr "" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "" #: ../../i18n_templatelist.c:526 msgid "Room and system administration functions" msgstr "" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "" #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "" #: ../../i18n_templatelist.c:545 msgid "Reset form" msgstr "" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "" #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "" #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 msgid " to the " msgstr "" #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 msgid " mailing list." msgstr "" #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "" #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 msgid "ERROR" msgstr "" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 msgid "from the" msgstr "" #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 msgid "mailing list." msgstr "" #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 msgid "Back..." msgstr "" #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 msgid "Confirmation successful!" msgstr "" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 msgid "Confirmation failed." msgstr "" #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "" #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 msgid "Name of list:" msgstr "" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 msgid "Your e-mail address:" msgstr "" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "" #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 msgid "One message at a time" msgstr "" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 msgid "Digest format" msgstr "" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 msgid "name of room: " msgstr "" #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "" #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 msgid "Network shared room" msgstr "" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 msgid "Room aide: " msgstr "" #: ../../i18n_templatelist.c:611 msgid "Delete this entry?" msgstr "" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 msgid "Remote node name" msgstr "" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 msgid "Remote room name" msgstr "" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 msgid "resend messages to this node" msgstr "" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "" #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "" #: ../../i18n_templatelist.c:633 msgid "Create new floor" msgstr "" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "" #: ../../i18n_templatelist.c:636 msgid "Delete rule" msgstr "" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 msgid "bytes" msgstr "" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "" #: ../../i18n_templatelist.c:679 #, fuzzy msgid "Change name" msgstr "שנה ×ת ×©× ×”×—×“×¨" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 msgid "Configure automatic expiry of old messages" msgstr "" #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "" #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "" #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 msgid "Default message expire policy for public rooms" msgstr "" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 msgid "Default message expire policy for private mailboxes" msgstr "" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 msgid "Same policy as public rooms" msgstr "" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "" #: ../../i18n_templatelist.c:700 #, fuzzy msgid "Are you sure you want to delete this room?" msgstr "×”×× ×‘×¨×¦×•× ×š למחוק ×ת הזהות הפתוחה ?" #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 msgid "Set or change the icon for this rooms banner" msgstr "" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 msgid "Edit this rooms Info file" msgstr "" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 msgid "Detected host header is " msgstr "" #: ../../i18n_templatelist.c:709 msgid "Send command" msgstr "" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "" #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 msgid "Name of room to log pages" msgstr "" #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 msgid "Authentication mode" msgstr "" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 msgid "Self contained" msgstr "" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 msgid "Host based" msgstr "" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 msgid "Allow anonymous guest access" msgstr "" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 msgid "Master user name (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 msgid "Master user password" msgstr "" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 msgid "Initial access level for new users" msgstr "" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "" #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "" #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 msgid "Add, change, or delete floors" msgstr "" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "" #: ../../i18n_templatelist.c:753 msgid "Delete this note?" msgstr "" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 msgid "Logged in as" msgstr "" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 msgid "Not logged in." msgstr "" #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "" #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "" #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 msgid "Log in using Google" msgstr "" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 msgid "Log in using Yahoo" msgstr "" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 msgid "Log in using AOL or AIM" msgstr "" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "" #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "" #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 msgid "Restart Now" msgstr "" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 msgid "Configure Push Email" msgstr "" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 msgid "Notify Funambol server" msgstr "" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 msgid "Send a text message to..." msgstr "" #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "" #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "" #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "" #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "" #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "-1 to disable" msgstr "" #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 msgid "ManageSieve Port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 msgid "General" msgstr "" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 #, fuzzy msgid "Settings" msgstr "עריכת סרגל סמלי×" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 msgid "Access" msgstr "" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 msgid "Directory" msgstr "" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 msgid "List" msgstr "" #: ../../i18n_templatelist.c:847 msgid "Digest" msgstr "" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "" #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "" #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 msgid "Allow self-service subscribe/unsubscribe requests." msgstr "" #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "" #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 msgid "Set" msgstr "" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 msgid "Summary page for " msgstr "" #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 msgid "Who‘s online now" msgstr "" #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 msgid "running" msgstr "" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 msgid "with" msgstr "" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 msgid "and located in" msgstr "" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 msgid "Your system administrator is" msgstr "" #: ../../i18n_templatelist.c:874 #, fuzzy msgid "Do you really want to kill this session?" msgstr "×”×× ×‘×¨×¦×•× ×š למחוק ×ת הזהות הפתוחה ?" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "" #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 msgid "Click on a name to read user info. Click on" msgstr "" #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 msgid "to send an instant message to that user." msgstr "" #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "" #: ../../i18n_templatelist.c:880 msgid "Share" msgstr "" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "×©× ×”×—×“×¨:" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "שנה ×ת ×©× ×”×—×“×¨" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "×©× ×”×ž×רח:" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "שנה ×ת ×©× ×”×ž×רח" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "שנה ×ת ×©× ×”×ž×©×ª×ž×©" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "" #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 msgid "...with unread messages" msgstr "" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 msgid "oops! Back to " msgstr "" #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 msgid "Summary page" msgstr "" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 msgid "(all registered users)" msgstr "" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 msgid "New blog post" msgstr "" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 msgid "Save changes?" msgstr "" #~ msgid "There is no room called '%s'." #~ msgstr "×œ× ×§×™×™× ×—×“×¨ ×‘×©× '%s'." webcit-9.01-dfsg/po/webcit/hu.po000066400000000000000000004501361254743150300165250ustar00rootroot00000000000000# WebCit # Hungarian localization # Copyright (C) 2009 Czakó Krisztián # This file is distributed under the revised BSD license # Czakó Krisztián , 2009. # msgid "" msgstr "" "Project-Id-Version: WebCit\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2010-11-12 23:46+0000\n" "Last-Translator: Czakó Krisztián \n" "Language-Team: \n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-08-01 04:34+0000\n" "X-Generator: Launchpad (build 15719)\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "elérhetÅ‘ség ismeretlen" #: ../../availability.c:169 msgid "free" msgstr "Szabad" #: ../../availability.c:179 msgid "BUSY" msgstr "ELFOGLALT" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "Grafika feltöltés megszakítva." #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "Nem töltött fel fájlt." #: ../../graphics.c:106 msgid "your photo" msgstr "az ön fényképe" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "a szoba ikonja" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "a belépési oldal üdvözlÅ‘képe" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "a kilépési reklám kép" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "az szint ikonja" #: ../../tasks.c:93 msgid "Completed?" msgstr "Befejezve?" #: ../../tasks.c:95 msgid "Name of task" msgstr "Feladat neve" #: ../../tasks.c:97 msgid "Date due" msgstr "Esedékesség dátuma" #: ../../tasks.c:99 msgid "Category" msgstr "Kategória" #: ../../tasks.c:101 msgid "Show All" msgstr "Összes megjelenítése" #: ../../tasks.c:224 msgid "Edit task" msgstr "Feladat szerkesztése" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "Összegzés:" #: ../../tasks.c:259 msgid "Start date:" msgstr "Kezdési dátum:" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "Nincs dátum" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "vagy" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "IdÅ‘ponthoz kötött" #: ../../tasks.c:289 msgid "Due date:" msgstr "Esedékesség dátuma:" #: ../../tasks.c:318 msgid "Completed:" msgstr "Befejezve:" #: ../../tasks.c:329 msgid "Category:" msgstr "Kategória:" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "Leírás:" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "Mentés" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "Törlés" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "Mégsem" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "Névtelen feladat" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, fuzzy, c-format msgid "%d comments" msgstr "Parancs elküldése" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "újabb hozzászólás" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "régebbi hozzászólás" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "%s szerkesztése" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "Változások mentése" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "Megszakítva. %s nincs mentve." #: ../../sysmsgs.c:103 #, fuzzy msgid " has been saved." msgstr "%s elmentve." #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "Szoba infó" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "Óra: " #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "Perc: " #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "(ismeretlen állapot)" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "(cselekvés szükséges)" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "(elfogadott)" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "(elutasított)" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "(feltételes)" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "(delegált)" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "(teljesített)" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "(folyamatban)" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "(nincs)" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "Azonosító/OpenID hozzárendelések kezelése" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "Tényleg törölni kívánja ezt az OpenID-t?" #: ../../openid.c:47 msgid "(delete)" msgstr "(törlés)" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "OpenID hozzáadása: " #: ../../openid.c:58 msgid "Attach" msgstr "Hozzárendel" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "%s nem engedélyezi a hitelesítést OpenID-val." #: ../../summary.c:128 msgid "(None)" msgstr "(Nincs)" #: ../../summary.c:184 msgid "(Nothing)" msgstr "(Semmi)" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "" #: ../../bbsview_renderer.c:354 msgid "First" msgstr "" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "realloc() hiba! nem kaptam meg %d byte-t: %s" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "Törölt" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "Új felhasználó" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "Problémás felhasználó" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "Helyi felhasználó" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "Hálózati felhasználó" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "Kedvelt felhasználó" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "Egy hiba lépett fel." #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "Új felhasználók érvényesítése" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "Nincs érvényesítésre váró felhasználó." #: ../../auth.c:617 msgid "very weak" msgstr "nagyon gyenge" #: ../../auth.c:620 msgid "weak" msgstr "gyenge" #: ../../auth.c:623 msgid "ok" msgstr "OK" #: ../../auth.c:627 msgid "strong" msgstr "erÅ‘s" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "Jelenlegi elérési szint: %d (%s)\n" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "Válassza ki ezen felhasználó hozzáférési szintjét:" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "Megszakítva. A jelszó nem változott." #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "Nem egyeznek. A jelszó nem változott." #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "Az üres jelszavak nem engedélyezettek." #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "Meghívó megbeszélésre" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "Partner válasza az ön meghívására" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "Közzétett esemény" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "Ez egy ismeretlen típusú naptár bejegyzés." #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "Hely:" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "Dátum:" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "Kezdés dátuma/ideje:" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "Befejezés dátuma/ideje:" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "IsmétlÅ‘dés" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "Ez egy ismétlÅ‘dÅ‘ esemény" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "RésztvevÅ‘:" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "Az a(z) '%s' frissítése, mely már létezik az ön naptárában." #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "" "Ez az esemény ütközik a(z) '%s' eseménnyel, mely már létezik az ön " "naptárában." #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "Frissítés:" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "ÜTKÖZÉS:" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "Hogyan szeretne reagálni erre a meghívásra?" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "Elfogad" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "Próbaképpen" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "Visszautasít" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "" "A válasz elfogadásához és a naptár frissítéséhez kattintson a Frissítésre" #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "Frissítés" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "MellÅ‘zés" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "Hiba történ a naptár bejegyzés értelmezése közben." #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "Ön elfogadta ezt a megbeszélés meghívót. Bekerült az ön naptárába." #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "" "Ön próbaképpen elfogadta ezt a megbeszélés meghívót. 'Ceruzával' került be " "az ön naptárába." #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "" "Visszautasította ezt a megbeszélés meghívót. Ezért nem került be az " "ön naptárába." #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "Válasz ment a megbeszélés szervezÅ‘jének." #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "Az ön naptára frissült, hogy reagáljon az RSVP-re." #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "" "Figyelmen kívül hagyta ezt az RSVP-t. Az ön naptára nem frissült." #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "Naptár napi nézet kezdÅ‘dik:" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "Naptár napi nézet végzÅ‘dik:" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "Hét elsÅ‘ napja:" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "Hiba történt a(z) %s fájl beszerzése közben.\n" #: ../../event.c:71 msgid "seconds" msgstr "másodperc" #: ../../event.c:72 msgid "minutes" msgstr "perc" #: ../../event.c:73 msgid "hours" msgstr "óra" #: ../../event.c:74 msgid "days" msgstr "nap" #: ../../event.c:75 msgid "weeks" msgstr "hét" #: ../../event.c:76 msgid "months" msgstr "hónap" #: ../../event.c:77 msgid "years" msgstr "év" #: ../../event.c:78 msgid "never" msgstr "soha" #: ../../event.c:82 msgid "first" msgstr "elsÅ‘" #: ../../event.c:83 msgid "second" msgstr "második" #: ../../event.c:84 msgid "third" msgstr "harmadik" #: ../../event.c:85 msgid "fourth" msgstr "negyedik" #: ../../event.c:86 msgid "fifth" msgstr "ötödik" #: ../../event.c:89 msgid "Event" msgstr "Esemény" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "RésztvevÅ‘k:" #: ../../event.c:168 msgid "Add or edit an event" msgstr "Esemény hozzáadása vagy szerkesztése" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "Összegzés" #: ../../event.c:222 msgid "Location" msgstr "Hely" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "Kezdet" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "Egész napos esemény" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "Befejezés" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "Jegyzetek" #: ../../event.c:374 msgid "Organizer" msgstr "SzervezÅ‘" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "(ön a szervezÅ‘)" #: ../../event.c:397 msgid "Show time as:" msgstr "IdÅ‘ mutatása a következÅ‘képpen:" #: ../../event.c:420 msgid "Free" msgstr "Szabad" #: ../../event.c:428 msgid "Busy" msgstr "Elfoglalt" #: ../../event.c:445 msgid "(One per line)" msgstr "(Soronként egy)" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "Kapcsolatok" #: ../../event.c:518 msgid "Recurrence rule" msgstr "IsmétlÅ‘dési szabály" #: ../../event.c:522 msgid "Repeats every" msgstr "IsmétlÅ‘dik minden" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "a következÅ‘ munkanapokon:" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "a hónap %s%d%s napján" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "a " #: ../../event.c:631 msgid "of the month" msgstr "a hónapnak" #: ../../event.c:660 msgid "every " msgstr "minden " #: ../../event.c:661 msgid "year on this date" msgstr "az év ezen napján" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "az összesen" #: ../../event.c:717 msgid "Recurrence range" msgstr "IsmétlÅ‘dési idÅ‘szak" #: ../../event.c:725 msgid "No ending date" msgstr "Nincs végsÅ‘ dátum" #: ../../event.c:732 msgid "Repeat this event" msgstr "Ismételje ezt az eseményt" #: ../../event.c:735 msgid "times" msgstr "ennyiszer" #: ../../event.c:743 msgid "Repeat this event until " msgstr "Ismételje ezt az esemény eddig: " #: ../../event.c:771 msgid "Check attendee availability" msgstr "RésztvevÅ‘k elérhetÅ‘ségének ellenÅ‘rzése" #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "Névtelen esemény" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "Érvénytelen paraméter" #: ../../inetconf.c:126 #, fuzzy msgid " has been deleted." msgstr "%s törölve." #. added status message #: ../../inetconf.c:144 msgid " added." msgstr "" #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "Több hozzáférésre van szükség ehhez a funkcióhoz." #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "" #: ../../listsub.c:38 ../../listsub.c:76 #, fuzzy msgid "You need to specify the email address you'd like to subscribe with." msgstr "Kérem adja meg a felhasználó nevet, amit használni szeretne." #: ../../messages.c:73 msgid "ERROR:" msgstr "HIBA:" #: ../../messages.c:91 msgid "Empty message" msgstr "" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "Megszakítva. Az üzenet nem lett beküldve." #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "Automatikusan megszakítva, mert ön már elmentette ezt az üzenetet." #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "" #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "Üzenet elküldve.\n" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "Üzenet postázva.\n" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "Az üzenetet nem mozgattuk." #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "Hiba történt, miközben beszereztem ezt a részt: %s/%s\n" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "Hiba történt, miközben beszereztem ezt a részt: %s\n" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "Csatol aláírást az email üzenetekhez?" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "Használja ezt az aláírást:" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "Alapértelmezett betűkészlet a levél fejléceihez:" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "Kedvelt email cím" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "Kedvelt megjelenített név az email üzenetekhez" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "Kedvelt megjelenített név a hirdetÅ‘tábla üzenetkehez" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "Postafiók megjelenítési mód" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "Kattintson bármely jegyzetre a szerkesztéshez." #: ../../paging.c:29 msgid "Send instant message" msgstr "Azonnali üzenet küldése" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "Azonnali üzenet küldése ide: " #: ../../paging.c:51 msgid "Enter message text:" msgstr "Ãrja be az üzenet szövegét:" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "Üzenet küldése" #: ../../paging.c:78 msgid "Message was not sent." msgstr "Üzenet nem lett elküldve." #: ../../paging.c:89 msgid "Message has been sent to " msgstr "Az üzenet elküldésre került ide: " #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "Megszakítva. A beállítások nem változtak." #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "Legyen ez a kezdÅ‘lap." #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "" #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "Önnek mostantól nincs kezdÅ‘lapja." #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "" #: ../../roomlist.c:105 msgid "My Folders" msgstr "" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "Megszakítva. Változások nem kerültek mentésre." #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "A változtatásait mentettük." #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "%s felhasználó kirúgva a(z) %s szobából." #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "%s felhasználó meghívva a(z) %s szobába." #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "Megszakítva. Nem lett új szoba létrehozva." #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "Szint törölve." #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "Új szint létrehozva." #: ../../roomops.c:1363 msgid "Room list view" msgstr "Szoba lista nézet" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "Mutasd az üres szinteket" #: ../../roomtokens.c:570 msgid "file" msgstr "fájl" #: ../../roomtokens.c:572 msgid "files" msgstr "fájlok" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "HirdetÅ‘tábla" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "Levelek mappa" #: ../../roomviews.c:55 msgid "Address Book" msgstr "Címjegyzék" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "Naptár" #: ../../roomviews.c:57 msgid "Task List" msgstr "Feladatlista" #: ../../roomviews.c:58 msgid "Notes List" msgstr "Jegyzetlista" #: ../../roomviews.c:59 msgid "Wiki" msgstr "Wiki" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "Naptárlista" #: ../../roomviews.c:61 msgid "Journal" msgstr "Napló" #: ../../roomviews.c:62 #, fuzzy msgid "Drafts" msgstr "Dátum" #: ../../roomviews.c:63 msgid "Blog" msgstr "" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "" #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "Az ön rendszerének beállítása frissítve" #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "" #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "A változások nem lettek mentve." #: ../../useredit.c:778 msgid "A new user has been created." msgstr "Az új felhasználó létrehozva." #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "(nincs név)" #: ../../vcard_edit.c:438 msgid " (work)" msgstr " (munka)" #: ../../vcard_edit.c:440 msgid " (home)" msgstr " (otthon)" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr " (mobil)" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "Cím:" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "Telefon:" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "E-mail:" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "Ez a címlista üres." #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "BelsÅ‘ hiba történt." #: ../../vcard_edit.c:940 msgid "Error" msgstr "Hiba" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "Kapcsolat információ szerkesztése" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "Megszólítás" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "Keresztnév" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "KözépsÅ‘ név" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "Vezetéknév" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "Utótag" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "Megjelenített név:" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "Megszólítás:" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "Szervezet:" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "Postafiók:" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "Város:" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "Megye:" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "Irányítószám:" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "Ország:" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "Otthoni telefon:" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "Munkahelyi telefon:" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "Mobiltelefon:" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "Fax szám:" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "ElsÅ‘dleges Internet e-mail cím" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "További Internet e-mail címek" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "" #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "Nem tudom értelmezni a névjegy fényképet\n" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "Azonosítás szükséges" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" "A program képtelen volt kapcsolódni vagy a kapcsolatot fenntartani a Citadel " "kiszolgálóval. Kérjük jelezze a problémát a rendszergazdának." #: ../../webcit.c:688 msgid "Read More..." msgstr "További információk" #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "'%s' nem Wiki szoba." #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "Nincs '%s' nevű oldal itt." #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "" #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "Dátum" #: ../../wiki.c:143 msgid "Author" msgstr "" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "" #: ../../wiki.c:184 msgid "(revert)" msgstr "" #: ../../wiki.c:246 msgid "Page title" msgstr "" #: ../../fmt_date.c:306 msgid "Time format" msgstr "IdÅ‘formátum" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "Kezdet:" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "Kezdés dátuma:" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "Befejezés dátuma:" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "Dátum/idÅ‘:" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "Jegyzetek:" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "" #: ../../calendar_view.c:750 msgid "Week" msgstr "Hét" #: ../../calendar_view.c:752 msgid "Hours" msgstr "Óra" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "Tárgy" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "Futó esemény" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "szerkeszt" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "Nem tudom hogyan jelenítsem meg. " #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "(nincs tárgy)" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "A sor üres." #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "" #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "eszköztár testre szabása" #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "Ikonok megjelenítése mint:" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "képek és szöveg" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "csak képek" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "csak szöveg" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "" "Válassza ki az ikonokat, melyeket a képernyÅ‘n balra, az eszköztárban " "szeretne látni." #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "Igen" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "Nem" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "Hely logó" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "A helyre jellemzÅ‘ ikon" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "Az ön összefoglaló oldala" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "Levél (bejövÅ‘)" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "Egy gyorsbillentyű az ön bejövÅ‘ leveleihez" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "Az ön személyes címjegyzéke" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "Az ön személyes jegyzetei" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "Egy gyorsbillentyű az ön személyes naptárához" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "Feladatok" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "Egy gyorsbillentyű az ön személyes feladatlistájához" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "Szobák" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "" "Erre az ikonra kattintva megtekintheti az összes elérhetÅ‘ szobát (vagy " "mappát)." #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "Ki van itt?" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "" "Erre az ikonra kattintva megtekintheti az összes bejelentkezett felhasználó " "listáját." #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "Csevegés" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "" "Erre az ikonra kattintva belép egy valós idejű csevegés módba azokkal a " "felhasználókkal, akik ugyan ebben a szobában vannak." #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "Haladó beállítások" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "Hozzáférés a Citadel teljes funkcióinak menüjéhez" #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "Citadel logó" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "Megmutatja a 'Működteti a Citadel' ikont" #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 msgid "System Administration Menu" msgstr "Rendszer Adminisztrációs Menü" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 #, fuzzy msgid "Room Admin Menu" msgstr "Szoba infó" #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "Helyi rendszer további címei" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "Címtár domainek" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "Levéltovábbító címek" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 #, fuzzy msgid "Fallback smart hosts" msgstr "Levéltovábbító címek" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 #, fuzzy msgid "RBL hosts" msgstr "Levéltovábbító címek" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "SpamAssassin kiszolgálók" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "ClamAV clamd kiszolgálók" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 msgid "Masqueradable domains" msgstr "" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 msgid "Network services" msgstr "Hálózati szolgáltatások" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 #, fuzzy msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "SMTP MTA port (-1 kikapcsolja)" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 #, fuzzy msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "SMTP MTA port (-1 kikapcsolja)" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "Üzenet legnagyobb hossza" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "Új szoba létrehozása" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "Szoba neve: " #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "Ezen a szinten van: " #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "Szoba alapértelmezett nézete: " #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "Szoba típusa:" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "Nyilvános (automatikusan megjelenik mindenkinek)" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "Privát - rejtett (elérhetÅ‘ mindenkinek, aki tudja a nevét)" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "Privát - jelszót igényel: " #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "Privát - csak meghívással" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "Személyes (postafiók csak önnek)" #: ../../i18n_templatelist.c:95 msgid "Create new room" msgstr "Új szoba létrehozása" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "Kilépés" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "Lépjen be újra" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 #, fuzzy msgid "Zap (forget/unsubscribe) the current room" msgstr "Szoba kilövése" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 #, fuzzy msgid "If you select this option," msgstr "Szoba szerkesztése vagy törlése" #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 msgid "will disappear from your room list. Is this what you wish to do?" msgstr "" #: ../../i18n_templatelist.c:102 msgid "Zap this room" msgstr "Szoba kilövése" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "Felhasználónév" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "Szoba" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "Innen jött" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "KüldÅ‘" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "Levél betöltése a kiszolgálóról, türelem" #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "Megnyitás új ablakban" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "Mozgat" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "Másolás" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "Nyomtatás" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "KilÅ‘tt (elfelejtett) szobák" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 #, fuzzy msgid "Click on any room to un-zap it and goto that room." msgstr "Kattintson bármelyik szobára, hogy azt felélessze és belépjen.\n" #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" "Önnek egy vagy több várakozó azonnali üzenete van, de a Citadel Azonnali " "ÜzenetküldÅ‘ ablaka nem tudott megnyílni. Ennek valószínűleg az az oka, hogy " "az ön böngészÅ‘je blokkolja a felugró ablakokat. Kérem állítsa be a " "böngészÅ‘t úgy, hogy errÅ‘l a helyrÅ‘l engedélyezze a felugró ablakokat, ha " "azonnali üzeneteket szeretne kapni." #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "Az ön jellemzÅ‘inek és beállításainak megváltoztatása" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "Frissítse a kapcsolati információit" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "Változtassa meg a jelszavát" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "Az ön fényképének szerkesztése" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "" #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 #, fuzzy msgid "Manage your OpenIDs" msgstr "Változtassa meg a jelszavát" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "" #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "Megnéz" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "Letölt" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "Globális beállítások" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "Felhasználói hozzáférés kezelés" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "Citadel leállítása" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "Szobák és szintek" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "Rejtett szobába ugrás" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "Adja meg a szoba nevét:" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "Adja meg a szoba jelszavát:" #: ../../i18n_templatelist.c:144 msgid "Go there" msgstr "Ugrás" #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "ettÅ‘l: " #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "Címzett:" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "Másolat:" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "Tárgy:" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 msgid "Push Email" msgstr "Push Email" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 #, fuzzy msgid "Funambol server host (blank to disable)" msgstr "LDAP kiszolgáló neve (üres kikapcsolja)" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 #, fuzzy msgid "Funambol server port " msgstr "LDAP kiszolgáló neve (üres kikapcsolja)" #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 msgid "Funambol sync source" msgstr "" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 #, fuzzy msgid "External pager tool (blank to disable)" msgstr "LDAP kiszolgáló neve (üres kikapcsolja)" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "Fa (mappa) nézet" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "Táblázat (szoba) nézet" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "12 órás (de/du)" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "24 órás" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 msgid "Sunday" msgstr "Vasárnap" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 msgid "Monday" msgstr "HétfÅ‘" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "Nincs aláírás" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "Teljes funkcionalitás" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "Biztonságos mód" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "" #: ../../i18n_templatelist.c:168 #, fuzzy msgid "Change" msgstr "CSS megváltoztatása" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "JellemzÅ‘k és beállítások" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "Alap parancsok" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "Az ön adatai" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "Haladó szoba parancsok" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "Felhasználói azonosító szerkesztése: " #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "Felhasználónév:" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "Jelszó" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 msgid "Number of logins" msgstr "Belépések száma" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 #, fuzzy msgid "Messages submitted" msgstr "Levél mérete" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 msgid "Access level" msgstr "Hozzáférési szint" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 #, fuzzy msgid "User ID number" msgstr "Felhasználónév" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "Utolsó belépés dátuma és ideje" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "POP3" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 #, fuzzy msgid "POP3 listener port (-1 to disable)" msgstr "SMTP MTA port (-1 kikapcsolja)" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 #, fuzzy msgid "POP3 over SSL port (-1 to disable)" msgstr "SMTP MSA port (-1 kikapcsolja)" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 msgid "POP3 fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 msgid "POP3 fastest fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "KimenÅ‘ SMTP sor megtekintése" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "Oldal frissítése" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 #, fuzzy msgid "Remote Sites:" msgstr "Távoli kiszolgáló" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 #, fuzzy msgid "Status:" msgstr "Megye:" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 #, fuzzy msgid "Jobs waiting for further processing:" msgstr "feldolgozás folytatása" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 msgid "Message to your Users:" msgstr "Üzenet az ön felhasználóinak:" #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "Adminisztráció" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "Beállítások" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "Üzenet elévülési szabály" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "Hozzáférés szabályozás" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "Megosztás" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "LevelezÅ‘lista szolgáltatás" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "Távoli beszerzés" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 #, fuzzy msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "Az ön naptára frissült, hogy reagáljon az RSVP-re." #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 #, fuzzy msgid "General site configuration items" msgstr "Hely beállítása" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "Belépési logó megváltoztatása" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "Kilépési logó megváltoztatása" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 msgid "Node name" msgstr "Csomópont neve" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "Csomópont ember által olvasható neve" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 msgid "Telephone number" msgstr "Telefonszám" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "Ezen rendszer földrajzi elhelyezkedése" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "Rendszergazda neve" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "Alapértelmezett idÅ‘zóna az idÅ‘zóna nélküli naptár bejegyzésekhez" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 #, fuzzy msgid "Networked Room" msgstr "Hálózaton megosztott szoba" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 msgid "Add a new node" msgstr "Új csomópont hozzáadása" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "Megosztott titok" #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "Gazda vagy IP címek" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 msgid "Port number" msgstr "Port szám" #: ../../i18n_templatelist.c:241 #, fuzzy msgid "Add node?" msgstr "Új csomópont hozzáadása" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 msgid "(kill)" msgstr "(kilÅ‘)" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 #, fuzzy msgid "Edit configuration" msgstr "Hely beállítása" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 #, fuzzy msgid "Edit address book entry" msgstr "Ez a címlista üres." #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 #, fuzzy msgid "Minutes" msgstr "perc" #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 #, fuzzy msgid "active" msgstr "Próbaképpen" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 #, fuzzy msgid "(Edit)" msgstr "(Szerkeszt)" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "(Töröl)" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "" #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "Új induló oldal" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "Az ön induló oldala megváltozott." #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "A hozzászólásod" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "Törlés jóváhagyása" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "Biztosan törölni akarja" #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 msgid "Add, change, delete user accounts" msgstr "Felhasználói azonosítók hozzáadása, megváltoztatása, törlése" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 msgid "(hosts running the ClamAV clamd service)" msgstr "(rendszerek, melyek a ClamAV clamd szolgáltatást futtatják)" #: ../../i18n_templatelist.c:270 msgid "Send" msgstr "Küldés" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 msgid "Restart Citadel" msgstr "Citadel újraindítása" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "Feladó:" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "Ismeretlen" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "Hely:" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "Címzett:" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "Vakmásolat:" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "Tárgy (opcionális):" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "--- továbbított üzenet ---" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 #, fuzzy msgid "Post message" msgstr "üzenetbÅ‘l" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "" #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "Mellékletek:" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 #, fuzzy msgid "Delete this message?" msgstr "Szoba törlése" #: ../../i18n_templatelist.c:300 #, fuzzy msgid "Room Logo" msgstr "Szoba infó" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "Keres: " #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "Kiszolgáló parancs eredménye" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 #, fuzzy msgid "Enter another command" msgstr "Ãrja be a kiszolgáló parancsot" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 #, fuzzy msgid "Return to menu" msgstr "váltás a menüre" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 msgid "Users currently on" msgstr "" #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "Felhasználói profil" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 #, fuzzy msgid "Click here to send an instant message to" msgstr "Azonnali üzenet küldése ide: " #: ../../i18n_templatelist.c:308 msgid "Pictures in" msgstr "Képek itt" #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 msgid "Edit or delete users" msgstr "Felhasználók szerkesztése vagy törlése" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 msgid "You need to be aide to view this." msgstr "" #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 msgid "Add users" msgstr "Felhasználók hozzáadása" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 msgid "Edit or Delete users" msgstr "Felhasználók szerkesztése vagy törlése" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "Kérem várjon, amíg a Citadel kiszolgáló újraindul..." #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 #, fuzzy msgid "User list for " msgstr "Felhasználók listája" #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "Felhasználónév" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "Szám" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "Hozzáférési szint" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "Utolsó bejelentkezés" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "Összes bejelentkezés" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "Összes hozzászólás" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "Betöltés" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "" #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "" #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "Kérem adja meg a felhasználó nevet, amit használni szeretne." #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "Kilépés" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "Üzenet elévülési szabályok ehhez a szobához" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "Használja az alapértelmezett szabályokat ehhez a szinthez" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "Soha nem évüljenek el az üzenetek" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "Elévülés az üzenetek száma alapján" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "Elévülés az üzenetek kora alapján" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "Üzenetek vagy napok száma: " #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "Üzenetek elévülési szabálya ezen a szinten" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "Rendszer alapértelmezés használata" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "Ablak bezárása" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 #, fuzzy msgid "Upload failed" msgstr "Fájl feltöltése:" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 #, fuzzy msgid "Are you shure you want to delete {filename}?" msgstr "Biztosan törölni akarja" #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "Fájl csatolása" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 #, fuzzy msgid "Remove" msgstr "(eltávolít)" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "Indexelés és naplózás" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "" #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "Teljes szöveges indexelés bekapcsolása" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 #, fuzzy msgid "Perform journaling of email messages" msgstr "Kedvelt megjelenített név az email üzenetekhez" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 #, fuzzy msgid "Perform journaling of non-email messages" msgstr "Kedvelt megjelenített név az email üzenetekhez" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "Fájl feltöltése:" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "Feltöltés" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "Fájlnév" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "Méret" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "Tartalom" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "Leírás" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "üzenetbÅ‘l" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "Oldal kiválasztása: " #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "" "Üzenetek letöltése távoli POP3 azonosítóról és tárolása ebben a szobában:" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 msgid "Remote host" msgstr "Távoli kiszolgáló" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 msgid "Keep messages on server?" msgstr "Megtartja az üzeneteket a szerveren?" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 msgid "Interval" msgstr "IdÅ‘köz" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "Hozzáadás" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "A következÅ‘ RSS folyam letöltése és tárolása ebben a szobában:" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "Folyam URL" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 #, fuzzy msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "" "Ha szeretne további felhasználónak hozzáférést adni ehhez a szobához, írja " "be a felhasználó nevét az alábbi szövegdobozba és kattintson a 'Meghív' " "pontra." #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 msgid "New user: " msgstr "Új felhasználó: " #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "Létrehoz" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "(domain nevek Globális Címlistával)" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "(eltávolít)" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 #, fuzzy msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" "Az alábbi listában található felhasználóknak van hozzáférése ehhez a " "szobához. Ha el akarja valamelyiküket távolítani a listáról, válassza ki a " "felhasználó nevét és kattintson a 'Kirúg' pontra." #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "Kirúg" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" "Ha szeretne további felhasználónak hozzáférést adni ehhez a szobához, írja " "be a felhasználó nevét az alábbi szövegdobozba és kattintson a 'Meghív' " "pontra." #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "Meghív:" #: ../../i18n_templatelist.c:426 msgid "Invite" msgstr "Meghív" #: ../../i18n_templatelist.c:427 msgid "User" msgstr "Felhasználó" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 msgid "Users" msgstr "Felhasználók" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 #, fuzzy msgid "Addressbook Popup" msgstr "Címjegyzék" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 #, fuzzy msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "" "Ha szeretne további felhasználónak hozzáférést adni ehhez a szobához, írja " "be a felhasználó nevét az alábbi szövegdobozba és kattintson a 'Meghív' " "pontra." #: ../../i18n_templatelist.c:435 #, fuzzy msgid "Delete user" msgstr "Szabály törlése" #: ../../i18n_templatelist.c:436 #, fuzzy msgid "Delete this user?" msgstr "Törli ezt a szkriptet?" #: ../../i18n_templatelist.c:437 #, fuzzy msgid "Delete File" msgstr "Szabály törlése" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "Diavetítés" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 #, fuzzy msgid "(hosts running the SpamAssassin service)" msgstr "(rendszerek, melyek a ClamAV clamd szolgáltatást futtatják)" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "which is already in your calendar." msgstr "Az a(z) '%s' frissítése, mely már létezik az ön naptárában." #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "This event would conflict with" msgstr "" "Ez az esemény ütközik a(z) '%s' eseménnyel, mely már létezik az ön " "naptárában." #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "Ha új email érkezik: " #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "Hagyd a bejövÅ‘ levelek között szűrés nélkül" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "Szűrd az alábbi feltételek szerint" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "Szűrd a kézzel szerkesztett szkriptekkel (csak haladó felhasználóknak)" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "A beérkezÅ‘ levelei nem lesznek szűrve egyetlen szkripttel sem." #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "Szabály hozzáadása" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "A jelenleg aktív szkript: " #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "Szkript hozzáadása vagy törlése" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "Az LDAP csatoló beállítása a Citadel számára" #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "LDAP kiszolgáló neve (üres kikapcsolja)" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "LDAP kiszolgáló port száma (üres kikapcsolja)" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "Alap DN" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "Kapcsolódó DN" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "Jelszó a kapcsolódó DN számára" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "Szoba szerkesztése vagy törlése" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "Ugrás egy 'rejtett' szobába" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 #, fuzzy msgid "Zap (forget) this room" msgstr "Szoba kilövése" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "Listázza az összes elfelejtett szobát" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 #, fuzzy msgid "Zap duplicate messages" msgstr "Új üzenetek olvasása" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "Üzenet azonosító" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "Feladás dátuma/ideje" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 #, fuzzy msgid "Next attempt" msgstr "Utolsó kísérlet" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "Címzettek" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "Olvasás alatt #" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "legrégebbitÅ‘l a legújabbig" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "legújabbtól a legrégebbiig" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 #, fuzzy msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "Kérem várjon, amíg a Citadel kiszolgáló újraindul..." #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "Válasz" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "IdézveVálaszol" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "VálaszMindenkinek" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "Továbbít" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "Fejlécek" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "Rendszer szintű beállítások szerkesztése" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "Domain nevek és internetes levelezés beállítása" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "Replikáció beállítása más Citadel kiszolgálókkal" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 #, fuzzy msgid "Powered by Citadel" msgstr "Megmutatja a 'Működteti a Citadel' ikont" #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "Nyelv:" #: ../../i18n_templatelist.c:507 #, fuzzy msgid "Go to your email inbox" msgstr "Egy gyorsbillentyű az ön bejövÅ‘ leveleihez" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "Levelezés" #: ../../i18n_templatelist.c:509 #, fuzzy msgid "Go to your personal calendar" msgstr "Egy gyorsbillentyű az ön személyes naptárához" #: ../../i18n_templatelist.c:511 #, fuzzy msgid "Go to your personal address book" msgstr "Az ön személyes címjegyzéke" #: ../../i18n_templatelist.c:513 #, fuzzy msgid "Go to your personal notes" msgstr "Az ön személyes jegyzetei" #: ../../i18n_templatelist.c:515 #, fuzzy msgid "Go to your personal task list" msgstr "Egy gyorsbillentyű az ön személyes feladatlistájához" #: ../../i18n_templatelist.c:517 #, fuzzy msgid "List all your accessible rooms" msgstr "Listázza az összes elfelejtett szobát" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "JelenlévÅ‘ felhasználók" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "Haladó" #: ../../i18n_templatelist.c:526 #, fuzzy msgid "Room and system administration functions" msgstr "Rendszergazda neve" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "menü testreszabása" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "Utolsó bejelentkezés" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "váltás a szoba listára" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "váltás a menüre" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "Saját mappáim" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 #, fuzzy msgid "IMAP listener port (-1 to disable)" msgstr "SMTP MTA port (-1 kikapcsolja)" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 #, fuzzy msgid "IMAP over SSL port (-1 to disable)" msgstr "SMTP MSA port (-1 kikapcsolja)" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "Kép feltöltése" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "Feltölthet egy képet közvetlenül a számítógépérÅ‘l" #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "Kérem válassza ki a feltöltendÅ‘ fájlt:" #: ../../i18n_templatelist.c:545 msgid "Reset form" msgstr "Űrlap ürítése" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "Lista elÅ‘fizetés" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "Lista elÅ‘fizetés/lemondás" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "Jóváhagyási kérelem elküldve" #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "" #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 #, fuzzy msgid " to the " msgstr "a " #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 #, fuzzy msgid " mailing list." msgstr "LevelezÅ‘lista szolgáltatás" #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "Vissza..." #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 #, fuzzy msgid "ERROR" msgstr "HIBA:" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 #, fuzzy msgid "from the" msgstr "ettÅ‘l: " #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 #, fuzzy msgid "mailing list." msgstr "LevelezÅ‘lista szolgáltatás" #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 #, fuzzy msgid "Back..." msgstr "Vissza..." #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 #, fuzzy msgid "Confirmation successful!" msgstr "Jóváhagyási kérelem elküldve" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 #, fuzzy msgid "Confirmation failed." msgstr "Beállítások" #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "" #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 #, fuzzy msgid "Name of list:" msgstr "Feladat neve" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 #, fuzzy msgid "Your e-mail address:" msgstr "Kedvelt email cím" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "" #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 #, fuzzy msgid "One message at a time" msgstr "Ãrja be az üzenet szövegét:" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 #, fuzzy msgid "Digest format" msgstr "IdÅ‘formátum" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 #, fuzzy msgid "name of room: " msgstr "Szoba neve:" #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "Ha privát, az összes jelenlegi felhasználó elfelejti a szobát" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "Csak a kedvenc felhasználók" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "Csak olvasható szoba" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "Minden felhasználó, aki beküldhet az törölhet is üzeneteket" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "Fájl mappa szoba" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "Könyvtár neve: " #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "Feltöltés engedélyezett" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "Letöltés engedélyezett" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "Látható könyvtár" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 msgid "Network shared room" msgstr "Hálózaton megosztott szoba" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "Ãllandó (nem törlÅ‘dik automatikusan)" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "" "Tárgy kötelezÅ‘ (Kényszeríti a felhasználókat, hogy az üzeneteknek adják meg " "a tárgyát)" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "Anonym üzenetek" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "Nincsenek anonym üzenetek" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "Minden üzenet anonym" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 #, fuzzy msgid "Room aide: " msgstr "Szoba száma:" #: ../../i18n_templatelist.c:611 #, fuzzy msgid "Delete this entry?" msgstr "Szoba törlése" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "Nincs megosztva ezzel:" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "Megosztva ezzel:" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 msgid "Remote node name" msgstr "Távoli csomópont neve" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 msgid "Remote room name" msgstr "Távoli szoba neve" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "Műveletek" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 #, fuzzy msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" "Amikor megoszt egy szobát, annak meg kell lennie osztva mindkét oldalon. " "Egy csomópont hozzáadása a 'megosztások' listájához kiküldi az üzeneteket, " "de ahhoz, hogy kapjon is üzenetet, a másik csomópontoknak is be kell " "állítaniuk, hogy kiküldje az üzeneteket az ön rendszerének.
  • Ha a távoli " "szoba neve üres, feltételezzük, hogy a szoba neve azonos a másik oldalon." "
  • Ha a távoli szoba neve más, a másik csomóponton szintén be kell állítani " "az itteni szoba nevét.
    \n" #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 #, fuzzy msgid "resend messages to this node" msgstr "Megtartja az üzeneteket a szerveren?" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "Szint hozzáadása/módosítása/törlése" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "Szint száma" #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "Szint neve" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "Szobák száma" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "Szint CSS" #: ../../i18n_templatelist.c:633 msgid "Create new floor" msgstr "Új szint létrehozása" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "Szabály mozgatása felfelé" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "Szabály mozgatása lefelé" #: ../../i18n_templatelist.c:636 msgid "Delete rule" msgstr "Szabály törlése" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "Ha" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "Címzett vagy másolat" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "Válaszcím" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "ÚjraküldÅ‘" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "Újraküldés címzettje" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "Boríték feladó" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "Boríték címzett" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "LevelezÅ‘program" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "SPAM jelzés" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "SPAM állapot" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "Listaazonosító" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "Levél mérete" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "Minden" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "tartalmazza" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "nem tartalmazza" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "pontosan az, hogy" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "nem az, hogy" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "egyezik" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "nem egyezik" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "(Összes üzenet)" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "nagyobb, mint" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "kisebb, mint" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 #, fuzzy msgid "bytes" msgstr "év" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "Megtart" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "Csendben eldob" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "Visszautasít" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "Levél mozgatása ide:" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "Továbbítás ide:" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "Vakáció" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "Üzenet:" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "és utána" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "feldolgozás folytatása" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "állj" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "(domain nevek, melyekre ez a rendszer levelet fogad)" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "Hálózat beállítása" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "Jelenleg beállított csomópontok" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "(szint törlése)" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "(grafika szerkesztése)" #: ../../i18n_templatelist.c:679 msgid "Change name" msgstr "Név megváltoztatása" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "CSS megváltoztatása" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 #, fuzzy msgid "Configure automatic expiry of old messages" msgstr "Soha nem évüljenek el az üzenetek" #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "" #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "" #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 #, fuzzy msgid "Default message expire policy for public rooms" msgstr "Üzenet elévülési szabályok ehhez a szobához" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 #, fuzzy msgid "Default message expire policy for private mailboxes" msgstr "Üzenetek elévülési szabálya ezen a szinten" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 #, fuzzy msgid "Same policy as public rooms" msgstr "Üzenet elévülési szabályok ehhez a szobához" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "" #: ../../i18n_templatelist.c:700 msgid "Are you sure you want to delete this room?" msgstr "Biztosan törölni kívánja ezt a szobát?" #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "Szoba törlése" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 #, fuzzy msgid "Set or change the icon for this rooms banner" msgstr "A szoba hirdetés ikonjának beállítása vagy megváltoztatása" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 #, fuzzy msgid "Edit this rooms Info file" msgstr "A szoba Info fájl szerkesztése" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "Ãrja be a kiszolgáló parancsot" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" "Ez a képernyÅ‘ lehetÅ‘vé teszi oylan Citadel kiszolgáló parancsok bevitelét, " "melyet a WebCit nem támogat. Ha nem tudja ez mit jelent, ennek a " "képernyÅ‘nek nem sok hasznát veszi." #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "Ãrja be a parancsot:" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "Parancs bemenet (ha SEND_LISTING átviteli módot kér):" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 #, fuzzy msgid "Detected host header is " msgstr "A felismert kiszolgáló fejléc %s://%s" #: ../../i18n_templatelist.c:709 #, fuzzy msgid "Send command" msgstr "Ãrja be a parancsot:" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "Megosztás visszavonása" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 #, fuzzy msgid "(hosts running a Realtime Blackhole List)" msgstr "(rendszerek, melyek a ClamAV clamd szolgáltatást futtatják)" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "Karantén szoba neve" #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 #, fuzzy msgid "Name of room to log pages" msgstr "Szoba neve:" #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 msgid "Authentication mode" msgstr "Azonosítási mód" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 #, fuzzy msgid "Self contained" msgstr "tartalmazza" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 msgid "Host based" msgstr "Kiszolgáló alapú" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "LDAP (RFC2307)" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "LDAP (Active Directory)" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 #, fuzzy msgid "Allow anonymous guest access" msgstr "Nincsenek anonym üzenetek" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 #, fuzzy msgid "Master user name (blank to disable)" msgstr "LDAP kiszolgáló neve (üres kikapcsolja)" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 #, fuzzy msgid "Master user password" msgstr "Ãrja be az új jelszót:" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 msgid "Initial access level for new users" msgstr "Induló hozzáférési szint az új felhasználókhoz" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "" #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "" #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "Önkiszolgáló felhasználó létrehozás kikapcsolása" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 msgid "Add, change, or delete floors" msgstr "Szintek hozzáadása, megváltoztatása vagy törlése" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "Mutasd mint:" #: ../../i18n_templatelist.c:753 #, fuzzy msgid "Delete this note?" msgstr "Szoba törlése" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 #, fuzzy msgid "Logged in as" msgstr "Utolsó bejelentkezés" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 #, fuzzy msgid "Not logged in." msgstr "Nincs belépve" #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "Be kell jelentkezned, hogy ezt az oldalt." #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "belépés felhasználó név és jelszó segítségével" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "Jelszó:" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "Új felhasználó? Regisztráljon most" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "" #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "Belépés OpenID használatával" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "OpenID URL:" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 #, fuzzy msgid "Log in using Google" msgstr "Belépés OpenID használatával" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 #, fuzzy msgid "Log in using Yahoo" msgstr "Belépés OpenID használatával" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 #, fuzzy msgid "Log in using AOL or AIM" msgstr "Belépés OpenID használatával" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "Kérem vár" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "Új szkript hozzáadása" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "Szkript neve: " #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "Szkriptek szerkesztése" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "Szkriptek törlése" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "" #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 msgid "Restart Now" msgstr "Újraindítás most" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "Újraindítás a felhasználók figyelmeztetése után" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "Újraindítás, ha minden felhasználó tétlen" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 #, fuzzy msgid "Configure Push Email" msgstr "Push Email" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 msgid "Notify Funambol server" msgstr "" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 #, fuzzy msgid "Send a text message to..." msgstr "Azonnali üzenet küldése ide:" #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "" #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 #, fuzzy msgid "Don‘t send any notifications" msgstr "Ne küldjön értesítéseket" #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "működteti a" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "SMTP MTA port (-1 kikapcsolja)" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "SMTP MSA port (-1 kikapcsolja)" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 #, fuzzy msgid "SMTP over SSL port (-1 to disable)" msgstr "SMTP MSA port (-1 kikapcsolja)" #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "" #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "Levelek megjelölése SPAM-ként az elutasítás helyett" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "" #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "-1 to disable" msgstr "-1 kikapcsolja" #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 #, fuzzy msgid "ManageSieve Port (-1 to disable)" msgstr "SMTP MSA port (-1 kikapcsolja)" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "Hely beállítása" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 msgid "General" msgstr "Ãltalános" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 msgid "Settings" msgstr "" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "Pop3" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "Indexelés/naplózás" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 msgid "Access" msgstr "Hozzáférés" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 #, fuzzy msgid "Directory" msgstr "Könyvtár neve:" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "Automatikus-takarító" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 #, fuzzy msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" "A szoba tartalma egyedi üzenetekben elküldésre kerül az alábbi " "címzetteknek:

    \n" #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 #, fuzzy msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" "A szoba tartalma egyetlen üzenetben elküldésre kerül az alábbi " "címzetteknek:

    \n" #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 msgid "List" msgstr "Lista" #: ../../i18n_templatelist.c:847 msgid "Digest" msgstr "Kivonat" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "Címzettek hozzáadása a Kapcsolatokból vagy más címlistákból" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "Engedélyezi, hogy nem elÅ‘fizetÅ‘k postázhassanak ebbe a szobába." #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "" #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 msgid "Allow self-service subscribe/unsubscribe requests." msgstr "Önkiszolgáló elÅ‘fizetés/lemondás engedélyezése." #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "Az elÅ‘fizetés/lemondás URL: " #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 #, fuzzy msgid "Set" msgstr "Tárgy" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 #, fuzzy msgid "Summary page for " msgstr "%s összefoglaló lapja" #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "Üzenetek" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "Az Ã¶n naptára ma" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 #, fuzzy msgid "Who‘s online now" msgstr "Ki van itt most" #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "ErrÅ‘l a kiszolgálóról" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 #, fuzzy msgid "running" msgstr "Hangolás" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 #, fuzzy msgid "with" msgstr "ötödik" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 #, fuzzy msgid "and located in" msgstr "és utána" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 #, fuzzy msgid "Your system administrator is" msgstr "Rendszergazda neve" #: ../../i18n_templatelist.c:874 #, fuzzy msgid "Do you really want to kill this session?" msgstr "Tényleg törölni kívánja ezt az OpenID-t?" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "" #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 #, fuzzy msgid "Click on a name to read user info. Click on" msgstr "Kattintson bármely jegyzetre a szerkesztéshez." #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 #, fuzzy msgid "to send an instant message to that user." msgstr "Azonnali üzenet küldése ide:" #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "" #: ../../i18n_templatelist.c:880 msgid "Share" msgstr "Megoszt" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "Ãrja be az új jelszót:" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "EllenÅ‘rzésként írja be ismét:" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "Jelszó megváltoztatása" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "Szoba száma:" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "Szoba nevének megváltoztatása" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "Gépnév:" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "Gép nevének megváltoztatása" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "Felhasználó nevének megváltoztatása" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "Üzenet mozgatás jóváhagyása" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "Üzenet mozgatása ide:" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "" #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "Listázza az ismert szobákat" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "Hova mehetek innen?" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "Ugrás a következÅ‘ szobába" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 msgid "...with unread messages" msgstr "" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "Ugrás a következÅ‘ szobába" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "(visszatérés késÅ‘bb)" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "Visszalépés" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 msgid "oops! Back to " msgstr "hoppá! Vissza ide: " #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "Új üzenetek olvasása" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "... ebben a szobában" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "Összes üzenet olvasása" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "Üzenet beküldése" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "(hozzászólás ebben a szobában)" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "Fájl-tár" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "(LetölthetÅ‘ fájlok listája)" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 msgid "Summary page" msgstr "Összefoglaló oldal" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "Saját azonosítóm összefoglalója" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "Felhasználók listája" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 msgid "(all registered users)" msgstr "(összes regisztrált felhasználó)" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "Viszlát!" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "Kapcsolatok megnézése" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "Új partner felévtele" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "Napi nézet" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "Havi nézet" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "Új esemény felvétele" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "Naptár lista" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "Feladatok megnézése" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "Új feladat felévtele" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "Jegyzetek megnézése" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "Új jegyzet felévtele" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "Üzenetlista frissítése" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "Email írása" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "Wiki kezdÅ‘lap" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "Oldal szerkesztése" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 #, fuzzy msgid "New blog post" msgstr "újabb hozzászólás" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" "Összes üzenet olvasatlanul hagyása és ugrás a következÅ‘ olvasatlan üzenetet " "tartalmazó szobába" #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "Szoba kihagyása" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" "Összes üzenet megjelölése olvasottként és ugrás a következÅ‘ olvasatlan " "levelet tartalmazó szobába" #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 #, fuzzy msgid "Save changes?" msgstr "Változások mentése" #~ msgid "" #~ "You are subscribing %s to the %s mailing list. The " #~ "listserver has sent you an e-mail with one additional Web link for you to " #~ "click on to confirm your subscription. This extra step is for your " #~ "protection, as it prevents others from being able to subscribe you to " #~ "lists without your consent.

    Please click on the link which is " #~ "being e-mailed to you and your subscription will be confirmed.
    \n" #~ msgstr "" #~ "Ön előfizeti %s-t a %s levelező listára. A lista " #~ "kiszolgáló egy további Web linket küldött önnek e-mailben, amire rá kell " #~ "kattintania az előfizetés jóváhagyásához. Ez a kiegészítő lépés azért " #~ "szükséges, hogy megakadályozzon másokat abban, hogy előfizessék önt az ön " #~ "beleegyezése nélkül.

    Kérem kattintson rá a linkre, melyet e-" #~ "mailben küldtünk önnek, hogy az előfizetését jóváhagyja.
    \n" #~ msgid "There is no room called '%s'." #~ msgstr "Nincs '%s' nevű szoba." #~ msgid "Network" #~ msgstr "Hálózat" #~ msgid "Tuning" #~ msgstr "Hangolás" #~ msgid "Instantly expunge deleted messages in IMAP" #~ msgstr "Törölt levelek azonnali megsemmisítése az IMAP-on" #~ msgid "Delete script" #~ msgstr "Szkript törlése" #~ msgid "Delete this script?" #~ msgstr "Törli ezt a szkriptet?" #~ msgid "Yes with users list" #~ msgstr "Igen, a felhasználók listájával" #~ msgid "Room list" #~ msgstr "Szoba lista" #, fuzzy #~ msgid "uname" #~ msgstr "Fájlnév" #, fuzzy #~ msgid "text" #~ msgstr "csak szöveg" #, fuzzy #~ msgid "name" #~ msgstr "Fájlnév" #, fuzzy #~ msgid "pname" #~ msgstr "Fájlnév" #, fuzzy #~ msgid "password" #~ msgstr "Jelszó" #, fuzzy #~ msgid "pass" #~ msgstr "Feladatok" #, fuzzy #~ msgid "display: none" #~ msgstr "Megjelenített név:" #~ msgid "Your password was not accepted." #~ msgstr "A jelszavát nem fogadtuk el." #~ msgid "See the" #~ msgstr "Lásd itt" #~ msgid "recommended browser list" #~ msgstr "ajánlott böngészők listája" #~ msgid "Click here to learn what OpenID is and how Citadel is using it." #~ msgstr "" #~ "Kattintson ide, ha többet szeretne tudni az OpenID-ról és arról, hogyan " #~ "használja azt a Citadel." #, fuzzy #~ msgid "Log off now?" #~ msgstr "Kilépés" #~ msgid "%d new of %d messages%s" #~ msgstr "%d új az összesen %d üzenetből%s" #~ msgid "(nothing)" #~ msgstr "(semmi)" #~ msgid "unexpected end of message" #~ msgstr "az üzenet váratlanul végetért" #~ msgid "An error occurred while setting up the chat socket." #~ msgstr "Hiba történt a csevegés kapcsolat felépítésekor." #~ msgid "Now exiting chat mode." #~ msgstr "Kilépek a csevegés módból." #~ msgid "Help" #~ msgstr "Súgó" #~ msgid "List users" #~ msgstr "Felhasználók listája" #~ msgid "No messages here." #~ msgstr "Itt nincsenek üzenetek." #, fuzzy #~ msgid "no more messages" #~ msgstr "Anonym üzenetek" #~ msgid "" #~ "Your icon bar has been updated. Please select any of its choices to " #~ "continue.
    You may need to force " #~ "refresh (SHIFT-F5) in order for changes to take effect" #~ msgstr "" #~ "Az eszköztár frissítve. Kérem válassza az alábbi lehetőségek bármelyikét " #~ "a folytatáshoz.
    Valószínűleg " #~ "kényszerített frissítésre (SHIFT-F5) van szükség ahhoz, hogy a változások " #~ "érvénybe lépjenek" #~ msgid "Email" #~ msgstr "Email" #~ msgid "%s from" #~ msgstr "EttÅ‘l: %s FIX415" #~ msgid "%s in %s" #~ msgstr " %s itt FIX416: %s: " #~ msgid " on %s" #~ msgstr " a(z) %s (FIX417)" #~ msgid "%s" #~ msgstr "%s FIXME418" webcit-9.01-dfsg/po/webcit/it.po000066400000000000000000004706301254743150300165260ustar00rootroot00000000000000# translation of webcit.po to it.po # Copyright (C) 2005 - 2009 The Citadel Project - http://www.citadel.org # This file is distributed under the revised BSD license # # Gabriele Tassoni , 2005, 2006. msgid "" msgstr "" "Project-Id-Version: WebCit\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2010-11-13 00:06+0000\n" "Last-Translator: Gabriele Tassoni \n" "Language-Team: \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-11-14 05:02+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "Disponibilità sconosciuta" #: ../../availability.c:169 msgid "free" msgstr "libero" #: ../../availability.c:179 msgid "BUSY" msgstr "OCCUPATO" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "Il caricamento della grafica è stato cancellato." #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "Non carichi un file." #: ../../graphics.c:106 msgid "your photo" msgstr "La tua foto" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "l'icona di questa stanza" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "L'icona per questo piano" #: ../../tasks.c:93 msgid "Completed?" msgstr "Completato?" #: ../../tasks.c:95 msgid "Name of task" msgstr "Nome dell'operazione" #: ../../tasks.c:97 msgid "Date due" msgstr "Data dovuta" #: ../../tasks.c:99 msgid "Category" msgstr "Categoria" #: ../../tasks.c:101 msgid "Show All" msgstr "Mostra Tutto" #: ../../tasks.c:224 msgid "Edit task" msgstr "Aggiorna questa operazione." #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "Sommario:" #: ../../tasks.c:259 msgid "Start date:" msgstr "Data di inizio:" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "Nessuna Data" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "o" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "Tempo associato" #: ../../tasks.c:289 msgid "Due date:" msgstr "Scadenza:" #: ../../tasks.c:318 msgid "Completed:" msgstr "Completato:" #: ../../tasks.c:329 msgid "Category:" msgstr "Categoria:" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "Descrizione:" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "Salva" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "Cancella" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "Cancella" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, fuzzy, c-format msgid "%d comments" msgstr "Invia il comando" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "i nuovi post" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "i post più vecchi" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "Modifica %s" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" "Inserisci %s qui sotto. Il testo viene formattato dalla larghezza dello " "schermo del lettore. Per non seguire la formattazione, indentare la linea di " "almeno uno spazio." #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "Cambia i cambiamenti" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "Attività cancellata. %s non è stato salvato." #: ../../sysmsgs.c:103 #, fuzzy msgid " has been saved." msgstr "%s è stato salvato." #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "Informazioni di stanza" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "Le tue informazioni personali" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "Ora: " #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "Minuto: " #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "(stato sconosciuto)" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "(serve una azione)" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "(accettato)" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "(declinato)" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "(tentativo)" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "(delegato)" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "(completato)" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "(in lavorazione)" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "(nessuno)" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "" #: ../../openid.c:47 msgid "(delete)" msgstr "(elimina)" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "Aggiungi un OpenID: " #: ../../openid.c:58 msgid "Attach" msgstr "Allega" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "" #: ../../summary.c:128 msgid "(None)" msgstr "(Nessuno)" #: ../../summary.c:184 msgid "(Nothing)" msgstr "(Nulla)" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "Vai alla pagina: " #: ../../bbsview_renderer.c:354 msgid "First" msgstr "Primo" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "Ultimo" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "errore di realloc()! non riesco a ottenere %d bytes: %s" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "Cancellato" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "Nuovo Utente" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "Utente con Problemi" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "Utente Locale" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "Utente di Rete" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "Utente Preferito" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "Amministratore" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "E' avvenuto un errore." #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "Valida il nuovo utente" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "Non si richiede l'autenticazione utente in questo momento" #: ../../auth.c:617 msgid "very weak" msgstr "molto debole" #: ../../auth.c:620 msgid "weak" msgstr "debole" #: ../../auth.c:623 msgid "ok" msgstr "ok" #: ../../auth.c:627 msgid "strong" msgstr "forte" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "Attuale livello di accesso: %d (%s)\n" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "Seleziona il livello di accesso per l'utente corrente:" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "Aziona cancellata. La password non è stata cambiata." #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "Le password non coincidono. Cambiamento non effettuato." #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "Le password vuote non sono ammesse." #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "Invito a un incontro" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "Risposta del membro al tuo invito" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "Evento pubblicato" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "Questo è un tipo di calendario sconosciuto." #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "Luogo:" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "Data:" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "Data e ora di inizio:" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "Data e ora di fine:" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "Ricorrenza" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "Questo è un evento ricorrente" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "Membro:" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "" "Questo è un aggiornamento di '%s' giè nel tuo calendario." #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "" "Questo evento è in conflitto con l'evento '%s' già presente " "nel tuo calendario." #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "Aggiorna:" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "CONFLITTO:" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "Come vuoi rispondere a questo invito?" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "Accetta" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "Tentativo" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "Declina" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "" "Seleziona Aggiorna Per accettare questa risposta e aggiornare il tuo " "calendario." #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "Aggiorna" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "Ignora" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "C'è un errore in questo oggetto del calendario." #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "" "Hai accettato questo invito all'incontro. è stato aggiunto al tuo " "calendario." #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "" "Hai accettato questo messaggio in forse. è stato \"segnato a matita\" " "nel tuo calendario" #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "" "Hai declinato l'invito. Non è stato inserito nel tuo calendario." #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "Una risposta è stata mandata all'organizzatore dell'incontro." #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "" "Il tuo calendario è stato aggiornato per riflettere questo RSVP." #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "" "Hai scelto di ignorare questo RSVP. il tuo calendario non " "verrà aggiornato." #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "La vista giornaliera del calendario inizia il:" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "La vista giornaliera del calendario finisce il:" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "La settimana parte da:" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "E' avvenuto un errore durante il recupero di questa parte: %s\n" #: ../../event.c:71 msgid "seconds" msgstr "secondi" #: ../../event.c:72 msgid "minutes" msgstr "minuti" #: ../../event.c:73 msgid "hours" msgstr "ore" #: ../../event.c:74 msgid "days" msgstr "giorni" #: ../../event.c:75 msgid "weeks" msgstr "settimane" #: ../../event.c:76 msgid "months" msgstr "mesi" #: ../../event.c:77 msgid "years" msgstr "anni" #: ../../event.c:78 msgid "never" msgstr "mai" #: ../../event.c:82 msgid "first" msgstr "primo" #: ../../event.c:83 msgid "second" msgstr "secondo" #: ../../event.c:84 msgid "third" msgstr "terzo" #: ../../event.c:85 msgid "fourth" msgstr "quarto" #: ../../event.c:86 msgid "fifth" msgstr "quinto" #: ../../event.c:89 msgid "Event" msgstr "Evento" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "Membri" #: ../../event.c:168 msgid "Add or edit an event" msgstr "Aggiungi o modifica un evento" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "Sommario" #: ../../event.c:222 msgid "Location" msgstr "Luogo" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "Inizio" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "Evento per tutto il giorno" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "Fine" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "Note" #: ../../event.c:374 msgid "Organizer" msgstr "Organizer" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "(tu sei l'organizzatore)" #: ../../event.c:397 msgid "Show time as:" msgstr "Mostra l'ora come:" #: ../../event.c:420 msgid "Free" msgstr "Libero" #: ../../event.c:428 msgid "Busy" msgstr "Occupato" #: ../../event.c:445 msgid "(One per line)" msgstr "(Uno per linea)" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "Contatti" #: ../../event.c:518 msgid "Recurrence rule" msgstr "Regola ricorrente" #: ../../event.c:522 msgid "Repeats every" msgstr "Ripeti ogni" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "nei giorni di questa settimana:" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "nei giorni %s%d%s del mese" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "sul " #: ../../event.c:631 msgid "of the month" msgstr "del mese" #: ../../event.c:660 msgid "every " msgstr "ogni " #: ../../event.c:661 msgid "year on this date" msgstr "anno in questa data" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "di" #: ../../event.c:717 msgid "Recurrence range" msgstr "" #: ../../event.c:725 msgid "No ending date" msgstr "Nessuna data finale" #: ../../event.c:732 msgid "Repeat this event" msgstr "Ripeti questo evento" #: ../../event.c:735 msgid "times" msgstr "tempi" #: ../../event.c:743 msgid "Repeat this event until " msgstr "Ripeti questo evento fino " #: ../../event.c:771 msgid "Check attendee availability" msgstr "Controlla la disponibilità del membro." #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "Evento senza Titolo" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "Parametro Invalido" #: ../../inetconf.c:126 #, fuzzy msgid " has been deleted." msgstr "%s è stato cancellato." #. added status message #: ../../inetconf.c:144 #, fuzzy msgid " added." msgstr "aggiunto." #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "" #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "" #: ../../listsub.c:38 ../../listsub.c:76 msgid "You need to specify the email address you'd like to subscribe with." msgstr "" #: ../../messages.c:73 msgid "ERROR:" msgstr "ERRORE:" #: ../../messages.c:91 msgid "Empty message" msgstr "Messaggio vuoto" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "Cancellato. Il messaggio non è stato inviato." #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "Cancellato automaticamente, hai già salvato questo messaggio." #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "" #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "Il messaggio è stato inviato.\n" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "Il messaggio è stato postato.\n" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "Il messaggio non è stato spostato" #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "E' avvenuto un errore durante il recupero di questa parte: %s/%s\n" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "E' avvenuto un errore durante il recupero di questa parte: %s\n" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "Allega la firma ai messaggi email?" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "Usa questa firma:" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "Set di caratteri di default per le intestazioni delle email:" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "Indirizzo email preferito" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "Clicca su una nota per modificarla." #: ../../paging.c:29 msgid "Send instant message" msgstr "Invia un Messaggio Istantaneo" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "Invia un Messaggio istantaneo a: " #: ../../paging.c:51 msgid "Enter message text:" msgstr "Inserisci il testo del messaggio:" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "Invia il messaggio" #: ../../paging.c:78 msgid "Message was not sent." msgstr "Il Messaggio non è stato spedito." #: ../../paging.c:89 msgid "Message has been sent to " msgstr "Il Messaggio è stato spedito a " #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "Attività cancellata. Nessuna impostazione è stata cambiata." #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "Imposta questa pagina come principale" #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "" #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "Non hai più una pagina principale selezionata." #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "" #: ../../roomlist.c:105 msgid "My Folders" msgstr "Le mie Catrelle" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "Attività Cancellata.Le modifiche non sono state salvate." #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "Le tue modifiche sono state salvate." #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "L'utente %s è stato espulso dalla stanza %s." #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "L'utente %s è stato invitato nella stanza %s." #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "Attività Cancellata.Nessuna nuova stanza è stata creata." #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "Il piano è stato cancellato." #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "Il nuovo piano è stato creato." #: ../../roomops.c:1363 msgid "Room list view" msgstr "Vista della lista delle stanze" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "" #: ../../roomtokens.c:570 msgid "file" msgstr "documento" #: ../../roomtokens.c:572 msgid "files" msgstr "documenti" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "Forum" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "Cartella di Posta" #: ../../roomviews.c:55 msgid "Address Book" msgstr "Contatti" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "Calendario" #: ../../roomviews.c:57 msgid "Task List" msgstr "Lista delle Attività" #: ../../roomviews.c:58 msgid "Notes List" msgstr "Lista delle Note" #: ../../roomviews.c:59 msgid "Wiki" msgstr "Wiki" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "Lista Calendario" #: ../../roomviews.c:61 msgid "Journal" msgstr "giornale" #: ../../roomviews.c:62 #, fuzzy msgid "Drafts" msgstr "Data" #: ../../roomviews.c:63 msgid "Blog" msgstr "Blog" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "" #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" "Sei collegato a un server Citadel con installato Citadel %d.%02d. \n" "Per poter usare questa versione di WebCit, devi avere Citadel %d.%02d o più " "recente.\n" "\n" "\n" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "La configurazione del tuo sistema è stata aggiornata" #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "" "E' avvenuto un errore durante la creazione o la cancellazione di questa voce " "della rubrica dei contatti" #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "I cambiamento non sono stati salvati." #: ../../useredit.c:778 msgid "A new user has been created." msgstr "E' stato creato un nuovo utente." #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "(nessun nome)" #: ../../vcard_edit.c:438 msgid " (work)" msgstr " (lavoro)" #: ../../vcard_edit.c:440 msgid " (home)" msgstr " (casa)" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr " (cellulare)" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "Indirizzo:" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "Telefono:" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "E-mail:" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "Questa lista contatti è vuota" #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "" #: ../../vcard_edit.c:940 msgid "Error" msgstr "Errore" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "Modifica le informazioni del contatto" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "Prefisso" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "Nome" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "Secondo nome" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "Cognome" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "Suffisso" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "Nome da mostrare:" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "Titolo:" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "Organizzazione:" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "Presso:" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "Città:" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "Provincia:" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "C.A.P.:" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "Nazione:" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "Telefono di casa:" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "Telefono di lavoro:" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "Telefono mobile:" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "Numero di fax:" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "Indirizzo email principale" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "Alias degli indirizzi email esterni" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "Abortendo." #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "Autorizzazione richiesta" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" "Questa risorsa richiede un nome utente e una password. Non puoi essere " "autenticato e accedere a: %s\n" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" "Questo programma non riesce a collegarsi o a rimanere collegato al server " "Citadel. Per favore, segnala questo errore all'amministratore di sistema." #: ../../webcit.c:688 msgid "Read More..." msgstr "Leggi Altro..." #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "'%s' non è una stanza di tipo Wiki." #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "Nessuna pagina chamata '%s'." #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "Seleziona il collegamento 'Modifica questa pagina' se la vuoi creare." #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "Data" #: ../../wiki.c:143 msgid "Author" msgstr "Autore" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "(mostra)" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "Versione corrente" #: ../../wiki.c:184 msgid "(revert)" msgstr "" #: ../../wiki.c:246 msgid "Page title" msgstr "Titolo pagina" #: ../../fmt_date.c:306 msgid "Time format" msgstr "Formato dell'ora" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "Mittente" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "Data di partenza:" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "Data di arrivo:" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "Data/tempo:" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "note:" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "precedente" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "successivo" #: ../../calendar_view.c:750 msgid "Week" msgstr "Settimana" #: ../../calendar_view.c:752 msgid "Hours" msgstr "Ore" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "Oggetto" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "Evento corrente" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "Modifica" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "Non so come mostrare " #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "(nessun oggetto)" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "La coda è vuota." #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "Non hai il permesso di visualizzare questa risorsa." #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "Personalizza la barra delle icone" #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "Mostra le icone come:" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "immagini e testo" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "solo immagini" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "solo testo" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "" "Seleziona le icone che vorresti vedere nel menu alla sinistra dello schermo." #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "Si" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "No" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "Logo del sito" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "Una icona che descriva questo sito" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "Visualizza il sommario" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "Mail (Posta in arrivo)" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "Un collegamento alla tua Posta in Arrivo" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "I tuoi Contatti personali" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "Le tue note personali" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "Un collegamento al tuo calendario personale" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "Attività" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "Un collegamento alla tua lista di operazioni da effettuare" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "Stanze" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "" "Cliccando questa icona, mostra una lista di tutte le stanze o cartelle " "disponibili." #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "Chi è on line?" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "" "Cliccando su questa icona, mostra tutti gli utenti collegati in questo " "momento." #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "Chat" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "" "Cliccando su questa icona vi porterà a una chat in tempo reale con " "gli altri utenti nella stessa stanza." #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "Opzioni avanzate" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "Accesso al menu completo delle funzioni di Citadel." #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "Logo Citadel" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "Mostra l'icona Potenziato da Citadel" #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 msgid "System Administration Menu" msgstr "Menu di amministrazione di sistema" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 #, fuzzy msgid "Room Admin Menu" msgstr "Amministratore della stanza: " #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "Alias degli host locali" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "Domini delle directory" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "Smart Host" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 #, fuzzy msgid "Fallback smart hosts" msgstr "Smart Host" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 msgid "RBL hosts" msgstr "Host RBL" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "Host Spamassassin" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 #, fuzzy msgid "Masqueradable domains" msgstr "Domini del gateway" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" "I cambiamenti in questa schemata non avranno effetto finchè non si riavvia " "il server Citadel." #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 msgid "Network services" msgstr "Servizi di rete" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 #, fuzzy msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "Indirizzo ip del server (0.0.0.0 per 'qualsiasi')" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 #, fuzzy msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "Porta POP3 (-1 per disabilitare)" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 #, fuzzy msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "Porta POP3 (-1 per disabilitare)" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "Controlli avanzati per la configurazione delle rifiniture" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "Massima lunghezza dei messaggi" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "Timeout della connessione per il server in attesa (in secondi)" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "Velocità della rete (in secondi)" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "Numero massimo di sessioni concorrenti (0 = nessun limite)" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "Numero minimo di discussioni attive" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "Massimo numero di discussioni attive" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "Cancella automaticamente i log del database approvati" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "Crea una nuova stanza" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "Nome delle stanza: " #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "Appartiene al piano: " #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "Vista di default della stanza: " #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "TIpo di stanza:" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "Pubblica (Appare automaticamente a tutti gli utenti)" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "Privata - nascosta (Accessibile solo a chi ne conosce il nome)" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "Privata - richiede password " #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "Privato - solo su invito" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "Personale (cassetta della posta solo per te)" #: ../../i18n_templatelist.c:95 msgid "Create new room" msgstr "Crea una nuova stanza" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "Esci" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "Esegui nuovamente il Log in" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "Zap (dimentica/cancella la tua sottoscrizione) questa stanza" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 #, fuzzy msgid "If you select this option," msgstr "Cancella o modifica questa stanza" #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 #, fuzzy msgid "will disappear from your room list. Is this what you wish to do?" msgstr "" "Se selezioni questa opzione, %s scomparirà dalla tua lista delle " "stanze, vuoi farlo davvero?

    \n" #: ../../i18n_templatelist.c:102 msgid "Zap this room" msgstr "Zap questa stanza" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "Nome utente" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "Stanza" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "Dall'host" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "Mittente" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "" #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "Apri in una nuova finestra" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "Sposta" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "Copia" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "Stampa" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "Stanze zappate (dimenticate)" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 #, fuzzy msgid "Click on any room to un-zap it and goto that room." msgstr "Clicca su una stanza per dezapparla ed entrarci.\n" #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" "Hai uno o più messaggi in coda che aspettano di essere letti, ma la finestra " "per i Messaggi Istantanei di Citadel non può essere aperta. La causa può " "essere un popup blocker installato nel tuo browser. Per favore, se vuoi " "ricevere Messaggi Istantanei, configura il tuo popup blocker in modo da " "permettere i popup da questo sito." #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "Modifica le tue preferenze e impostazioni" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "Aggiorna i tuoi dati personali" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "Cambia la tua password" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "Inserisci la tua biografia" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "Modifica la tua foto on line" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "Visualizza/Modifica i filtri email lato server" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "" #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 #, fuzzy msgid "Manage your OpenIDs" msgstr "Il tuo OpenID" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "" #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "Vedi" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "Scarica" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "Configurazione globale" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "Gestione account utenti" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "Stanze e piani" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "Vai a una stanza segreta" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 #, fuzzy msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" "Se conosci il nome di una stanza nascosta (indovina il nome) o protetta da " "password, puoi digitarlo qui sotto per accedervi. Una volta che hai " "l'accesso a una stanza privata, comparirà nella tua lista di stanze, così " "non dovrai ripetere questo passaggio." #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "Inserisci il nome della stanza:" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "Inserisci la password della stanza:" #: ../../i18n_templatelist.c:144 msgid "Go there" msgstr "Entra nella stanza" #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "da " #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "a" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "CC:" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "Oggetto:" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 #, fuzzy msgid "Push Email" msgstr "Email" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 #, fuzzy msgid "Funambol server host (blank to disable)" msgstr "Nome del server Funambol (vuoto per disabilitare)" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 #, fuzzy msgid "Funambol server port " msgstr "Nome del server Funambol (vuoto per disabilitare)" #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 #, fuzzy msgid "Funambol sync source" msgstr "Nome del server Funambol (vuoto per disabilitare)" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 #, fuzzy msgid "External pager tool (blank to disable)" msgstr "Nome del server Funambol (vuoto per disabilitare)" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "Vista ad albero (cartelle)" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "Vista a tabella (stanze)" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "12 ore (am/pm)" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "24 ore" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 #, fuzzy msgid "Sunday" msgstr "Sommario" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 #, fuzzy msgid "Monday" msgstr "Sommario" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "Nessuna firma" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "" #: ../../i18n_templatelist.c:168 msgid "Change" msgstr "Cambia" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "Preferenze e impostazioni" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "Comandi base" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "Le tue Informazioni" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "Comandi di stanza avanzati" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "Modifica l'account dell'utente:" #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "Nome utente:" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "Password" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "Permesso di inviare email a internet" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 msgid "Number of logins" msgstr "Numero di login" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 msgid "Messages submitted" msgstr "Numero di Messaggi" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 msgid "Access level" msgstr "Livello di accesso" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 msgid "User ID number" msgstr "Numero indentificativo" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "Data e giorno dell'ultimo accesso" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "Auto elimina dopo questo numero di giorni" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "Porta POP3 (-1 per disabilitare)" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "Porta POP3 SSL (-1 per disabilitare)" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 #, fuzzy msgid "POP3 fetch frequency in seconds" msgstr "Velocità della rete (in secondi)" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 #, fuzzy msgid "POP3 fastest fetch frequency in seconds" msgstr "Velocità della rete (in secondi)" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "Visualizza la coda SMTP di posta in uscita" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "Ricarica questa pagina" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 #, fuzzy msgid "Remote Sites:" msgstr "Smart Host" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 #, fuzzy msgid "Status:" msgstr "Provincia:" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 #, fuzzy msgid "Jobs waiting for further processing:" msgstr "Continua a processare" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 #, fuzzy msgid "Message to your Users:" msgstr "Il Messaggio non è stato spedito." #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "Amministrazione" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "Configurazione" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "Politica di cancellazione dei messaggi" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "Controllo Accessi" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "Condivisione" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "Servizio Mailing List" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 #, fuzzy msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "" "La tua bara delle icone è stata aggiornata. Per favore, seleziona una " "delle sue possibilità per continuare." #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 msgid "General site configuration items" msgstr "Oggetti di configurazione generali del sito" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 msgid "Node name" msgstr "Nome del nodo" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "Nome di dominio completo" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "Nome del nodo leggibile da umani" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 msgid "Telephone number" msgstr "Numero di telefono" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "Richiamo di impaginazione (per i client solo testo)" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "Località geografica di questo server" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "Nome dell'amministratore di sistema" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "Timezone di default per i calendari non localizzati" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 #, fuzzy msgid "Networked Room" msgstr "Stanza condivisa in rete" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 msgid "Add a new node" msgstr "Aggiungi un nuovo nodo" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "Segreto condiviso" #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "Nome dell'host o indirizzo IP" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 msgid "Port number" msgstr "Numero di porta" #: ../../i18n_templatelist.c:241 #, fuzzy msgid "Add node?" msgstr "Aggiungi un nodo" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 msgid "(kill)" msgstr "(termina)" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 msgid "Edit configuration" msgstr "Modifica la configurazione" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 msgid "Edit address book entry" msgstr "Modifica il contatto" #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 #, fuzzy msgid "Minutes" msgstr "Minuto:" #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 #, fuzzy msgid "active" msgstr "Tentativo" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 #, fuzzy msgid "(Edit)" msgstr "(modifica)" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "(Cancella)" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "Nessun nuovo messaggio." #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "Nuova pagina iniziale" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "La tua pagina iniziale è stata cambiata" #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "Invia un commento" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "Conferma la cancellazione" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "Sei sicuro di voler cancellare? " #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 msgid "Add, change, delete user accounts" msgstr "Aggiungi, modifica, cancella degli account di utenti" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 #, fuzzy msgid "(hosts running the ClamAV clamd service)" msgstr "(host che forniscono il servizio spamassassin)" #: ../../i18n_templatelist.c:270 msgid "Send" msgstr "Invia" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 #, fuzzy msgid "Restart Citadel" msgstr "Imposta questa pagina come principale" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "da" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "Anonimo" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "in" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "A:" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "BCC:" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "Oggetto (opzionale):" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "--- messaggio inoltrato ---" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 msgid "Post message" msgstr "Posta il messaggio" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "" #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "Allegati:" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 msgid "Delete this message?" msgstr "Cancellare questo messaggio?" #: ../../i18n_templatelist.c:300 #, fuzzy msgid "Room Logo" msgstr "Informazioni di stanza" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "Cerca: " #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "Risultato del comando impartito al Server" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 #, fuzzy msgid "Enter another command" msgstr "inserisci un comando per il server" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 #, fuzzy msgid "Return to menu" msgstr "Visualizza il menu" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 #, fuzzy msgid "Users currently on" msgstr "Utenti attualmente su %s" #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "Profilo utente" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 #, fuzzy msgid "Click here to send an instant message to" msgstr "Clicca qui per inviare un messaggio istantaneo a %s" #: ../../i18n_templatelist.c:308 #, fuzzy msgid "Pictures in" msgstr "solo immagini" #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 msgid "Edit or delete users" msgstr "Modifica o cancella gli utenti" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 #, fuzzy msgid "You need to be aide to view this." msgstr "Non hai il permesso di visualizzare questa risorsa." #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 msgid "Add users" msgstr "Aggiungi utenti" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 msgid "Edit or Delete users" msgstr "Modifica o cancella gli utenti" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "" #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 #, fuzzy msgid "User list for " msgstr "Lista utenti per %s" #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "Nome Utente" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "Numero" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "Livello di Accesso" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "Ultimo Login" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "Login Totali" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "Messaggi Totali" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "Caricamento" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "Il tuo OpenID" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "é stato verificato con successo." #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "conflitto con un utente esistente" #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "" #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "Uscita" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "Politica di cancellazione dei messaggi per questa stanza" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "Usa la politica di default per questo piano" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "Non permettere ai messaggi di auto cancellarsi" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "Cancella per numero di messaggi" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "Elimina per età del messaggio" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "Numero di messaggi o giorni:" #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "Politica di cancellazione messaggi per questo piano" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "Usa il default di sistema" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "Chiudi la finestra" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 #, fuzzy msgid "Upload failed" msgstr "Carica un documento:" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 #, fuzzy msgid "Are you shure you want to delete {filename}?" msgstr "Sei sicuro di voler cancellare? " #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "Allega file" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 #, fuzzy msgid "Remove" msgstr "(rimuovi)" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "Indicizzazione" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "Attenzione: queste caratteristiche richiedono molte risorse." #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "Abilita l'indicizzazione completa dei testi" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 msgid "Perform journaling of email messages" msgstr "Esegui l'indicizzazione delle email" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 msgid "Perform journaling of non-email messages" msgstr "Esegui l'indicizzazione dei messaggi non-email" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "Email di destinazione dei messaggi indicizzati" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "Carica un documento:" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "Carica" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "Nome del documento" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "Dimensione" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "Contenuto" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "Descrizione" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "nuovo di" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "messaggi" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "Seleziona pagina: " #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 #, fuzzy msgid "Remote host" msgstr "Smart Host" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 #, fuzzy msgid "Keep messages on server?" msgstr "Nessun messaggio." #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 #, fuzzy msgid "Interval" msgstr "Generale" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "Aggiungi" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "" "Per creare un nuovo account utente, inserisci il nome utente desiderato " "nella casella riportata sotto e clicca 'Crea'." #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 msgid "New user: " msgstr "Nuovo utente:" #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "Crea" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "(Domini mappati nei Contatti Globali)" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "(rimuovi)" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 #, fuzzy msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" "Gli utenti mostrati sotto hanno accesso a questa stanza. Per rimuovere un " "utente dalla lista degli accessi, selezionalo e clicca 'Espelli'." #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "Espelli" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" "Per permettere a un altro utente l'accesso a questa stanza, inserisci il suo " "nome utente e clicca 'Invita'." #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "Invita:" #: ../../i18n_templatelist.c:426 msgid "Invite" msgstr "Invita" #: ../../i18n_templatelist.c:427 #, fuzzy msgid "User" msgstr "Nuovo Utente" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 #, fuzzy msgid "Users" msgstr "Utenti" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 #, fuzzy msgid "Addressbook Popup" msgstr "Contatti" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "" "Per modificare un utente esistente, seleziona il suo nome dalla lista e " "clicca 'Modifica'." #: ../../i18n_templatelist.c:435 msgid "Delete user" msgstr "Cancella l'utente" #: ../../i18n_templatelist.c:436 msgid "Delete this user?" msgstr "Cancellare questo utente?" #: ../../i18n_templatelist.c:437 #, fuzzy msgid "Delete File" msgstr "Cancella la regola" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "(host che forniscono il servizio spamassassin)" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "which is already in your calendar." msgstr "" "Questo è un aggiornamento di '%s' giè nel tuo calendario." #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "This event would conflict with" msgstr "" "Questo evento è in conflitto con l'evento '%s' già presente " "nel tuo calendario." #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "Quando arrivano nuove email: " #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "Lasciala nellla mia posta in entrata senza filtrarla" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "Crea filtro dalle regole selezionate qui sotto" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "Crea filtro modificando manualmente lo script (solo utenti esperti)" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "La tua posta in ingresso non verrà filtrata attraverso nessuno script." #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "Aggiungi regola" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "Lo script attivo è: " #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "Aggiungi o cancella degli script" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "Configura il connettore LDAP per Citadel" #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" "NOTA: Questo server citadel è stato compilato senza il supporto LDAP. Queste " "opzioni non avranno effetto." #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "Nome del server LDAP (vuoto per disabilitare)" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "Nuero di porta del server LDAP (vuoto per disabilitare)" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "DN di base" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "DN bind" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "Password per il DN bind" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "Cancella o modifica questa stanza" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "Entra in una stanza \"nascosta\"" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 #, fuzzy msgid "Zap (forget) this room" msgstr "Dimentica questa stanza (%s)" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "Mostra tutte le stanze dimenticate" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 #, fuzzy msgid "Zap duplicate messages" msgstr "Leggi i nuovi messaggi" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "ID del messaggio" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "Ora/Data fornita" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 #, fuzzy msgid "Next attempt" msgstr "Ultimo tentativo" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "Destinatari" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "Numero di letture" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "dai più vecchi ai più recenti" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "dai più recenti ai più vecchi" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "" #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "Modifica" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "Rispondi" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "Rispondi con cronistoria" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "Rispondi A Tutti" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "Inoltra" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "Intestazione" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "Modifica la configurazione per tutto il sito" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "Configurazione dei nomi di dominio e della posta internet" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "Configura la replicazione con altri server Citadel" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 #, fuzzy msgid "Powered by Citadel" msgstr "Mostra l'icona Potenziato da Citadel" #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "Lingua:" #: ../../i18n_templatelist.c:507 msgid "Go to your email inbox" msgstr "Leggi la tua Posta in Arrivo" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "Posta" #: ../../i18n_templatelist.c:509 msgid "Go to your personal calendar" msgstr "Visualizza il tuo calendario personale" #: ../../i18n_templatelist.c:511 msgid "Go to your personal address book" msgstr "Vai ai tuoi contatti personali" #: ../../i18n_templatelist.c:513 msgid "Go to your personal notes" msgstr "Visualizza le tue Note personali" #: ../../i18n_templatelist.c:515 msgid "Go to your personal task list" msgstr "Visualizza le Attività da portare a termine" #: ../../i18n_templatelist.c:517 #, fuzzy msgid "List all your accessible rooms" msgstr "Mostra tutte le tue stanze accessibili" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "Mostra gli altri utenti collegati in questo momento" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "Utenti in rete" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "" "Menu di opzioni avnzate: Comandi avanzati di stanza, Informazioni " "dell'utente e Chat" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "Avanzato" #: ../../i18n_templatelist.c:526 msgid "Room and system administration functions" msgstr "Funzioni di amministrazione delle stanze e di sistema" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "modifica questo menu" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "Ultimo Login" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "Visualizza le cartelle" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "Visualizza il menu" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "Le mie cartelle" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "Porta IMAP (-1 per disabilitare)" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "Porta IMAP SSL (-1 per disabiliare)" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "Carica l'immagine" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "Puoi caricare una qualsiasi immagine direttamente dal tuo computer." #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "Per favore, seleziona un file da caricare:" #: ../../i18n_templatelist.c:545 msgid "Reset form" msgstr "Cancella" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "Mostra le sottoscrizioni" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "Mostra le sottoscrizioni/cancella la sottoscrizione" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "Richiesta di conferma inviata" #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "" #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 #, fuzzy msgid " to the " msgstr "sul " #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 #, fuzzy msgid " mailing list." msgstr "Servizio Mailing List" #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "Indietro..." #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 #, fuzzy msgid "ERROR" msgstr "ERRORE:" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 #, fuzzy msgid "from the" msgstr "da " #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 #, fuzzy msgid "mailing list." msgstr "Servizio Mailing List" #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 #, fuzzy msgid "Back..." msgstr "Indietro..." #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 #, fuzzy msgid "Confirmation successful!" msgstr "Richiesta di conferma inviata" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 #, fuzzy msgid "Confirmation failed." msgstr "Configurazione" #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "" #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 #, fuzzy msgid "Name of list:" msgstr "Nome dell'operazione" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 #, fuzzy msgid "Your e-mail address:" msgstr "Indirizzo email preferito" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "" #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 #, fuzzy msgid "One message at a time" msgstr "Inserisci il testo del messaggio:" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 #, fuzzy msgid "Digest format" msgstr "Formato dell'ora" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 #, fuzzy msgid "name of room: " msgstr "Nome delle stanza:" #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "Se impostato come privato, l'utente corrente dimenticherà la stanza" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "Solo utenti preferiti" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "Stanza in sola lettura" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "Stanza direttorio di file" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "Nome del direttorio:" #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "Upload permesso" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "Download permesso" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "Direttorio visibile" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 msgid "Network shared room" msgstr "Stanza condivisa in rete" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "Permanente (non si auto cancella)" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "Messaggio anonimo" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "Nessun messaggio anonimo" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "Tutti i messaggi sono anonimi" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "Notifica l'utente quando si sta digitando il messaggio" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 msgid "Room aide: " msgstr "Amministratore della stanza: " #: ../../i18n_templatelist.c:611 #, fuzzy msgid "Delete this entry?" msgstr "Cancello questa voce?" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "Non condivisa con" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "Condivisa con" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 msgid "Remote node name" msgstr "nome del nodo remoto" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 msgid "Remote room name" msgstr "Nome della stanza remota" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "Azioni" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 #, fuzzy msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" "La condivisione di una stanza deve essere effettuata in tutti i server in " "cui è presente. Aggiungendo un nodo alla lista di condivisioni fa in modo " "che il messaggio venga inviato, ma per ricevere, anche il nuovo nodo deve " "essere configurato per inviare i messaggi al primo.
  • Se il nome remoto " "della stanza è vuoto, è implicito che il nome della stanza remota sarà lo " "stesso.
  • Se il nome remoto è diverso, si deve configurare anche il nodo " "della stanza iniziale.
    \n" #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 #, fuzzy msgid "resend messages to this node" msgstr "Nessun messaggio." #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "Agiungi, cambia o cancella i piani" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "Numero del piano" #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "Nome del piano" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "Numero di stanze" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "Stile del Piano" #: ../../i18n_templatelist.c:633 msgid "Create new floor" msgstr "Crea un nuovo piano" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "Sposta la regola su" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "Sposta la regola giù." #: ../../i18n_templatelist.c:636 msgid "Delete rule" msgstr "Cancella la regola" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "Se" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "Destinatario o Cc" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "Rispondi a" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "Inoltra da" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "Inoltra a" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "Mittente del contenitore" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "Destinatario del contenitore" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "X-Mailer" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "X-Spam-flag" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "X-Spam-Status" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "Lista-ID" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "Dimensione del messaggio" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "Tutti" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "Contiene" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "Non contiene" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "è" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "Non è" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "è uguale a" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "Non è uguale" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "(tutti i messaggi)" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "E' più grande" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "E' più piccolo" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 #, fuzzy msgid "bytes" msgstr "anni" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "Tieni" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "Scarta silenziosamente" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "Rimanda al mittente" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "Sposta il messaggio in" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "Inoltra a" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "Vacanza" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "Messaggio:" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "e poi" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "Continua a processare" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "ferma" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "(Domini per cui questo host riceve email)" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "Configurazione di rete" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "Nodi configurati" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "(Cancella il piano)" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "(Modifica la grafica)" #: ../../i18n_templatelist.c:679 msgid "Change name" msgstr "Cambia nome" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "Modifica lo Stile" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 msgid "Configure automatic expiry of old messages" msgstr "Configura la cancellazione automatica dei vecchi messaggi" #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "" "Queste impostazioni possono essere escluse da impostazioni specifiche alla " "stanza o al piano." #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "Ora in cui lanciare la pulizia del database" #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 msgid "Default message expire policy for public rooms" msgstr "Politica di default per la cancellazione delle stanze publiche" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 msgid "Default message expire policy for private mailboxes" msgstr "" "Politica di default per la cancellazione delle cassette postali private" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 msgid "Same policy as public rooms" msgstr "Stessa politica delle stanze private" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "Tempo di eliminazione di default degli utenti (in giorni)" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "Tempo di eliminazioni di default delle stanze (in giorni)" #: ../../i18n_templatelist.c:700 msgid "Are you sure you want to delete this room?" msgstr "Sicuro di voler cancellare questa stanza?" #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "Cancella questa stanza" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 #, fuzzy msgid "Set or change the icon for this rooms banner" msgstr "Imposta o modifica l'icona per il banner di questa stanza" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 #, fuzzy msgid "Edit this rooms Info file" msgstr "Modifica il file di Informazioni di questa stanza" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "inserisci un comando per il server" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" "Questa schermata ti permette di inviare comandi al server non supportati da " "WebCit. Se non sai cosa significhi, allora questa schermata non ti " "sarà di molto aiuto." #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "Inserisci il comando:" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "" "Input del comando (se si richiede un modo di traferimento SEND_LISTING):" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 #, fuzzy msgid "Detected host header is " msgstr "L'intestazione dell'host rilevata è %s://%s" #: ../../i18n_templatelist.c:709 #, fuzzy msgid "Send command" msgstr "Inserisci il comando:" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "Elimina condivisione" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "(host che usano una lista Blackhole in tempo reale)" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "Controlli di accesso e impostazioni delle politiche del sito" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "Permetti agli amministratori di dimenticare le stanze" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "Poni in quarantena i messaggi da utenti con problemi" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "Nome della stanza di quarantena" #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 msgid "Name of room to log pages" msgstr "Nome delle stanze per il log delle pagine" #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 msgid "Authentication mode" msgstr "" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 #, fuzzy msgid "Self contained" msgstr "Contiene" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 #, fuzzy msgid "Host based" msgstr "Nome dell'host:" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 #, fuzzy msgid "Allow anonymous guest access" msgstr "Nessun messaggio anonimo" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 #, fuzzy msgid "Master user name (blank to disable)" msgstr "Nome del server Funambol (vuoto per disabilitare)" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 #, fuzzy msgid "Master user password" msgstr "Inserisci la nuova password:" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 msgid "Initial access level for new users" msgstr "Livello di accesso iniziale per i nuovi utenti" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "Livello di accesso richiesto per creare le stanze" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "" "Imposta automaticamente lo stato di aide per la stanza agli utenti che " "creano stanze private" #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 #, fuzzy msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "" "Imposta automaticamente lo stato di aide per la stanza agli utenti che " "creano stanze BLOG" #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "Restringi l'accesso alla posta internet" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "Disabilita l'autocreazione degli account utente" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "Richiedi la registrazione per i nuovo utenti" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 msgid "Add, change, or delete floors" msgstr "Aggiungi, modifica o cancella i piani" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "Vedi come:" #: ../../i18n_templatelist.c:753 #, fuzzy msgid "Delete this note?" msgstr "Cancello questa voce?" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 #, fuzzy msgid "Logged in as" msgstr "Ultimo Login" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 #, fuzzy msgid "Not logged in." msgstr "Non autenticato" #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "Devi essere registrato per accedere a questa pagina." #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "Password:" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "Nuovo utente? Registrati ora" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "" #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "OpenID URL:" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 msgid "Log in using Google" msgstr "" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 #, fuzzy msgid "Log in using Yahoo" msgstr "Esegui nuovamente il Log in" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 msgid "Log in using AOL or AIM" msgstr "" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "Aggiungi un nuovo script" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" "Per creare un nuovo script, inserisci il nome desiderato nella casella " "riportata sotto e clicca 'Crea'." #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "Nome dello script: " #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "Modifica gli script" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "Torna alla schermata di modifica dello script" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "Cancella gli script" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "" "Per cancellare uno script esistente, seleziona il suo nome dalla lista e " "clicca 'Cancella'." #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 #, fuzzy msgid "Restart Now" msgstr "Imposta questa pagina come principale" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 #, fuzzy msgid "Configure Push Email" msgstr "Email" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 #, fuzzy msgid "Notify Funambol server" msgstr "Nome del server Funambol (vuoto per disabilitare)" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 #, fuzzy msgid "Send a text message to..." msgstr "Invia un Messaggio istantaneo a:" #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "" #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "" #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "potenziato da" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "Porta SMTP MTA (-1 per disabilitare)" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "Porta SMTP MSA (-1 per disabilitare)" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "Porta SMTP SSL (-1 per disabilitare)" #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "" #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 #, fuzzy msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "" "Permetti ai client SMTP non autenticati lo spoofing dei domini del server" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "Correggi le linee From: forgiate durante una sessione SMTP autenticata" #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 #, fuzzy msgid "-1 to disable" msgstr "Clicca per disabilitare." #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 #, fuzzy msgid "ManageSieve Port (-1 to disable)" msgstr "Porta IMAP (-1 per disabilitare)" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "Configurazione del sito" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 msgid "General" msgstr "Generale" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 msgid "Settings" msgstr "" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "Indicizza" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 msgid "Access" msgstr "Accesso" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 #, fuzzy msgid "Directory" msgstr "directory" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "Eliminatore automatico" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 #, fuzzy msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" "I contenuti di questa stanza verranno inviati come messaggi " "individuali alla seguente lista di destinatari:

    \n" #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 #, fuzzy msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" "I contenuti di questa stanza saranno inviati come selezione di " "messaggi alla seguente lista di destinatari

    \n" #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 #, fuzzy msgid "List" msgstr "Cognome" #: ../../i18n_templatelist.c:847 #, fuzzy msgid "Digest" msgstr "Formato dell'ora" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "" #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "" #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 #, fuzzy msgid "Allow self-service subscribe/unsubscribe requests." msgstr "" "Questa stanza è configurate per permettere la sottoscrizione/cancellazione " "automatica degli utenti." #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "L'indirizzo per sottoscriversi/cancellarsi dalla stanza è:" #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 #, fuzzy msgid "Set" msgstr "Oggetto" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 #, fuzzy msgid "Summary page for " msgstr "Pagina riassuntiva per %s" #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "Messaggi" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "Oggi nel tuo calendario" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 #, fuzzy msgid "Who‘s online now" msgstr "Chi è online adesso?" #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "A proposito di questo server" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 #, fuzzy msgid "running" msgstr "Rifiniture" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 #, fuzzy msgid "with" msgstr "quinto" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 #, fuzzy msgid "and located in" msgstr "e poi" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 #, fuzzy msgid "Your system administrator is" msgstr "Nome dell'amministratore di sistema" #: ../../i18n_templatelist.c:874 #, fuzzy msgid "Do you really want to kill this session?" msgstr "Vuoi davvero terminare questa sessione?" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "Utenti correntemente attivi " #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 #, fuzzy msgid "Click on a name to read user info. Click on" msgstr "" "Clicca su un nome per leggere le informazioni utente.Clicca su %s per " "inviare un messaggio istantaneo a questo utente." #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 #, fuzzy msgid "to send an instant message to that user." msgstr "Invia un Messaggio istantaneo a:" #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "Messaggi vecchi" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "" #: ../../i18n_templatelist.c:880 msgid "Share" msgstr "Condividi" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "Inserisci la nuova password:" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "Inseriscila nuovamente per conferma:" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "Cambia la password" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "Modifica la tua vista della sessione" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" "Questa schermata ti permette di cambiare il modo in cui appare la tua " "sessione nella lista \"chi è on line\". Per eliminare qualsiasi nome " "fittizio abbia usato in precedenza, clicca semplicemente sul bottone di " "\"modifica\" appropriaton senza digitare nulla nella casella corrispondente. " #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "Nome della stanza:" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "Cambia il nome della stanza" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "Nome dell'host:" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "Cambia il nome dell'host" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "Cambia nome utente" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "Conferma lo spostamento del messaggio" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "Sposta questo messaggio in:" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "" #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "Mostra le stanze conosciute" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "Dove posso andare da qui?" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "Vai alla Prossima Stanza" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 #, fuzzy msgid "...with unread messages" msgstr "... contenente messaggi non letti" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "Salta alla prossima stanza" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "(torna più tardi)" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "Stanza Precedente" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 #, fuzzy msgid "oops! Back to " msgstr "(oops! Torna a %s)" #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "Leggi i nuovi messaggi" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "... in questa stanza" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "leggi tutti i messaggi" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "...vecchi e nuovo" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "Componi un messaggio" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "(scrivi in questa stanza)" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 msgid "Summary page" msgstr "Sommario" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "Sommario del mio account" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "Utenti" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 msgid "(all registered users)" msgstr "(tutti gli utenti registrati)" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "Ciao!" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "(Se presenti, invia tutta la posta non locale a uno di questi host)" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "Vista contatti" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "Aggiungi un nuovo contatto" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "Vista giornaliera" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "Vista mensile" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "Aggiungi un nuovo evento" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "Lista dei Calendari" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "Mostra le Attività" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "Aggiungi una nuova Attività" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "Mostra le note" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "Aggiungi una nuova nota" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "Componi un messaggio" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "Home Page del Wiki" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "Modifica questa pagina" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "Storia" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 #, fuzzy msgid "New blog post" msgstr "i nuovi post" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" "Lascia tutti i messaggi marcati come non letti, passa alla stanza successiva " "con messaggi non letti." #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "Salta questa stanza" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" "Marca tutti i messaggi come letti, vai alla prossima stanza con messaggi non " "letti" #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 #, fuzzy msgid "Save changes?" msgstr "Cambia i cambiamenti" #~ msgid "" #~ "You are subscribing %s to the %s mailing list. The " #~ "listserver has sent you an e-mail with one additional Web link for you to " #~ "click on to confirm your subscription. This extra step is for your " #~ "protection, as it prevents others from being able to subscribe you to " #~ "lists without your consent.

    Please click on the link which is " #~ "being e-mailed to you and your subscription will be confirmed.
    \n" #~ msgstr "" #~ "Stai sottoscrivendo %s alla mailing list %s. Il server " #~ "di posta ti ha inviato una email contenente un collegamento da cliccare " #~ "per confermare la tua sottoscrizione. questo passo è necessario " #~ "per la tua protezione, in modo da evitare che altre persone possano " #~ "sottoscriverti senza il tuo consenso.

    Per favore, clicca sul " #~ "collegamento presente nella email per confermare la tua sottoscrizione." #~ "
    \n" #~ msgid "There is no room called '%s'." #~ msgstr "Nessuna stanza col nome '%s'." #~ msgid "Network" #~ msgstr "Rete" #~ msgid "Tuning" #~ msgstr "Rifiniture" #~ msgid "Instantly expunge deleted messages in IMAP" #~ msgstr "Elimina automaticamente i messaggi cancellati nelle cartelle IMAP" #~ msgid "A script by that name already exists." #~ msgstr "Esiste già uno script con quel nome." #~ msgid "" #~ "A new script has been created. Return to the script editing screen to " #~ "edit and activate it." #~ msgstr "" #~ "E' stato creato un nuovo script. Torna alla schermata di editing per " #~ "modificarlo e attivarlo." #~ msgid "Delete script" #~ msgstr "Cancella lo script" #~ msgid "Delete this script?" #~ msgstr "Cancellare questo script?" #~ msgid "" #~ "You are connected to %s, running %s with %s, server build %s and located " #~ "in %s. Your system administrator is %s." #~ msgstr "" #~ "Sei connesso a %s, %s è in esecuzione con %s server build %s e " #~ "localizzato in %s. Il tuo amministratore di sistema è %s." #, fuzzy #~ msgid "Yes with users list" #~ msgstr "Visualizza le cartelle" #~ msgid "Room list" #~ msgstr "Lista delle stanze" #, fuzzy #~ msgid "uname" #~ msgstr "Nome del documento" #, fuzzy #~ msgid "text" #~ msgstr "successivo" #, fuzzy #~ msgid "name" #~ msgstr "Nome del documento" #, fuzzy #~ msgid "pname" #~ msgstr "Nome del documento" #, fuzzy #~ msgid "password" #~ msgstr "Password" #, fuzzy #~ msgid "pass" #~ msgstr "Attività" #, fuzzy #~ msgid "authbox" #~ msgstr "Autore" #, fuzzy #~ msgid "display: none" #~ msgstr "Nome da mostrare:" #~ msgid "Your password was not accepted." #~ msgstr "La tua password non è stata accettata." #~ msgid "See the" #~ msgstr "Guarda il" #~ msgid "Log off now?" #~ msgstr "Uscire adesso?" #, fuzzy #~ msgid "%d new of %d messages%s" #~ msgstr "%d nuovi messaggi su %d totali" #~ msgid "(nothing)" #~ msgstr "(nulla)" #~ msgid "unexpected end of message" #~ msgstr "Fine del messaggio inaspettata" #~ msgid "An error occurred while setting up the chat socket." #~ msgstr "" #~ "Si è verificato un errore durante la creazione della connessione per la " #~ "chat." #~ msgid "Now exiting chat mode." #~ msgstr "Uscita dalla modalità chat." #~ msgid "Help" #~ msgstr "Aiuto" #~ msgid "List users" #~ msgstr "Mostra gli utenti" #~ msgid "No messages here." #~ msgstr "Nessun messaggio." #, fuzzy #~ msgid "no more messages" #~ msgstr "Messaggio anonimo" #~ msgid "Email" #~ msgstr "Email" #~ msgid "Error retrieving RSS feed: couldn't find messages\n" #~ msgstr "" #~ "Errore nella ricezione del RSS: non riesco a trovare dei messaggi
    \n" #, fuzzy #~ msgid "%s from" #~ msgstr "da" #, fuzzy #~ msgid "%s in %s" #~ msgstr "solo immagini" #, fuzzy #~ msgid "" #~ "
    • Enter your OpenID URL and click "Log in".
    • Click here to " #~ "learn what OpenID is and how Citadel is using it.
    • Please log off " #~ "properly when finished.
    • You must use a browser that supports " #~ "frames and cookies.
    • Also keep in mind that if your " #~ "browser is configured to block pop-up windows, you will not be able to " #~ "receive any instant messages.
    " #~ msgstr "" #~ "
    • Se hai già un account su %s, fornisci il tuo nome " #~ "utente e la tua password e clicca su "Log in."
    • Se sei un " #~ "nuovo utente, fornisci il nome utente e la password che vorresti e " #~ "clicca su "Nuovo Utente."
    • Per favore, eseguire il logout in " #~ "maniera corretta prima di uscire.
    • Devi usare un Browser che supporti " #~ "i frames e i cookies.
    • Tieni anche a mente che se il " #~ "tuo browser è configurato per bloccare le finestre di pop up, non " #~ "riuscirai a ricevere nessun messaggio istantaneo.
    " #, fuzzy #~ msgid "" #~ "enter your user name and password and click "Log in."
  • If " #~ "you are a new user, enter the name and password you wish to use, and " #~ "click "New User."
  • Please log off properly when finished. " #~ "
  • You must use a browser that supports frames and cookies.
  • Also keep in mind that if your browser is configured to block pop-" #~ "up windows, you will not be able to receive any instant messages." #~ msgstr "" #~ "
    • Se hai già un account su %s, fornisci il tuo nome " #~ "utente e la tua password e clicca su "Log in."
    • Se sei un " #~ "nuovo utente, fornisci il nome utente e la password che vorresti e " #~ "clicca su "Nuovo Utente."
    • Per favore, eseguire il logout in " #~ "maniera corretta prima di uscire.
    • Devi usare un Browser che supporti " #~ "i frames e i cookies.
    • Tieni anche a mente che se il " #~ "tuo browser è configurato per bloccare le finestre di pop up, non " #~ "riuscirai a ricevere nessun messaggio istantaneo.
    " #~ msgid "Find out more about Citadel" #~ msgstr "Scopri di più su Citadel" #~ msgid "CITADEL" #~ msgstr "CITADEL" #~ msgid "Customize this menu" #~ msgstr "Personalizza questo menu" #~ msgid "Internet configuration" #~ msgstr "Configurazione internet" #~ msgid "of %d messages." #~ msgstr "di %d messaggi." #~ msgid " from " #~ msgstr "da" #~ msgid " in " #~ msgstr "in" #~ msgid "Edit node configuration for " #~ msgstr "Modifica la configurazione del nodo per" #~ msgid "" #~ "Postfix TCP " #~ "Dictionary Port (-1 to disable)" #~ msgstr "" #~ "Porta del dizionario " #~ "TCP di Postfix (-1 per disabilitare)" #~ msgid "ERROR: could not open template " #~ msgstr "ERRORE non riesco ad aprire il template" #~ msgid "" #~ "This message contains calendaring/scheduling information, but support " #~ "for calendars is not available on this particular system. Please ask " #~ "your system administrator to install a new version of the Citadel web " #~ "service with calendaring enabled.
    \n" #~ msgstr "" #~ "Questo messaggio contiene informazioni di organizzazione/" #~ "programmazione, ma in questo particolare sistema, il supporto per i " #~ "calendari non è disponibile. Per favore, chiedi al tuo " #~ "amministratore di sistema di installare una nuova versione del servizion " #~ "web di Citadel con il calendario abilitato.
    \n" #~ msgid "" #~ "Cannot display calendar item. You are seeing this error because your " #~ "WebCit service has not been installed with calendar support. Please " #~ "contact your system administrator.
    \n" #~ msgstr "" #~ "Non posso mostrare l'oggetto calendario. Stai vedendo questo messaggio " #~ "perchè il servizio WebCit non è stato installato col " #~ "supporto al calendario. Per favore, contatta il tuo amministratore di " #~ "sistema.
    \n" #~ msgid "" #~ "Cannot display to-do item. You are seeing this error because your " #~ "WebCit service has not been installed with calendar support. Please " #~ "contact your system administrator.
    \n" #~ msgstr "" #~ "Non posso mostrare l'oggetto cose da fare. Stai vedendo questo " #~ "messaggio perchè il servizio WebCit non è stato installato " #~ "col supporto al calendario. Per favore, contatta il tuo amministratore di " #~ "sistema.
    \n" #~ msgid "Day: " #~ msgstr "Giorno:" #~ msgid "Year: " #~ msgstr "Anno:" #~ msgid "The calendar view is not available." #~ msgstr "La vista calendario non è disponibile." #~ msgid "The tasks view is not available." #~ msgstr "La vista operazione non è disponibile." #~ msgid "Gateway domains" #~ msgstr "Domini del gateway" #~ msgid "(domains whose subdomains match Citadel hosts)" #~ msgstr "(domini i cui sottodomini coincidono con host Citadel)" #~ msgid "(This server does not support task lists)" #~ msgstr "(Questo server non supporta la lista delle operazioni)" #~ msgid "(This server does not support calendars)" #~ msgstr "(Questo server non supporta i calendari)" #~ msgid "" #~ "This room is not configured to allow self-service subscribe/" #~ "unsubscribe requests." #~ msgstr "" #~ "Questa stanza non è stata configurata per permettere la " #~ "sottoscrizione/cancellazione automatica degli utenti." #~ msgid "Click to enable." #~ msgstr "Clicca per abilitare." #~ msgid "Back to menu" #~ msgstr "Torna al menu" #~ msgid "Respond to meeting request" #~ msgstr "Rispondi alla richiesta di incontro" #~ msgid "Update your calendar with this RSVP" #~ msgstr "Aggiorna il tuo calendario con questo RSVP" #~ msgid "Public room" #~ msgstr "Stanza pubblica" #~ msgid "Private - guess name" #~ msgstr "Privato - indovina il nome" #~ msgid "Private - require password:" #~ msgstr "Privato - richiede la password" #~ msgid "localhost" #~ msgstr "localhost" #~ msgid "gatewaydomain" #~ msgstr "dominio del gateway" #~ msgid "rbl" #~ msgstr "rbl" #~ msgid "spamassassin" #~ msgstr "spamassassin" #~ msgid "[ close window ]" #~ msgstr "[ chiudi la finestra ]" webcit-9.01-dfsg/po/webcit/kk.po000066400000000000000000003650601254743150300165170ustar00rootroot00000000000000# Kazakh translation for citadel # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the citadel package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: citadel\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2010-12-26 10:06+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Kazakh \n" "Language: kk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-08-01 04:34+0000\n" "X-Generator: Launchpad (build 15719)\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "" #: ../../availability.c:169 msgid "free" msgstr "" #: ../../availability.c:179 msgid "BUSY" msgstr "" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "" #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "" #: ../../graphics.c:106 msgid "your photo" msgstr "" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "" #: ../../tasks.c:93 msgid "Completed?" msgstr "" #: ../../tasks.c:95 msgid "Name of task" msgstr "" #: ../../tasks.c:97 msgid "Date due" msgstr "" #: ../../tasks.c:99 msgid "Category" msgstr "" #: ../../tasks.c:101 msgid "Show All" msgstr "" #: ../../tasks.c:224 msgid "Edit task" msgstr "" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "" #: ../../tasks.c:259 msgid "Start date:" msgstr "" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "" #: ../../tasks.c:289 msgid "Due date:" msgstr "" #: ../../tasks.c:318 msgid "Completed:" msgstr "" #: ../../tasks.c:329 msgid "Category:" msgstr "" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, c-format msgid "%d comments" msgstr "" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "" #: ../../sysmsgs.c:103 msgid " has been saved." msgstr "" #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "" #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "" #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "" #: ../../openid.c:47 msgid "(delete)" msgstr "" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "" #: ../../openid.c:58 msgid "Attach" msgstr "" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "" #: ../../summary.c:128 msgid "(None)" msgstr "" #: ../../summary.c:184 msgid "(Nothing)" msgstr "" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "" #: ../../bbsview_renderer.c:354 msgid "First" msgstr "" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "" #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "" #: ../../auth.c:617 msgid "very weak" msgstr "" #: ../../auth.c:620 msgid "weak" msgstr "" #: ../../auth.c:623 msgid "ok" msgstr "" #: ../../auth.c:627 msgid "strong" msgstr "" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "" #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "" #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "" #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "" #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "" #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "" #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "" #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "" #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "" #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "" #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "" #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "" #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "" #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "" #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "" #: ../../event.c:71 msgid "seconds" msgstr "" #: ../../event.c:72 msgid "minutes" msgstr "" #: ../../event.c:73 msgid "hours" msgstr "" #: ../../event.c:74 msgid "days" msgstr "" #: ../../event.c:75 msgid "weeks" msgstr "" #: ../../event.c:76 msgid "months" msgstr "" #: ../../event.c:77 msgid "years" msgstr "" #: ../../event.c:78 msgid "never" msgstr "" #: ../../event.c:82 msgid "first" msgstr "" #: ../../event.c:83 msgid "second" msgstr "" #: ../../event.c:84 msgid "third" msgstr "" #: ../../event.c:85 msgid "fourth" msgstr "" #: ../../event.c:86 msgid "fifth" msgstr "" #: ../../event.c:89 msgid "Event" msgstr "" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "" #: ../../event.c:168 msgid "Add or edit an event" msgstr "" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "" #: ../../event.c:222 msgid "Location" msgstr "" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "" #: ../../event.c:374 msgid "Organizer" msgstr "" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "" #: ../../event.c:397 msgid "Show time as:" msgstr "" #: ../../event.c:420 msgid "Free" msgstr "" #: ../../event.c:428 msgid "Busy" msgstr "" #: ../../event.c:445 msgid "(One per line)" msgstr "" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "" #: ../../event.c:518 msgid "Recurrence rule" msgstr "" #: ../../event.c:522 msgid "Repeats every" msgstr "" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "" #: ../../event.c:631 msgid "of the month" msgstr "" #: ../../event.c:660 msgid "every " msgstr "" #: ../../event.c:661 msgid "year on this date" msgstr "" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "" #: ../../event.c:717 msgid "Recurrence range" msgstr "" #: ../../event.c:725 msgid "No ending date" msgstr "" #: ../../event.c:732 msgid "Repeat this event" msgstr "" #: ../../event.c:735 msgid "times" msgstr "" #: ../../event.c:743 msgid "Repeat this event until " msgstr "" #: ../../event.c:771 msgid "Check attendee availability" msgstr "" #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "" #: ../../inetconf.c:126 msgid " has been deleted." msgstr "" #. added status message #: ../../inetconf.c:144 msgid " added." msgstr "" #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "" #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "" #: ../../listsub.c:38 ../../listsub.c:76 msgid "You need to specify the email address you'd like to subscribe with." msgstr "" #: ../../messages.c:73 msgid "ERROR:" msgstr "" #: ../../messages.c:91 msgid "Empty message" msgstr "" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "" #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "" #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "" #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "" #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "" #: ../../paging.c:29 msgid "Send instant message" msgstr "" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "" #: ../../paging.c:51 msgid "Enter message text:" msgstr "" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "" #: ../../paging.c:78 msgid "Message was not sent." msgstr "" #: ../../paging.c:89 msgid "Message has been sent to " msgstr "" #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "" #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "" #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "" #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "" #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "" #: ../../roomlist.c:105 msgid "My Folders" msgstr "" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "" #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "" #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "" #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "" #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "" #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "" #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "" #: ../../roomops.c:1363 msgid "Room list view" msgstr "" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "" #: ../../roomtokens.c:570 msgid "file" msgstr "" #: ../../roomtokens.c:572 msgid "files" msgstr "" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "" #: ../../roomviews.c:55 msgid "Address Book" msgstr "" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "" #: ../../roomviews.c:57 msgid "Task List" msgstr "" #: ../../roomviews.c:58 msgid "Notes List" msgstr "" #: ../../roomviews.c:59 msgid "Wiki" msgstr "" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "" #: ../../roomviews.c:61 msgid "Journal" msgstr "" #: ../../roomviews.c:62 msgid "Drafts" msgstr "" #: ../../roomviews.c:63 msgid "Blog" msgstr "" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "" #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "" #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "" #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "" #: ../../useredit.c:778 msgid "A new user has been created." msgstr "" #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "" #: ../../vcard_edit.c:438 msgid " (work)" msgstr "" #: ../../vcard_edit.c:440 msgid " (home)" msgstr "" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr "" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "" #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "" #: ../../vcard_edit.c:940 msgid "Error" msgstr "" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "" #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" #: ../../webcit.c:688 msgid "Read More..." msgstr "" #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "" #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "" #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "" #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "" #: ../../wiki.c:143 msgid "Author" msgstr "" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "" #: ../../wiki.c:184 msgid "(revert)" msgstr "" #: ../../wiki.c:246 msgid "Page title" msgstr "" #: ../../fmt_date.c:306 msgid "Time format" msgstr "" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "" #: ../../calendar_view.c:750 msgid "Week" msgstr "" #: ../../calendar_view.c:752 msgid "Hours" msgstr "" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "" #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "" #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "" #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "" #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "" #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "" #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "" #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "" #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "" #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "" #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 msgid "System Administration Menu" msgstr "" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 msgid "Room Admin Menu" msgstr "" #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 msgid "Fallback smart hosts" msgstr "" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 msgid "RBL hosts" msgstr "" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 msgid "Masqueradable domains" msgstr "" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 msgid "Network services" msgstr "" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "" #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "" #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "" #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "" #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "" #: ../../i18n_templatelist.c:95 msgid "Create new room" msgstr "" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 msgid "If you select this option," msgstr "" #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 msgid "will disappear from your room list. Is this what you wish to do?" msgstr "" #: ../../i18n_templatelist.c:102 msgid "Zap this room" msgstr "" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "" #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 msgid "Click on any room to un-zap it and goto that room." msgstr "" #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "" #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 msgid "Manage your OpenIDs" msgstr "" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "" #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "" #: ../../i18n_templatelist.c:144 msgid "Go there" msgstr "" #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "" #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 msgid "Push Email" msgstr "" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 msgid "Funambol server host (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 msgid "Funambol server port " msgstr "" #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 msgid "Funambol sync source" msgstr "" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 msgid "External pager tool (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 msgid "Sunday" msgstr "" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 msgid "Monday" msgstr "" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "" #: ../../i18n_templatelist.c:168 msgid "Change" msgstr "" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "" #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 msgid "Number of logins" msgstr "" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 msgid "Messages submitted" msgstr "" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 msgid "Access level" msgstr "" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 msgid "User ID number" msgstr "" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 msgid "POP3 fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 msgid "POP3 fastest fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 msgid "Remote Sites:" msgstr "" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 msgid "Status:" msgstr "" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 msgid "Jobs waiting for further processing:" msgstr "" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 msgid "Message to your Users:" msgstr "" #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "" #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 msgid "General site configuration items" msgstr "" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 msgid "Node name" msgstr "" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 msgid "Telephone number" msgstr "" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 msgid "Networked Room" msgstr "" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 msgid "Add a new node" msgstr "" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "" #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 msgid "Port number" msgstr "" #: ../../i18n_templatelist.c:241 msgid "Add node?" msgstr "" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 msgid "(kill)" msgstr "" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 msgid "Edit configuration" msgstr "" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 msgid "Edit address book entry" msgstr "" #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 msgid "Minutes" msgstr "" #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 msgid "active" msgstr "" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 msgid "(Edit)" msgstr "" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "" #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "" #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "" #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 msgid "Add, change, delete user accounts" msgstr "" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 msgid "(hosts running the ClamAV clamd service)" msgstr "" #: ../../i18n_templatelist.c:270 msgid "Send" msgstr "" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 msgid "Restart Citadel" msgstr "" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 msgid "Post message" msgstr "" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "" #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 msgid "Delete this message?" msgstr "" #: ../../i18n_templatelist.c:300 msgid "Room Logo" msgstr "" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "" #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 msgid "Enter another command" msgstr "" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 msgid "Return to menu" msgstr "" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 msgid "Users currently on" msgstr "" #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 msgid "Click here to send an instant message to" msgstr "" #: ../../i18n_templatelist.c:308 msgid "Pictures in" msgstr "" #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 msgid "Edit or delete users" msgstr "" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 msgid "You need to be aide to view this." msgstr "" #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 msgid "Add users" msgstr "" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 msgid "Edit or Delete users" msgstr "" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "" #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 msgid "User list for " msgstr "" #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "" #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "" #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "" #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "" #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 msgid "Upload failed" msgstr "" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 msgid "Are you shure you want to delete {filename}?" msgstr "" #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 msgid "Remove" msgstr "" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "" #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 msgid "Perform journaling of email messages" msgstr "" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 msgid "Perform journaling of non-email messages" msgstr "" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "" #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 msgid "Remote host" msgstr "" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 msgid "Keep messages on server?" msgstr "" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 msgid "Interval" msgstr "" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "" #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 msgid "New user: " msgstr "" #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "" #: ../../i18n_templatelist.c:426 msgid "Invite" msgstr "" #: ../../i18n_templatelist.c:427 msgid "User" msgstr "" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 msgid "Users" msgstr "" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 msgid "Addressbook Popup" msgstr "" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "" #: ../../i18n_templatelist.c:435 msgid "Delete user" msgstr "" #: ../../i18n_templatelist.c:436 msgid "Delete this user?" msgstr "" #: ../../i18n_templatelist.c:437 msgid "Delete File" msgstr "" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 msgid "which is already in your calendar." msgstr "" #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 msgid "This event would conflict with" msgstr "" #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "" #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "" #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "" #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "" #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 msgid "Zap (forget) this room" msgstr "" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "Zap duplicate messages" msgstr "" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 msgid "Next attempt" msgstr "" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "" #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 msgid "Powered by Citadel" msgstr "" #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "" #: ../../i18n_templatelist.c:507 msgid "Go to your email inbox" msgstr "" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "" #: ../../i18n_templatelist.c:509 msgid "Go to your personal calendar" msgstr "" #: ../../i18n_templatelist.c:511 msgid "Go to your personal address book" msgstr "" #: ../../i18n_templatelist.c:513 msgid "Go to your personal notes" msgstr "" #: ../../i18n_templatelist.c:515 msgid "Go to your personal task list" msgstr "" #: ../../i18n_templatelist.c:517 msgid "List all your accessible rooms" msgstr "" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "" #: ../../i18n_templatelist.c:526 msgid "Room and system administration functions" msgstr "" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "" #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "" #: ../../i18n_templatelist.c:545 msgid "Reset form" msgstr "" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "" #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "" #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 msgid " to the " msgstr "" #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 msgid " mailing list." msgstr "" #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "" #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 msgid "ERROR" msgstr "" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 msgid "from the" msgstr "" #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 msgid "mailing list." msgstr "" #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 msgid "Back..." msgstr "" #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 msgid "Confirmation successful!" msgstr "" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 msgid "Confirmation failed." msgstr "" #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "" #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 msgid "Name of list:" msgstr "" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 msgid "Your e-mail address:" msgstr "" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "" #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 msgid "One message at a time" msgstr "" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 msgid "Digest format" msgstr "" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 msgid "name of room: " msgstr "" #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "" #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 msgid "Network shared room" msgstr "" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 msgid "Room aide: " msgstr "" #: ../../i18n_templatelist.c:611 msgid "Delete this entry?" msgstr "" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 msgid "Remote node name" msgstr "" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 msgid "Remote room name" msgstr "" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 msgid "resend messages to this node" msgstr "" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "" #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "" #: ../../i18n_templatelist.c:633 msgid "Create new floor" msgstr "" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "" #: ../../i18n_templatelist.c:636 msgid "Delete rule" msgstr "" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 msgid "bytes" msgstr "" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "" #: ../../i18n_templatelist.c:679 msgid "Change name" msgstr "" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 msgid "Configure automatic expiry of old messages" msgstr "" #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "" #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "" #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 msgid "Default message expire policy for public rooms" msgstr "" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 msgid "Default message expire policy for private mailboxes" msgstr "" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 msgid "Same policy as public rooms" msgstr "" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "" #: ../../i18n_templatelist.c:700 msgid "Are you sure you want to delete this room?" msgstr "" #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 msgid "Set or change the icon for this rooms banner" msgstr "" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 msgid "Edit this rooms Info file" msgstr "" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 msgid "Detected host header is " msgstr "" #: ../../i18n_templatelist.c:709 msgid "Send command" msgstr "" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "" #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 msgid "Name of room to log pages" msgstr "" #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 msgid "Authentication mode" msgstr "" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 msgid "Self contained" msgstr "" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 msgid "Host based" msgstr "" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 msgid "Allow anonymous guest access" msgstr "" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 msgid "Master user name (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 msgid "Master user password" msgstr "" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 msgid "Initial access level for new users" msgstr "" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "" #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "" #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 msgid "Add, change, or delete floors" msgstr "" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "" #: ../../i18n_templatelist.c:753 msgid "Delete this note?" msgstr "" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 msgid "Logged in as" msgstr "" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 msgid "Not logged in." msgstr "" #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "" #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "" #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 msgid "Log in using Google" msgstr "" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 msgid "Log in using Yahoo" msgstr "" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 msgid "Log in using AOL or AIM" msgstr "" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "" #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "" #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 msgid "Restart Now" msgstr "" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 msgid "Configure Push Email" msgstr "" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 msgid "Notify Funambol server" msgstr "" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 msgid "Send a text message to..." msgstr "" #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "" #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "" #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "" #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "" #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "-1 to disable" msgstr "" #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 msgid "ManageSieve Port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 msgid "General" msgstr "" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 msgid "Settings" msgstr "" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 msgid "Access" msgstr "" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 msgid "Directory" msgstr "" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 msgid "List" msgstr "" #: ../../i18n_templatelist.c:847 msgid "Digest" msgstr "" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "" #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "" #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 msgid "Allow self-service subscribe/unsubscribe requests." msgstr "" #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "" #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 msgid "Set" msgstr "" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 msgid "Summary page for " msgstr "" #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 msgid "Who‘s online now" msgstr "" #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 msgid "running" msgstr "" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 msgid "with" msgstr "" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 msgid "and located in" msgstr "" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 msgid "Your system administrator is" msgstr "" #: ../../i18n_templatelist.c:874 msgid "Do you really want to kill this session?" msgstr "" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "" #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 msgid "Click on a name to read user info. Click on" msgstr "" #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 msgid "to send an instant message to that user." msgstr "" #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "" #: ../../i18n_templatelist.c:880 msgid "Share" msgstr "" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "" #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 msgid "...with unread messages" msgstr "" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 msgid "oops! Back to " msgstr "" #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 msgid "Summary page" msgstr "" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 msgid "(all registered users)" msgstr "" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 msgid "New blog post" msgstr "" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 msgid "Save changes?" msgstr "" webcit-9.01-dfsg/po/webcit/ko.po000066400000000000000000003652431254743150300165260ustar00rootroot00000000000000# Korean translation for citadel # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the citadel package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: citadel\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2013-11-20 21:55+0000\n" "Last-Translator: Litty \n" "Language-Team: Korean \n" "Language: ko\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2013-11-21 05:11+0000\n" "X-Generator: Launchpad (build 16831)\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "" #: ../../availability.c:169 msgid "free" msgstr "" #: ../../availability.c:179 msgid "BUSY" msgstr "" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "" #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "" #: ../../graphics.c:106 msgid "your photo" msgstr "" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "" #: ../../tasks.c:93 msgid "Completed?" msgstr "" #: ../../tasks.c:95 msgid "Name of task" msgstr "" #: ../../tasks.c:97 msgid "Date due" msgstr "" #: ../../tasks.c:99 msgid "Category" msgstr "" #: ../../tasks.c:101 msgid "Show All" msgstr "" #: ../../tasks.c:224 msgid "Edit task" msgstr "" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "" #: ../../tasks.c:259 msgid "Start date:" msgstr "" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "" #: ../../tasks.c:289 msgid "Due date:" msgstr "" #: ../../tasks.c:318 msgid "Completed:" msgstr "" #: ../../tasks.c:329 msgid "Category:" msgstr "" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, c-format msgid "%d comments" msgstr "" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "" #: ../../sysmsgs.c:103 msgid " has been saved." msgstr "" #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "" #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "" #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "" #: ../../openid.c:47 msgid "(delete)" msgstr "" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "" #: ../../openid.c:58 msgid "Attach" msgstr "" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "" #: ../../summary.c:128 msgid "(None)" msgstr "" #: ../../summary.c:184 msgid "(Nothing)" msgstr "" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "" #: ../../bbsview_renderer.c:354 msgid "First" msgstr "" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "" #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "" #: ../../auth.c:617 msgid "very weak" msgstr "" #: ../../auth.c:620 msgid "weak" msgstr "" #: ../../auth.c:623 msgid "ok" msgstr "" #: ../../auth.c:627 msgid "strong" msgstr "" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "" #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "" #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "" #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "" #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "" #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "" #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "" #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "" #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "" #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "" #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "" #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "" #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "" #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "" #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "" #: ../../event.c:71 msgid "seconds" msgstr "" #: ../../event.c:72 msgid "minutes" msgstr "" #: ../../event.c:73 msgid "hours" msgstr "" #: ../../event.c:74 msgid "days" msgstr "" #: ../../event.c:75 msgid "weeks" msgstr "" #: ../../event.c:76 msgid "months" msgstr "" #: ../../event.c:77 msgid "years" msgstr "" #: ../../event.c:78 msgid "never" msgstr "" #: ../../event.c:82 msgid "first" msgstr "" #: ../../event.c:83 msgid "second" msgstr "" #: ../../event.c:84 msgid "third" msgstr "" #: ../../event.c:85 msgid "fourth" msgstr "" #: ../../event.c:86 msgid "fifth" msgstr "" #: ../../event.c:89 msgid "Event" msgstr "" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "" #: ../../event.c:168 msgid "Add or edit an event" msgstr "" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "" #: ../../event.c:222 msgid "Location" msgstr "" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "" #: ../../event.c:374 msgid "Organizer" msgstr "" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "" #: ../../event.c:397 msgid "Show time as:" msgstr "" #: ../../event.c:420 msgid "Free" msgstr "" #: ../../event.c:428 msgid "Busy" msgstr "" #: ../../event.c:445 msgid "(One per line)" msgstr "" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "" #: ../../event.c:518 msgid "Recurrence rule" msgstr "" #: ../../event.c:522 msgid "Repeats every" msgstr "" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "" #: ../../event.c:631 msgid "of the month" msgstr "" #: ../../event.c:660 msgid "every " msgstr "" #: ../../event.c:661 msgid "year on this date" msgstr "" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "" #: ../../event.c:717 msgid "Recurrence range" msgstr "" #: ../../event.c:725 msgid "No ending date" msgstr "" #: ../../event.c:732 msgid "Repeat this event" msgstr "" #: ../../event.c:735 msgid "times" msgstr "" #: ../../event.c:743 msgid "Repeat this event until " msgstr "" #: ../../event.c:771 msgid "Check attendee availability" msgstr "" #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "" #: ../../inetconf.c:126 msgid " has been deleted." msgstr "" #. added status message #: ../../inetconf.c:144 msgid " added." msgstr "" #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "" #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "" #: ../../listsub.c:38 ../../listsub.c:76 msgid "You need to specify the email address you'd like to subscribe with." msgstr "" #: ../../messages.c:73 msgid "ERROR:" msgstr "" #: ../../messages.c:91 msgid "Empty message" msgstr "" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "" #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "" #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "" #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "" #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "" #: ../../paging.c:29 msgid "Send instant message" msgstr "" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "" #: ../../paging.c:51 msgid "Enter message text:" msgstr "" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "" #: ../../paging.c:78 msgid "Message was not sent." msgstr "" #: ../../paging.c:89 msgid "Message has been sent to " msgstr "" #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "" #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "" #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "" #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "" #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "" #: ../../roomlist.c:105 msgid "My Folders" msgstr "" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "취소ë˜ì—ˆìŠµë‹ˆë‹¤. 변경 ì‚¬í•­ì´ ì €ìž¥ë˜ì§€ 않았습니다." #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "변경 ì‚¬í•­ì´ ì €ìž¥ë˜ì—ˆìŠµë‹ˆë‹¤." #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "" #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "" #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "" #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "" #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "" #: ../../roomops.c:1363 msgid "Room list view" msgstr "ë°© ëª©ë¡ ë³´ê¸°" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "" #: ../../roomtokens.c:570 msgid "file" msgstr "" #: ../../roomtokens.c:572 msgid "files" msgstr "" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "" #: ../../roomviews.c:55 msgid "Address Book" msgstr "" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "" #: ../../roomviews.c:57 msgid "Task List" msgstr "" #: ../../roomviews.c:58 msgid "Notes List" msgstr "" #: ../../roomviews.c:59 msgid "Wiki" msgstr "" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "" #: ../../roomviews.c:61 msgid "Journal" msgstr "" #: ../../roomviews.c:62 msgid "Drafts" msgstr "" #: ../../roomviews.c:63 msgid "Blog" msgstr "" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "" #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "" #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "" #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "" #: ../../useredit.c:778 msgid "A new user has been created." msgstr "" #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "" #: ../../vcard_edit.c:438 msgid " (work)" msgstr "" #: ../../vcard_edit.c:440 msgid " (home)" msgstr "" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr "" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "" #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "" #: ../../vcard_edit.c:940 msgid "Error" msgstr "" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "" #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" #: ../../webcit.c:688 msgid "Read More..." msgstr "" #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "" #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "" #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "" #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "" #: ../../wiki.c:143 msgid "Author" msgstr "" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "" #: ../../wiki.c:184 msgid "(revert)" msgstr "" #: ../../wiki.c:246 msgid "Page title" msgstr "" #: ../../fmt_date.c:306 msgid "Time format" msgstr "" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "" #: ../../calendar_view.c:750 msgid "Week" msgstr "" #: ../../calendar_view.c:752 msgid "Hours" msgstr "" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "" #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "" #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "" #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "" #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "" #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "" #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "" #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "" #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "" #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "" #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 msgid "System Administration Menu" msgstr "" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 msgid "Room Admin Menu" msgstr "" #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 msgid "Fallback smart hosts" msgstr "" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 msgid "RBL hosts" msgstr "" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 msgid "Masqueradable domains" msgstr "" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 msgid "Network services" msgstr "" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "" #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "" #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "" #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "" #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "" #: ../../i18n_templatelist.c:95 msgid "Create new room" msgstr "" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 msgid "If you select this option," msgstr "" #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 msgid "will disappear from your room list. Is this what you wish to do?" msgstr "" #: ../../i18n_templatelist.c:102 msgid "Zap this room" msgstr "" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "" #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 msgid "Click on any room to un-zap it and goto that room." msgstr "" #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "" #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 msgid "Manage your OpenIDs" msgstr "" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "" #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "" #: ../../i18n_templatelist.c:144 msgid "Go there" msgstr "" #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "" #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 msgid "Push Email" msgstr "" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 msgid "Funambol server host (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 msgid "Funambol server port " msgstr "" #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 msgid "Funambol sync source" msgstr "" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 msgid "External pager tool (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 msgid "Sunday" msgstr "" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 msgid "Monday" msgstr "" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "" #: ../../i18n_templatelist.c:168 msgid "Change" msgstr "" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "" #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 msgid "Number of logins" msgstr "" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 msgid "Messages submitted" msgstr "" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 msgid "Access level" msgstr "" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 msgid "User ID number" msgstr "" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 msgid "POP3 fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 msgid "POP3 fastest fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 msgid "Remote Sites:" msgstr "" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 msgid "Status:" msgstr "" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 msgid "Jobs waiting for further processing:" msgstr "" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 msgid "Message to your Users:" msgstr "" #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "" #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 msgid "General site configuration items" msgstr "" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 msgid "Node name" msgstr "" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 msgid "Telephone number" msgstr "" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 msgid "Networked Room" msgstr "" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 msgid "Add a new node" msgstr "" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "" #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 msgid "Port number" msgstr "" #: ../../i18n_templatelist.c:241 msgid "Add node?" msgstr "" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 msgid "(kill)" msgstr "" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 msgid "Edit configuration" msgstr "" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 msgid "Edit address book entry" msgstr "" #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 msgid "Minutes" msgstr "" #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 msgid "active" msgstr "" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 msgid "(Edit)" msgstr "" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "" #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "" #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "" #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 msgid "Add, change, delete user accounts" msgstr "" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 msgid "(hosts running the ClamAV clamd service)" msgstr "" #: ../../i18n_templatelist.c:270 msgid "Send" msgstr "" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 msgid "Restart Citadel" msgstr "" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 msgid "Post message" msgstr "" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "" #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 msgid "Delete this message?" msgstr "" #: ../../i18n_templatelist.c:300 msgid "Room Logo" msgstr "" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "" #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 msgid "Enter another command" msgstr "" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 msgid "Return to menu" msgstr "" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 msgid "Users currently on" msgstr "" #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 msgid "Click here to send an instant message to" msgstr "" #: ../../i18n_templatelist.c:308 msgid "Pictures in" msgstr "" #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 msgid "Edit or delete users" msgstr "" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 msgid "You need to be aide to view this." msgstr "" #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 msgid "Add users" msgstr "" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 msgid "Edit or Delete users" msgstr "" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "" #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 msgid "User list for " msgstr "" #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "" #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "" #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "" #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "" #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 msgid "Upload failed" msgstr "" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 msgid "Are you shure you want to delete {filename}?" msgstr "" #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 msgid "Remove" msgstr "" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "" #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 msgid "Perform journaling of email messages" msgstr "" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 msgid "Perform journaling of non-email messages" msgstr "" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "" #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 msgid "Remote host" msgstr "" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 msgid "Keep messages on server?" msgstr "" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 msgid "Interval" msgstr "" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "" #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 msgid "New user: " msgstr "" #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "" #: ../../i18n_templatelist.c:426 msgid "Invite" msgstr "" #: ../../i18n_templatelist.c:427 msgid "User" msgstr "" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 msgid "Users" msgstr "" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 msgid "Addressbook Popup" msgstr "" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "" #: ../../i18n_templatelist.c:435 msgid "Delete user" msgstr "" #: ../../i18n_templatelist.c:436 msgid "Delete this user?" msgstr "" #: ../../i18n_templatelist.c:437 msgid "Delete File" msgstr "" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 msgid "which is already in your calendar." msgstr "" #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 msgid "This event would conflict with" msgstr "" #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "" #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "" #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "" #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "" #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 msgid "Zap (forget) this room" msgstr "" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "Zap duplicate messages" msgstr "" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 msgid "Next attempt" msgstr "" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "" #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 msgid "Powered by Citadel" msgstr "" #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "" #: ../../i18n_templatelist.c:507 msgid "Go to your email inbox" msgstr "" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "" #: ../../i18n_templatelist.c:509 msgid "Go to your personal calendar" msgstr "" #: ../../i18n_templatelist.c:511 msgid "Go to your personal address book" msgstr "" #: ../../i18n_templatelist.c:513 msgid "Go to your personal notes" msgstr "" #: ../../i18n_templatelist.c:515 msgid "Go to your personal task list" msgstr "" #: ../../i18n_templatelist.c:517 msgid "List all your accessible rooms" msgstr "" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "" #: ../../i18n_templatelist.c:526 msgid "Room and system administration functions" msgstr "" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "" #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "" #: ../../i18n_templatelist.c:545 msgid "Reset form" msgstr "" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "" #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "" #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 msgid " to the " msgstr "" #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 msgid " mailing list." msgstr "" #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "" #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 msgid "ERROR" msgstr "" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 msgid "from the" msgstr "" #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 msgid "mailing list." msgstr "" #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 msgid "Back..." msgstr "" #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 msgid "Confirmation successful!" msgstr "" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 msgid "Confirmation failed." msgstr "" #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "" #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 msgid "Name of list:" msgstr "" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 msgid "Your e-mail address:" msgstr "" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "" #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 msgid "One message at a time" msgstr "" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 msgid "Digest format" msgstr "" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 msgid "name of room: " msgstr "" #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "" #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 msgid "Network shared room" msgstr "" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 msgid "Room aide: " msgstr "" #: ../../i18n_templatelist.c:611 msgid "Delete this entry?" msgstr "" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 msgid "Remote node name" msgstr "" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 msgid "Remote room name" msgstr "" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 msgid "resend messages to this node" msgstr "" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "" #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "" #: ../../i18n_templatelist.c:633 msgid "Create new floor" msgstr "" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "" #: ../../i18n_templatelist.c:636 msgid "Delete rule" msgstr "" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 msgid "bytes" msgstr "" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "" #: ../../i18n_templatelist.c:679 msgid "Change name" msgstr "" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 msgid "Configure automatic expiry of old messages" msgstr "" #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "" #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "" #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 msgid "Default message expire policy for public rooms" msgstr "" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 msgid "Default message expire policy for private mailboxes" msgstr "" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 msgid "Same policy as public rooms" msgstr "" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "" #: ../../i18n_templatelist.c:700 msgid "Are you sure you want to delete this room?" msgstr "" #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 msgid "Set or change the icon for this rooms banner" msgstr "" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 msgid "Edit this rooms Info file" msgstr "" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 msgid "Detected host header is " msgstr "" #: ../../i18n_templatelist.c:709 msgid "Send command" msgstr "" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "" #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 msgid "Name of room to log pages" msgstr "" #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 msgid "Authentication mode" msgstr "" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 msgid "Self contained" msgstr "" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 msgid "Host based" msgstr "" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 msgid "Allow anonymous guest access" msgstr "" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 msgid "Master user name (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 msgid "Master user password" msgstr "" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 msgid "Initial access level for new users" msgstr "" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "" #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "" #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 msgid "Add, change, or delete floors" msgstr "" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "" #: ../../i18n_templatelist.c:753 msgid "Delete this note?" msgstr "" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 msgid "Logged in as" msgstr "" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 msgid "Not logged in." msgstr "" #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "" #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "" #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 msgid "Log in using Google" msgstr "" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 msgid "Log in using Yahoo" msgstr "" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 msgid "Log in using AOL or AIM" msgstr "" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "" #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "" #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 msgid "Restart Now" msgstr "" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 msgid "Configure Push Email" msgstr "" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 msgid "Notify Funambol server" msgstr "" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 msgid "Send a text message to..." msgstr "" #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "" #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "" #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "" #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "" #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "-1 to disable" msgstr "" #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 msgid "ManageSieve Port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 msgid "General" msgstr "" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 msgid "Settings" msgstr "" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 msgid "Access" msgstr "" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 msgid "Directory" msgstr "" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 msgid "List" msgstr "" #: ../../i18n_templatelist.c:847 msgid "Digest" msgstr "" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "" #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "" #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 msgid "Allow self-service subscribe/unsubscribe requests." msgstr "" #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "" #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 msgid "Set" msgstr "" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 msgid "Summary page for " msgstr "" #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 msgid "Who‘s online now" msgstr "" #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 msgid "running" msgstr "" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 msgid "with" msgstr "" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 msgid "and located in" msgstr "" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 msgid "Your system administrator is" msgstr "" #: ../../i18n_templatelist.c:874 msgid "Do you really want to kill this session?" msgstr "" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "" #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 msgid "Click on a name to read user info. Click on" msgstr "" #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 msgid "to send an instant message to that user." msgstr "" #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "" #: ../../i18n_templatelist.c:880 msgid "Share" msgstr "" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "" #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 msgid "...with unread messages" msgstr "" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 msgid "oops! Back to " msgstr "" #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 msgid "Summary page" msgstr "" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 msgid "(all registered users)" msgstr "" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 msgid "New blog post" msgstr "" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 msgid "Save changes?" msgstr "" webcit-9.01-dfsg/po/webcit/nl.po000066400000000000000000004740031254743150300165210ustar00rootroot00000000000000# translation of nl.po to Nederlands # Copyright (C) 2006-2008 The Citadel Project - http://www.citadel.org # This file is distributed under the GNU General Public License # # Wim Kuilman , 2006, 2007. # Wim Kuilman , 2008, 2009. # Sander Bosman msgid "" msgstr "" "Project-Id-Version: WebCit\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2013-05-22 11:47+0000\n" "Last-Translator: Sander Bosman \n" "Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2013-05-23 05:12+0000\n" "X-Generator: Launchpad (build 16640)\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "beschikbaarheid niet bekend" #: ../../availability.c:169 msgid "free" msgstr "vrij" #: ../../availability.c:179 msgid "BUSY" msgstr "BEZET" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "Uploaden van afbeelding is afgebroken." #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "U heeft geen bestand geüpload." #: ../../graphics.c:106 msgid "your photo" msgstr "uw foto" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "het icoontje voor deze ruimte" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "het welkomsplaatje voor de login prompt" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "het plaatje voor de Uitlog banner" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "het icoontje voor deze verdieping" #: ../../tasks.c:93 msgid "Completed?" msgstr "Afgehandeld?" #: ../../tasks.c:95 msgid "Name of task" msgstr "Naam van taak" #: ../../tasks.c:97 msgid "Date due" msgstr "Streefdatum" #: ../../tasks.c:99 msgid "Category" msgstr "Categorie" #: ../../tasks.c:101 msgid "Show All" msgstr "Toon alles" #: ../../tasks.c:224 msgid "Edit task" msgstr "Taak bewerken" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "Omschrijving:" #: ../../tasks.c:259 msgid "Start date:" msgstr "Startdatum:" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "Geen datum" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "of" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "Tijd gekoppeld" #: ../../tasks.c:289 msgid "Due date:" msgstr "Streefdatum:" #: ../../tasks.c:318 msgid "Completed:" msgstr "Afgehandeld:" #: ../../tasks.c:329 msgid "Category:" msgstr "Categorie:" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "Beschrijving:" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "Bewaren" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "Verwijderen" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "Annuleren" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "Naamloze taak" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, c-format msgid "%d comments" msgstr "%d commentaren" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "permalink" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "nieuwere berichten" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "oudere berichten" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "Bewerk %s" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" "Voeg hieronder %s toe. Tekst wordt weergegeven op de breedte van het scherm " "van de lezer. Voor de goede weergave zorg dat een regel in elk geval een " "spatie bevat." #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "Wijzigingen bewaren" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "Afgebroken. %s is niet bewaard." #: ../../sysmsgs.c:103 msgid " has been saved." msgstr " is opgeslagen." #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "Informatie over deze ruimte" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "Uw CV" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "Uur: " #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "Minuut: " #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "(status onbekend)" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "(actie gevraagd)" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "(geaccepteerd)" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "(afgewezen)" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "(voorwaardelijk)" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "(gedelegeerd)" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "(afgehandeld)" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "(in bewerking)" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "(geen)" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "Beheer account/OpenID verbindingen" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "Wilt u dit OpenID echt verwijderen?" #: ../../openid.c:47 msgid "(delete)" msgstr "(verwijderen)" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "Voeg een OpenID toe: " #: ../../openid.c:58 msgid "Attach" msgstr "Bijlage" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "%s staat authentificatie via OpenID niet toe." #: ../../summary.c:128 msgid "(None)" msgstr "(Niemand)" #: ../../summary.c:184 msgid "(Nothing)" msgstr "(Niets)" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "Ga naar pagina: " #: ../../bbsview_renderer.c:354 msgid "First" msgstr "Eerste" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "Laatste" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "realloc() fout! kon niet %d bytes krijgen: %s" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "Verwijderd" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "Nieuwe gebruiker" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "Probleemgebruiker" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "Lokale gebruiker" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "Netwerkgebruiker" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "Voorkeursgebruiker" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "Beheerder" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "Er is een fout opgetreden." #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "Nieuwe gebruikers goedkeuren" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "Er zijn geen gebruikers die goedgekeurd moeten worden." #: ../../auth.c:617 msgid "very weak" msgstr "erg zwak" #: ../../auth.c:620 msgid "weak" msgstr "zwak" #: ../../auth.c:623 msgid "ok" msgstr "ok" #: ../../auth.c:627 msgid "strong" msgstr "sterk" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "Huidig toegangsniveau %d (%s)\n" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "Selecteer toegangsniveau voor deze gebruiker:" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "Geannuleerd: Wachtwoord niet gewijzigd." #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "Ze komen niet overeen. Wachtwoord is niet gewijzigd." #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "Wachtwoorden mogen niet leeg zijn." #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "Uitnodiging bijeenkomst" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "Antwoord van de deelnemer op uw uitnodiging" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "Gepubliceerde afspraak" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "Dit is een onbekend agenda item." #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "Locatie:" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "Datum:" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "Startdatum/-tijd:" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "Einddatum/-tijd:" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "Herhalend" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "Dit is een zich herhalende gebeurtenis" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "Deelnemer:" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "Dit is een update van '%s' die al in uw agenda staat." #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "Deze afspraak zou botsen met '%s' , die al in uw agenda staat." #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "Update:" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "CONFLICT:" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "Hoe wilt u reageren op deze uitnodiging?" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "Accepteren" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "Voorwaardelijk" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "Afwijzen" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "" "Klik Bijwerken om deze reactie te accepteren en uw agenda bij te " "werken." #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "Bijwerken" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "Negeren" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "Fout opgetreden bij het plaatsen van dit agenda-item." #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "" "U heeft de uitnodiging voor deze bijeenkomst geaccepteerd. Uw agenda is " "bijgewerkt." #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "" "U heeft de uitnodiging voor deze bijeenkomst voorwaardelijk geaccepteerd. " "Het staat 'met potlood' in uw agenda." #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "" "U heeft de uitnodiging voor deze bijeenkomst afgewezen. Het is niet in uw " "agenda opgenomen." #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "Een antwoord is gestuurd naar de organisator van deze bijeenkomst." #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "Uw agenda is bijgewerkt om dit 'verzoek om antwoord' weer te geven." #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "" "U heeft gekozen dit verzoek om antwoord te negeren. Uw agenda is niet bijgewerkt." #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "Dag in agenda begint om:" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "Dag in agenda eindigt om:" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "Week begint op:" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "Fout opgetreden bij ophalen dit bestand: %s\n" #: ../../event.c:71 msgid "seconds" msgstr "seconden" #: ../../event.c:72 msgid "minutes" msgstr "minuten" #: ../../event.c:73 msgid "hours" msgstr "uren" #: ../../event.c:74 msgid "days" msgstr "dagen" #: ../../event.c:75 msgid "weeks" msgstr "weken" #: ../../event.c:76 msgid "months" msgstr "maanden" #: ../../event.c:77 msgid "years" msgstr "jaren" #: ../../event.c:78 msgid "never" msgstr "nooit" #: ../../event.c:82 msgid "first" msgstr "eerste" #: ../../event.c:83 msgid "second" msgstr "tweede" #: ../../event.c:84 msgid "third" msgstr "derde" #: ../../event.c:85 msgid "fourth" msgstr "vierde" #: ../../event.c:86 msgid "fifth" msgstr "vijfde" #: ../../event.c:89 msgid "Event" msgstr "Gebeurtenis" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "Deelnemers" #: ../../event.c:168 msgid "Add or edit an event" msgstr "Gebeurtenis toevoegen of bewerken" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "Samenvatting" #: ../../event.c:222 msgid "Location" msgstr "Locatie" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "Start" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "Gebeurtenis hele dag" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "Eind" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "Notities" #: ../../event.c:374 msgid "Organizer" msgstr "Organisator" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "(u bent de organisator)" #: ../../event.c:397 msgid "Show time as:" msgstr "Toon tijd als:" #: ../../event.c:420 msgid "Free" msgstr "Vrij" #: ../../event.c:428 msgid "Busy" msgstr "Bezet" #: ../../event.c:445 msgid "(One per line)" msgstr "(Een per regel)" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "Contacten" #: ../../event.c:518 msgid "Recurrence rule" msgstr "Zich herhalende regel" #: ../../event.c:522 msgid "Repeats every" msgstr "Herhaalt zich elke" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "op deze weekdagen:" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "op dag %s%d%s van de maand" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "op de " #: ../../event.c:631 msgid "of the month" msgstr "van de maand" #: ../../event.c:660 msgid "every " msgstr "iedere " #: ../../event.c:661 msgid "year on this date" msgstr "jaar op deze datum" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "van" #: ../../event.c:717 msgid "Recurrence range" msgstr "Zich herhalende periode" #: ../../event.c:725 msgid "No ending date" msgstr "Geen einddatum" #: ../../event.c:732 msgid "Repeat this event" msgstr "Deze gebeurtenis herhalen" #: ../../event.c:735 msgid "times" msgstr "maal" #: ../../event.c:743 msgid "Repeat this event until " msgstr "Herhaal deze gebeurtenis tot " #: ../../event.c:771 msgid "Check attendee availability" msgstr "Controleer beschikbaarheid deelnemers" #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "Naamloze gebeurtenis" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "Instellingen iconbalk" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "Ongeldige parameter" #: ../../inetconf.c:126 msgid " has been deleted." msgstr " is verwijderd." #. added status message #: ../../inetconf.c:144 #, fuzzy msgid " added." msgstr "toegevoegd" #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "Hogere toegangrechten nodig voor deze functie." #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "Je moet de mailinglist specificeren waarop je jezelf wilt abonneren." #: ../../listsub.c:38 ../../listsub.c:76 msgid "You need to specify the email address you'd like to subscribe with." msgstr "Je moet het e-mail adres waarmee je je wilt abonneren specificeren." #: ../../messages.c:73 msgid "ERROR:" msgstr "FOUT:" #: ../../messages.c:91 msgid "Empty message" msgstr "Leeg bericht" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "Afgebroken. Bericht is niet geplaatst." #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "Automatisch afgebroken omdat u dit bericht al heeft bewaard." #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "Opslaan als concept mislukt: " #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "Weigering leeg bericht te versturen.\n" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "Bericht opgelagen als concept.\n" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "Bericht is verstuurd.\n" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "Bericht is geplaatst.\n" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "Het bericht is niet verplaatst." #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "Fout opgetreden bij ophalen dit deel: %s/%s\n" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "Fout opgetreden bij ophalen dit deel: %s\n" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "Ondertekening aan emailberichten toevoegen?" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "Gebruik deze ondertekening:" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "Standaard tekenset voor emailheaders:" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "Voorkeur e-mailadres" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "Weergegeven naam voor emailberichten" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "Voorkeursnaam voor bulletinboard berichten" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "Mailboxweergave" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "Klik op willekeurige notitie om te bewerken." #: ../../paging.c:29 msgid "Send instant message" msgstr "Stuur direct bericht" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "Stuur direct bericht naar: " #: ../../paging.c:51 msgid "Enter message text:" msgstr "Tekst bericht toevoegen:" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "Bericht versturen" #: ../../paging.c:78 msgid "Message was not sent." msgstr "Bericht is niet verstuurd!" #: ../../paging.c:89 msgid "Message has been sent to " msgstr "Bericht is verstuurd naar " #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "Afgebroken. Geen instellingen gewijzigd." #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "Maak hiervan mijn startpagina" #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "Niet toegestaan hier de startpagina van te maken." #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "U heeft geen startpagina meer geselecteerd." #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "Voorkeur startpagina" #: ../../roomlist.c:105 msgid "My Folders" msgstr "Mijn mappen" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "Afgebroken. Wijzigingen niet bewaard." #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "Uw wijzigingen zijn bewaard." #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "Gebruiker %s uit deze ruimte verwijderd. %s." #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "Gebruiker %s uitgenodigd in deze ruimte %s." #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "Afgebroken. Geen nieuwe ruimte aangemaakt" #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "Verdieping is verwijderd" #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "Nieuwe verdieping aangemaakt" #: ../../roomops.c:1363 msgid "Room list view" msgstr "Bekijk als ruimte" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "Toon lege verdiepingen" #: ../../roomtokens.c:570 msgid "file" msgstr "bestand" #: ../../roomtokens.c:572 msgid "files" msgstr "bestanden" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "Bulletin Board" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "Mailmap" #: ../../roomviews.c:55 msgid "Address Book" msgstr "Adresboek" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "Agenda" #: ../../roomviews.c:57 msgid "Task List" msgstr "Takenlijst" #: ../../roomviews.c:58 msgid "Notes List" msgstr "Lijst notities" #: ../../roomviews.c:59 msgid "Wiki" msgstr "Wiki" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "Agendalijst" #: ../../roomviews.c:61 msgid "Journal" msgstr "Verslag" #: ../../roomviews.c:62 msgid "Drafts" msgstr "Concepten" #: ../../roomviews.c:63 msgid "Blog" msgstr "Blog" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" "De server draait al met het maximaal aantal gebruikers en kan op dit moment " "geen nieuwe login aannemen. Probeer het later nog eens of neem contact op " "met uw systeembeheerder." #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "Ontving onverwacht bericht van de Citadel server; afgesloten." #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" "U bent verbonden met een Citadel server draaiend op Citadel %d.%02d. \n" "Om deze versie van Webcit de kunnen gebruiken moet u ook Citadel versie %d." "%02d of nieuwer hebben.\n" "\n" "\n" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "Uw systeeminstellingen zijn bijgewerkt." #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "Eerste poging loopt" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "" "Er is een fout opgetreden tijdens het aanmaken of bewerken van dit adresboek " "item." #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "Wijzigingen niet bewaard." #: ../../useredit.c:778 msgid "A new user has been created." msgstr "Nieuwe gebruiker aangemaakt." #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" "U probeert een nieuwe gebruiker aan te maken binnen Citadel terwijl " "uhostbased authenticatie gebruikt. Dan moet u een nieuwe gebruiker aanmaken " "op het hostsysteem en niet in Citadel." #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "(geen naam)" #: ../../vcard_edit.c:438 msgid " (work)" msgstr " (werk)" #: ../../vcard_edit.c:440 msgid " (home)" msgstr " (thuis)" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr " (mobiel)" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "Adres:" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "Telefoon:" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "E-mail:" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "Dit adresboek is leeg." #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "Er is een interne fout opgetreden." #: ../../vcard_edit.c:940 msgid "Error" msgstr "Fout" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "Bewerk contactinformatie" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "Aanhef" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "Voornaam" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "Voorvoegsel" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "Achternaam" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "Suffix" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "Naamweergave:" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "Titel:" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "Organisatie:" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "Postbus:" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "Plaats:" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "Prov.:" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "Postcode:" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "Land:" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "Telefoon thuis:" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "Telefoon werk:" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "Mobiele telefoon:" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "Faxnummer:" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "Primair e-mailadres:" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "Internet e-mail aliases" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "Ruimte niet toegankelijk om bericht te bewaren" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "Afgebroken" #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "Kon de vcard foto niet decoderen\n" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "Autorisatie vereist" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" "De opgevraagde bron vereist een geldige gebruikersnaam en wachtwoord. U kon " "niet worden ingelogd in: %s\n" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" "Dit programma was niet in staat om contact te maken - of te houden met de " "Citadel server. Meld dit probleem alstublieft bij uw systeembeheerder." #: ../../webcit.c:688 msgid "Read More..." msgstr "Lees verder..." #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "'%s'is geen Wiki ruimte." #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "Er is hier geen pagina genaamd '%s'" #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "" "Selecteer de 'Deze pagina bewerken' link in de banner van de ruimte als u " "deze pagina wilt aanmaken." #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "Datum" #: ../../wiki.c:143 msgid "Author" msgstr "Auteur" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "(toon)" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "Huidige versie" #: ../../wiki.c:184 msgid "(revert)" msgstr "(terugplaatsen)" #: ../../wiki.c:246 msgid "Page title" msgstr "Paginatitel" #: ../../fmt_date.c:306 msgid "Time format" msgstr "uurformaat" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "van" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "Begindatum" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "Einddatum" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "Datum/tijd" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "Notities:" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "vorige" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "volgende" #: ../../calendar_view.c:750 msgid "Week" msgstr "Week" #: ../../calendar_view.c:752 msgid "Hours" msgstr "Uren" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "Onderwerp" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "Doorlopende afspraak" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "bewerken" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "Ik weet niet hoe ik moet tonen " #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "(geen onderwerp)" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "De queue is leeg" #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "U heeft geen toestemming deze bron te bekijken." #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "Lijst menuitems aanpassen." #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "Laat menuitems zien als:" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "plaatjes en tekst" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "alleen plaatjes" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "alleen tekst" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "" "Selecteer de menuitems die u graag weergegeven wilt zien in menubalk aan de " "linkerzijde van het scherm" #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "Ja" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "Nee" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "Logo van de site" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "Logo van het bedrijf of de instelling" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "Uw samenvattingspagina" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "Mail (inbox)" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "Een snelkoppeling naar uw email Inbox" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "Uw persoonlijk adresboek" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "Uw persoonlijke notities" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "Uw persoonlijke agenda" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "Taken" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "Uw persoonlijke takenlijst" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "Ruimtes" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "" "Hiermee wordt u een lijst van alle toegankelijke ruimtes (of mappen) getoond" #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "Wie is online?" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "" "Hiermee wordt een lijst getoond van alle gebruikers die op dat moment zijn " "ingelogd." #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "Chat" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "" "Hiermee kunt u in 'real-time' chatten met andere gebruikers in dezelfde " "ruimte." #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "Uitgebreide opties" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "Toegang tot het complete menu van Citadelfuncties." #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "Citadel logo" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "Toont het 'Powered by Citadel' icoontje." #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 msgid "System Administration Menu" msgstr "Menu Systeembeheer" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 msgid "Room Admin Menu" msgstr "Menu ruimte beheerder" #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "Local host aliases" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "Directory domeinen" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "Smart hosts" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 #, fuzzy msgid "Fallback smart hosts" msgstr "Smart hosts" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 msgid "RBL hosts" msgstr "RBL hosts" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "SpamAssasin hosts" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "ClamAV clamd hosts" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 msgid "Masqueradable domains" msgstr "Masqueradable domeinen" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" "Wijzigingen gemaakt in dit scherm zullen pas actief worden nadat u de " "Citadel server opnieuw heeft gestart." #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 msgid "Network services" msgstr "Netwerk services" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 #, fuzzy msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "Server IP adres (0.0.0.0 voor 'elk')" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "XMPP (Jabber) client to server port (-1 voor uitschakelen)" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "POP3 listener port (-1 voor uitschakelen)" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "Uitgebreide server fine-tuning" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "Maximale lengte bericht" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "Serververbinding timeout (in seconden)" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "Network run frequency (in seconden)" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "Maximale gelijktijdige sessies (0 = geen limiet)" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "Minimum aantal worker threads" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "Maximum aantal worker threads" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "Wis automatisch bewaarde database logs" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "Maak een nieuwe ruimte aan" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "Naam van de ruimte: " #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "Bevindt zich op verdieping: " #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "Standaard weergave voor ruimte: " #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "Soort ruimte:" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "Openbaar (verschijnt automatisch voor iedereen)" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "Privé - verborgen (toegankelijk voor iedereen die z'n naam kent)" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "Privé - wachtwoord nodig: " #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "Privé - Alleen op uitnodiging" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "Persoonlijk (mailbox voor u alleen)" #: ../../i18n_templatelist.c:95 msgid "Create new room" msgstr "Maak een nieuwe ruimte aan" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "Uitloggen" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "Opnieuw inloggen" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "Zap (vergeet/verwijder uit) de huidige ruimte" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 #, fuzzy msgid "If you select this option," msgstr "Bewerk of verwijder deze ruimte" #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 #, fuzzy msgid "will disappear from your room list. Is this what you wish to do?" msgstr "" "Als u deze optie selecteert verdwijnt %s uit uw lijst met ruimtes. " "Is dat wat u wilt?
    \n" #: ../../i18n_templatelist.c:102 msgid "Zap this room" msgstr "Zap deze ruimte" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" "LET OP: JavaScript is uitgeschakeld op uw computer. Veel functies van dit " "systeem zullen niet goed werken." #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "Gebruikersnaam" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "Ruimte" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "Van host" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "Afzender" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "Laad berichten van de server, een ogenblik" #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "Open in nieuw venster" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "Verplaatsen" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "Kopieer" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "Print" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "Zapped (vergeten) ruimtes" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 #, fuzzy msgid "Click on any room to un-zap it and goto that room." msgstr "Klik op willekeurige ruimte om te unzappen en ga naar die ruimte.\n" #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" "U heeft een of meer wachtende directe berichten, maar het Instant Messenger " "venster kon niet worden geopend. Dit komt waarschijnlijk omdat uw browser " "pop-up vensters blokkeert. Zorg alstublieft dat uw pop-up blocker popups van " "deze site accepteert als u directe berichten wilt ontvangen." #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "Uw voorkeuren en instellingen wijzigen" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "Uw contactinformatie bijwerken" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "Uw wachtwoord wijzigen" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "Uw 'CV' toevoegen" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "Uw online foto bewerken" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "Mailfilters op de server bekijken/bewerken" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "Bewerk uw push email instellingen" #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 #, fuzzy msgid "Manage your OpenIDs" msgstr "Uw OpenID" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 #, fuzzy msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "De Citadel server moet opnieuw opstarten. Het is zo weer beschikbaar." #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "View" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "Download" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "Instellingen Totaal" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "Beheer gebruikeraccounts" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "Citadel afsluiten" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "Ruimtes en Verdiepingen" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "Ga naar een verborgen ruimte" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 #, fuzzy msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" "Als u de naam kent van een verborgen (raden naam) ruimte of een ruimte met " "wachtwoord, kunt u de ruimte binnenkomen door de naam in te vullen.Als u " "eenmaal toegang heeft tot een privéruimte, zal het verschijnen in uw normale " "lijst met ruimtes, zodat u hier niet steeds hoeft terug te keren." #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "Geef naam ruimte:" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "Geef wachtwoord ruimte:" #: ../../i18n_templatelist.c:144 msgid "Go there" msgstr "Ga er naar toe" #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "van " #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "aan" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "CC:" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "Onderwerp:" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 msgid "Push Email" msgstr "Push Email" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 msgid "Funambol server host (blank to disable)" msgstr "Funambol server (blanco is uit)" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 msgid "Funambol server port " msgstr "Funambol serverpoort " #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 msgid "Funambol sync source" msgstr "Funambol sync bron" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "Funambol auth details (user:pass)" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 msgid "External pager tool (blank to disable)" msgstr "Externe pager tool (blanco is uit)" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "Bekijk als boomstructuur (mappen)" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "Tabel (ruimte) instelling" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "12 uurs (vm/nm)" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "24 uur" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 msgid "Sunday" msgstr "Zondag" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 msgid "Monday" msgstr "Maandag" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "Geen ondertekening" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "Volledig functioneel" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "Veilige modus" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "" #: ../../i18n_templatelist.c:168 msgid "Change" msgstr "Wijzigen" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "Voorkeuren en instellingen" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "Basiscommando's" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "Uw informatie" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "Uitgebreide opdrachten ruimtes" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "Gebruikersaccount bewerken: " #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "Gebruikersnaam:" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "Wachtwoord" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "Toestemming om Internetmail te verzenden" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 msgid "Number of logins" msgstr "Aantal logins" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 msgid "Messages submitted" msgstr "Bericht geplaatst" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 msgid "Access level" msgstr "Toegangsniveau" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 msgid "User ID number" msgstr "Gebruiker ID nummer" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "Datum en tijd laatste login" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "Opruimen na dit aantal dagen" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "POP3" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "POP3 listener port (-1 to disable)" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "POP3 over SSL port (-1 to disable)" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 msgid "POP3 fetch frequency in seconds" msgstr "POP3 ophaalfrequentie in seconden" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 msgid "POP3 fastest fetch frequency in seconds" msgstr "POP3 snelste ophaalfrequentie in seconden" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "Toon de SMTP-wachtrij naar buiten" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "Ververs deze pagina" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 #, fuzzy msgid "Remote Sites:" msgstr "Hosts op afstand" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 #, fuzzy msgid "Status:" msgstr "Prov.:" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 #, fuzzy msgid "Jobs waiting for further processing:" msgstr "doorgaan met bewerking" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 msgid "Message to your Users:" msgstr "Bericht aan uw gebruikers:" #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "Beheer" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "Instellingen" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "Instelling bericht verlopen" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "Toegangscontrole" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "Delen" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "Mailinglist service" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "Herstel op afstand" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 #, fuzzy msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "" "Uw menubalk is bijgewerkt. U kunt nu hieruit een keuze om verder te gaan." #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 msgid "General site configuration items" msgstr "Algemene items site instellingen" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "Wijzig logo Inloggen" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "Wijzig logo Uitloggen" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 msgid "Node name" msgstr "Naam knooppunt" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "Fully qualified domain name" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "Leesbare knooppuntnaam" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 msgid "Telephone number" msgstr "Telefoonnummer" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "Prompt volgende pagina (voor textmode clients)" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "Geografische locatie van dit systeem" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "Naam van de systeembeheerder" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "Standaard tijdzone voor agenda-items zonder zone" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 #, fuzzy msgid "Networked Room" msgstr "Netwerkgedeelde ruimte" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 msgid "Add a new node" msgstr "Een nieuw knooppunt toevoegen" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "Gedeeld geheim" #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "Host of IP adres" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 msgid "Port number" msgstr "Poortnummer" #: ../../i18n_templatelist.c:241 #, fuzzy msgid "Add node?" msgstr "Knooppunt toevoegen" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 msgid "(kill)" msgstr "(beëindig)" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 msgid "Edit configuration" msgstr "Instellingen bewerken" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 msgid "Edit address book entry" msgstr "Item adresboek bewerken" #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 #, fuzzy msgid "Minutes" msgstr "minuten " #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 #, fuzzy msgid "active" msgstr "Voorwaardelijk" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 #, fuzzy msgid "(Edit)" msgstr "(bewerk)" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "(Verwijderen)" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "Geen nieuwe berichten." #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "Nieuwe startpagina" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "De startpagina is gewijzigd" #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" "(Opmerking: dit verandert niet de startpagina van de browser. Het verandert " "de pagina waarop u begint na het inloggen" #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "Schrijf een reactie" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "Verwijdering bevestigen" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "Weet u zeker dat u wilt verwijderen " #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 msgid "Add, change, delete user accounts" msgstr "Gebruikeraccounts toevoegen, wijzigen of verwijderen" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 msgid "(hosts running the ClamAV clamd service)" msgstr "(hosts waarop de ClamAV clamd service draait)" #: ../../i18n_templatelist.c:270 msgid "Send" msgstr "Versturen" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 #, fuzzy msgid "Restart Citadel" msgstr "Maak hiervan mijn startpagina" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "van" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "Anoniem" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "in" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "Aan:" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "BCC:" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "Onderwerp (optioneel):" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "--- doorgestuurd bericht ---" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 msgid "Post message" msgstr "Bericht plaatsen" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 #, fuzzy msgid "Save to Drafts" msgstr "Opslaan als concept mislukt: " #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "Bijlagen:" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 msgid "Delete this message?" msgstr "Verwijder dit bericht?" #: ../../i18n_templatelist.c:300 #, fuzzy msgid "Room Logo" msgstr "Lijst met ruimtes" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "Zoek: " #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "Resultaten servercommando" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 #, fuzzy msgid "Enter another command" msgstr "Voer een servercommando in" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 #, fuzzy msgid "Return to menu" msgstr "Switch naar menu" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 msgid "Users currently on" msgstr "Gebruikers op dit moment op" #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "Gebruikersprofiel" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 #, fuzzy msgid "Click here to send an instant message to" msgstr "Klik hier om direct een bericht te sturen naar %s" #: ../../i18n_templatelist.c:308 msgid "Pictures in" msgstr "Plaatjes in " #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 msgid "Edit or delete users" msgstr "Gebruikers bewerken of verwijderen" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 msgid "You need to be aide to view this." msgstr "U moet beheerder zijn om dit te bekijken." #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 msgid "Add users" msgstr "Gebruikers toevoegen" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 msgid "Edit or Delete users" msgstr "Gebruikers bewerken of verwijderen" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "Even geduld a.u.b. tot Citadel server is opgestart... " #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 #, fuzzy msgid "User list for " msgstr "Gebruikerslijst voor %s" #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "Gebruikersnaam" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "Nummer" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "Toegangsniveau" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "Laatste login" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "Totaal aantal logins" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "Totaal aantal berichten" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "Laden" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "Uw OpenID" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "is goedgekeurd." #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "Echter, de gebruikersnaam" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "botst met een bestaande gebruiker." #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "Geef alstublieft de gebruikersnaam die u wilt gebruiken." #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "Stoppen" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "Instelling voor verlopen berichten in deze ruimte" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "Gebruik de standaardinstelling voor deze ruimte" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "Nooit berichten automatisch laten verlopen" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "Verlopen door aantal berichten" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "Verlopen door ouderdom bericht" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "Aantal berichten of dagen: " #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "Instelling voor het verlopen van berichten op deze verdieping" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "Gebruik systeemstandaard" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "Venster sluiten" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 #, fuzzy msgid "Upload failed" msgstr "Upload een bestand:" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 #, fuzzy msgid "Are you shure you want to delete {filename}?" msgstr "Weet u zeker dat u wilt verwijderen " #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "Bijlage toevoegen" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 #, fuzzy msgid "Remove" msgstr "(verwijderen)" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "Indexering en Journaling" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "Waarschuwing: dit vraagt veel van het systeem." #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "Geef full-text index vrij" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 msgid "Perform journaling of email messages" msgstr "Voer journaliseren van emailberichten uit" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 msgid "Perform journaling of non-email messages" msgstr "Voer journaliseren van niet-emailberichten uit" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "Bestemming voor gejournaliseerde berichten" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "Bestanden beschikbaar voor downloaden in" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "Upload een bestand:" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "Uploaden" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "Bestandsnaam" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "Grootte" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "Inhoud" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "Beschrijving" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" "Deze installatie van Citadel is gebouwd zonder ondersteuning voor " "mailfilters.
    Neem contact op met de beheerder als u deze functie nodig " "heeft." #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "nieuw van" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "berichten" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "Kies pagina: " #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "Haal berichten van deze POP3 accounts en sla ze op in deze ruimte:" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 msgid "Remote host" msgstr "Hosts op afstand" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 msgid "Keep messages on server?" msgstr "Bewaar berichten op de server?" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 msgid "Interval" msgstr "interval" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "Toevoegen" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "Haal berichten van deze RSS-feeds en sla ze op in deze ruimte:" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "Feed URL" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "" "Om een nieuw gebruikersaccount aan te maken vul de gewenste gebruikersnaam " "hieronder in en klik op 'Aanmaken'." #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 msgid "New user: " msgstr "Nieuwe gebruiker: " #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "Aanmaken" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "(domeinen in het Algemene adresboek)" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "(verwijderen)" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 #, fuzzy msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" "De gebruikers hieronder hebben toegang tot deze ruimte. Om een gebruiker te " "verwijderen uit de toegangslijst, selecteer de gebruikersnaam en klik " "'Verwijderen'" #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "Verwijderen" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" "Om een andere gebruiker toegang te geven tot deze ruimte vul hieronder de " "gebruikersnaam in en klik op 'Uitnodigen'." #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "Uitnodigen:" #: ../../i18n_templatelist.c:426 msgid "Invite" msgstr "Uitnodigen" #: ../../i18n_templatelist.c:427 msgid "User" msgstr "Gebruiker" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 msgid "Users" msgstr "Gebruikers" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 #, fuzzy msgid "Addressbook Popup" msgstr "Adresboek" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "" "Om een bestaande gebruiker te bewerken, selecteer de gebruikersnaam en klik " "op 'Bewerken'" #: ../../i18n_templatelist.c:435 msgid "Delete user" msgstr "Gebruiker verwijderen" #: ../../i18n_templatelist.c:436 msgid "Delete this user?" msgstr "Deze gebruiker verwijderen?" #: ../../i18n_templatelist.c:437 #, fuzzy msgid "Delete File" msgstr "Verwijder regel" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "Diashow" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "(hosts waarop SpamAssassin draait)" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "which is already in your calendar." msgstr "Dit is een update van '%s' die al in uw agenda staat." #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "This event would conflict with" msgstr "Deze afspraak zou botsen met '%s' , die al in uw agenda staat." #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "Als nieuwe mail binnenkomt: " #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "Laat het in mijn Inbox zonder filtering" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "Filter het volgens onderstaande regels" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "" "Filter het door een handmatig aangemaakt script (alleen gevorderde " "gebruikers)" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "Uw inkomende mail zal door geen enkel script worden gefilterd." #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "Voeg regel toe" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "Het nu actieve script is: " #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "Toevoegen of verwijderen scripts" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "Stel de LDAP connector voor Citadel in." #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" "LET OP: Deze Citadel server is gebouwd zonder LDAP ondersteuning. Deze " "opties zullen geen effect hebben." #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "Hostnaam van de LDAP server (blanco is uit)" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "Poortnummer van de LDAP server (blanco is uit)" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "Base DN" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "Bind DN" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "Wachtwoord voor bind DN" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "Bewerk of verwijder deze ruimte" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "Ga naar een 'verborgen' ruimte" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 msgid "Zap (forget) this room" msgstr "Zap (vergeet) deze ruimte" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "Toon alle vergeten ruimtes" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 #, fuzzy msgid "Zap duplicate messages" msgstr "Lees nieuwe berichten" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "Message ID" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "Datum/tijd ingesteld" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 #, fuzzy msgid "Next attempt" msgstr "Laatste poging" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "Ontvangers" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "Lezen #" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "oudste naar nieuwste" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "nieuwste naar oudste" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "" "Even geduld terwijl gebruikers een berichtje hebben, de citadel server zal " "daarna opstarten... " #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "Bewerk" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "Antwoord" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "AntwoordQuoted" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "AntwoordAllen" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "Doorsturen" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "Headers" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "Bewerk 'site-brede' instellingen" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "Domeinnamen en Internet mail instellingen" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "Stel replicatie met andere Citadel servers in" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 #, fuzzy msgid "Powered by Citadel" msgstr "Toont het 'Powered by Citadel' icoontje." #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "Taal:" #: ../../i18n_templatelist.c:507 msgid "Go to your email inbox" msgstr "Ga naar uw email inbox" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "Mail" #: ../../i18n_templatelist.c:509 msgid "Go to your personal calendar" msgstr "Ga naar uw persoonlijke agenda" #: ../../i18n_templatelist.c:511 msgid "Go to your personal address book" msgstr "Ga naar uw persoonlijk adresboek" #: ../../i18n_templatelist.c:513 msgid "Go to your personal notes" msgstr "Ga naar uw persoonlijke notities" #: ../../i18n_templatelist.c:515 msgid "Go to your personal task list" msgstr "Ga naar uw persoonlijke takenlijst" #: ../../i18n_templatelist.c:517 #, fuzzy msgid "List all your accessible rooms" msgstr "Lijst van voor u toegankelijke ruimtes" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "Bekijk wie nu online is" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "Online gebruikers" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "" "Uitgebreide menuopties: Uitgebreide opdrachten ruimtes, Account info, enz." #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "Uitgebreid" #: ../../i18n_templatelist.c:526 msgid "Room and system administration functions" msgstr "Functies ruimte- en systeembeheer" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "Dit menu aanpassen" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "Laatste login" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "Switch naar lijst ruimtes" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "Switch naar menu" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "Mijn mappen" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "IMAP listener port (-1 to disable)" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "IMAP over SSL port (-1 to disable)" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "Bewaar origineel van headers in IMAP" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "Afbeelding uploaden" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "U kunt direct vanaf uw computer een plaatje uploaden." #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "Selecteer een bestand om te uploaden:" #: ../../i18n_templatelist.c:545 msgid "Reset form" msgstr "Formulier wissen" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "Abonneer op lijst" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "Abonneer op/ verwijder van lijst" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "Bevestigingsverzoek verstuurd" #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "Je bent aan het abonneren " #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 msgid " to the " msgstr " naar de " #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 msgid " mailing list." msgstr " mailing list." #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "Ga terug..." #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 msgid "ERROR" msgstr "FOUT" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 msgid "from the" msgstr "van de" #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 msgid "mailing list." msgstr "mailing list." #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 #, fuzzy msgid "Back..." msgstr "Ga terug..." #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 #, fuzzy msgid "Confirmation successful!" msgstr "Bevestigingsverzoek verstuurd" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 #, fuzzy msgid "Confirmation failed." msgstr "Instellingen" #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "" #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 #, fuzzy msgid "Name of list:" msgstr "Naam van taak" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 #, fuzzy msgid "Your e-mail address:" msgstr "Voorkeur e-mailadres" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "" #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 #, fuzzy msgid "One message at a time" msgstr "Tekst bericht toevoegen:" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 #, fuzzy msgid "Digest format" msgstr "uurformaat" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 #, fuzzy msgid "name of room: " msgstr "Naam van de ruimte: " #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "Als privé, zorg dat huidige gebruikers ruimte vergeten" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "Alleen beheerders" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "Alleen-lezen ruimte" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "Alle gebruikers die berichten mogen plaatsen mogen ook wissen" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "Ruimte met Bestandsmappen" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "Naam van map: " #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "Uploaden toegestaan" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "Downloaden toegestaan" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "Zichtbare map" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 msgid "Network shared room" msgstr "Netwerkgedeelde ruimte" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "Permanent (wordt niet automatisch opgeruimd)" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "Onderwerp vereist (Dwing gebruikers een onderwerp op te geven)" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "Anonieme berichten" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "Geen anonieme berichten" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "Alle berichten zijn anoniem" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "Gebruiker vragen bij invoer bericht" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 msgid "Room aide: " msgstr "Ruimte Beheerder: " #: ../../i18n_templatelist.c:611 #, fuzzy msgid "Delete this entry?" msgstr "Deze notitie verwijderen?" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "Niet gedeeld met" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "Gedeeld met" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 msgid "Remote node name" msgstr "Knooppunt op afstand" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 msgid "Remote room name" msgstr "Naam van ruimte op afstand" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "Acties" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 #, fuzzy msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" "Als u een ruimte deelt, moeten beide kanten meewerken. Een knooppunt " "toevoegen aan de 'gedeelde' lijst stuurt berichten naar buiten, maar om " "berichten te ontvangen, moet het andere knooppunt ook zijn ingesteld om " "berichten naar uw systeem te verzenden.
  • Als de naam van de ruimte op " "afstand leeg is weet u zeker dat de naam van de ruimte gelijk wordt geacht " "aan de ruimte op het knooppunt op afstand.
  • Als de naam van de ruimte op " "afstand verschilt moet de ruimte op afstand zelf ook een naam ingesteld " "krijgen.
    \n" #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 #, fuzzy msgid "resend messages to this node" msgstr "Bewaar berichten op de server?" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "Toevoegen, wijzigen of verwijderen verdiepingen" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "Nummer verdieping" #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "Naam verdieping" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "Aantal ruimtes" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "CSS ruimte" #: ../../i18n_templatelist.c:633 msgid "Create new floor" msgstr "Maak nieuwe verdieping aan" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "Regel naar boven" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "Regel naar beneden" #: ../../i18n_templatelist.c:636 msgid "Delete rule" msgstr "Verwijder regel" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "als" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "Aan of Cc" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "Antwoord aan" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "Afwijzen-Van" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "Afwijzen-Aan" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "Envelop Van" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "Envelop Aan" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "X-Mailer" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "X-Spam-Flag" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "X-Spam-Status" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "Lijst-ID" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "Berichtgrootte" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "Alles" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "bevat" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "bevat niet" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "is" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "is niet" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "komt overeen met" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "komt niet overeen met" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "(Alle berichten)" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "is groter dan" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "is kleiner dan" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 msgid "bytes" msgstr "bytes" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "Bewaren" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "Stil verwijderen" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "Afwijzen" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "Verplaats bericht naar" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "Doorsturen naar" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "Vakantie" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "Bericht:" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "en dan" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "doorgaan met bewerking" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "stop" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "(domeinen waarvoor deze host mail ontvangt)" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "Netwerk instellingen" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "Nu ingestelde knooppunten" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "(verwijder verdieping)" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "(bewerk afbeelding)" #: ../../i18n_templatelist.c:679 msgid "Change name" msgstr "Naam wijzigen" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "CSS wijzigen" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 msgid "Configure automatic expiry of old messages" msgstr "Stel het automatisch verlopen van oude berichten in." #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "" "Deze instellingen kunnen worden overschreven op verdieping- of ruimteniveau." #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "Tijd waarop database opgeruimd wordt" #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 msgid "Default message expire policy for public rooms" msgstr "Standaardinstelling voor het laten verlopen van openbare ruimtes" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 msgid "Default message expire policy for private mailboxes" msgstr "Standaardinstelling voor het laten verlopen van privé mailboxen" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 msgid "Same policy as public rooms" msgstr "Zelfde instelling als openbare ruimtes" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "Standaard opruimen gebruiker (dagen)" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "Standaard opruimen ruimte (dagen)" #: ../../i18n_templatelist.c:700 msgid "Are you sure you want to delete this room?" msgstr "Weet u zeker dat u deze ruimte wilt verwijderen?" #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "Deze ruimte verwijderen" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 #, fuzzy msgid "Set or change the icon for this rooms banner" msgstr "Zet of wijzig het icoontje voor de banner van deze ruimte" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 #, fuzzy msgid "Edit this rooms Info file" msgstr "Bewerk het Infobestand van deze ruimte" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "Voer een servercommando in" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" "Dit scherm geeft de mogelijkheid Citadel servercommando's in te voeren, die " "niet worden ondersteund door Webcit. Als u niet weet wat dat betekent, dan " "is dit scherm van weinig nut voor u." #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "Voer commando in:" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "Commando invoer (indien aanvraag SEND_LISTING overdrachtsmode):" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 #, fuzzy msgid "Detected host header is " msgstr "Gevonden host header is %s://%s" #: ../../i18n_templatelist.c:709 #, fuzzy msgid "Send command" msgstr "Voer commando in:" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "Niet delen" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "(hosts met de Realtime Blackhole Lijst)" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "Toegangscontrole en instellingen site policy" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "Sta beheerders toe ruimtes te zappen (vergeten)" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "Quarantaine berichten van probleemgebruikers" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "Naam van de quarantaineruimte" #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 msgid "Name of room to log pages" msgstr "Naam van de ruimte voor log pagina's" #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 #, fuzzy msgid "Authentication mode" msgstr "Authenticatie toe" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 #, fuzzy msgid "Self contained" msgstr "bevat" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 #, fuzzy msgid "Host based" msgstr "Hostnaam:" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 #, fuzzy msgid "Allow anonymous guest access" msgstr "Geen anonieme berichten" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 msgid "Master user name (blank to disable)" msgstr "Gebruikersnaam beheerder (blanco is uit)" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 msgid "Master user password" msgstr "Wachtwoord beheerder:" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 msgid "Initial access level for new users" msgstr "Begin toegangsniveau voor nieuwe gebruikers" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "Benodigd toegangsniveau om ruimte aan te maken" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "" "Sta automatisch beheerdersstatus in voor gebruikers die privé ruimtes " "aanmaken" #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 #, fuzzy msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "" "Sta automatisch beheerdersstatus in voor gebruikers die BLOG ruimtes aanmaken" #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "Toegang tot Internetmail beperken" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "Schakel de self-service uit bij het aanmaken van een account" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "Registratie nodig voor nieuwe gebruikers" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 msgid "Add, change, or delete floors" msgstr "Verdiepingen toevoegen, wijzigen of verwijderen" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "Toon als:" #: ../../i18n_templatelist.c:753 msgid "Delete this note?" msgstr "Deze notitie verwijderen?" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 #, fuzzy msgid "Logged in as" msgstr "Laatste login" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 #, fuzzy msgid "Not logged in." msgstr "Niet ingelogd" #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "Je moet ingelogd zijn om deze pagina te openen." #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "Log in met gebruikersnaam en wachtwoord" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "Wachtwoord:" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "Nieuwe gebruiker? Schrijf u nu in" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "" "vul uw gebruikersnaam in en het wachtwoord dat u wilt gebruiken en klik op " ""Nieuwe gebruiker. " #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "Login met OpenID" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "OpenID URL:" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 #, fuzzy msgid "Log in using Google" msgstr "Login met OpenID" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 #, fuzzy msgid "Log in using Yahoo" msgstr "Login met OpenID" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 #, fuzzy msgid "Log in using AOL or AIM" msgstr "Login met OpenID" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "Even geduld" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "Voeg een nieuw script toe" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" "Om een nieuw script te maken voer de gewenste scriptnaam in en klik op " "'Aanmaken'" #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "Naam van het script: " #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "Scripts bewerken" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "Terug naar het bewerkingsscherm voor script" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "Scripts verwijderen" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "" "Om een bestaand script te verwijderen, selecteer de scriptnaam en klik " "'Verwijderen'." #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 msgid "Restart Now" msgstr "Nu opnieuw opstarten" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "Herstarten na bericht aan gebruikers." #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "Herstarten als geen gebruikers actief" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 #, fuzzy msgid "Configure Push Email" msgstr "Push Email" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "Push email en SMS instellingen" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 #, fuzzy msgid "Notify Funambol server" msgstr "Funambol serverpoort " #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 #, fuzzy msgid "Send a text message to..." msgstr "Stuur direct bericht naar: " #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "" #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "" #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "op basis van" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "SMTP MTA port (-1 to disable)" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "SMTP MSA port (-1 to disable)" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "SMTP over SSL port (-1 to disable)" #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "Voer RBL controles uit bij verbinding i.p.v. na RCPT" #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "Markeer bericht als spam i.p.v. het af te wijzen" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "" "Sta unauthenticated SMTP clients toe het domein van deze site te spoofen" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "Corrigeer gedwongen Van: regels tijdens authenticated SMTP" #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "Postfix TCP Dictionary Port" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "-1 to disable" msgstr "-1 voor uitschakelen" #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 msgid "ManageSieve Port (-1 to disable)" msgstr "ManageSieve Port (-1 to disable)" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "Site instellingen" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 msgid "General" msgstr "Algemeen" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 #, fuzzy msgid "Settings" msgstr "Instellingen iconbalk" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "Pop3" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "Indexing/Journaling" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 msgid "Access" msgstr "Toegang" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 #, fuzzy msgid "Directory" msgstr "Naam van map: " #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "Auto-wisser" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 #, fuzzy msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" "De berichten in deze ruimte worden als losse berichten gemaild " "naar de volgende ontvangers:

    \n" #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 #, fuzzy msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" "De berichten in deze ruimte worden als als één pakket gemaild naar " "de volgende ontvangers:

    \n" #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 msgid "List" msgstr "Los" #: ../../i18n_templatelist.c:847 msgid "Digest" msgstr "Pakket" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "Voeg ontvangers toe uit 'Contacten' of andere adresboeken" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "Niet geabonneerden toestaan deze ruimte te mailen." #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "Beheersrechten nodig" #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 msgid "Allow self-service subscribe/unsubscribe requests." msgstr "Deze ruimte is ingesteld voor zelf-service bij abonneren/verwijderen." #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "De URL voor abonneren/verwijderen is: " #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 #, fuzzy msgid "Set" msgstr "Onderwerp" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 #, fuzzy msgid "Summary page for " msgstr "Samenvattingspagina voor %s" #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "Berichten" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "Vandaag op uw agenda" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 #, fuzzy msgid "Who‘s online now" msgstr "Wie is nu online" #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "Over deze server" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 #, fuzzy msgid "running" msgstr "Afstemmen" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 #, fuzzy msgid "with" msgstr "vijfde" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 #, fuzzy msgid "and located in" msgstr "en dan" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 #, fuzzy msgid "Your system administrator is" msgstr "Naam van de systeembeheerder" #: ../../i18n_templatelist.c:874 #, fuzzy msgid "Do you really want to kill this session?" msgstr "Wilt u dit OpenID echt verwijderen?" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "Gebruikers op dit moment op " #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 msgid "Click on a name to read user info. Click on" msgstr "Klik op een naam om de gebruikersinfo te lezen. Klik op" #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 msgid "to send an instant message to that user." msgstr "Stuur een direct bericht naar die gebruiker." #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "Oude berichten" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "Nieuwe berichten" #: ../../i18n_templatelist.c:880 msgid "Share" msgstr "Delen" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "(Domeinen die gebruikers mogen gebruiken als 'masquerade')" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "Uw nieuwe wachtwoord:" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "Nogmaals als bevestiging:" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "Wachtwoord wijzigen" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "Bewerk uw sessie weergave" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" "Dit scherm maakt het mogelijk de wijze waarop uw sessie wordt getoond in de " "'Wie is online' lijst te wijzigen. Om een nepnaam uit te schakelen, die u " "eerst had geplaatst klik eenvoudig op de 'Wijzig' knop zonder iets in te " "vullen in het betreffende veld. " #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "Naam ruimte:" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "Naam ruimte wijzigen" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "Hostnaam:" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "Hostnaam wijzigen" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "Gebruikersnaam wijzigen" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "Bevestig verplaatsen bericht" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "Dit bericht verplaatsen naar:" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "" #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "Lijst van bekende ruimtes" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "Waar kan ik van hieruit naar toe?" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "Volgende ruimte" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 msgid "...with unread messages" msgstr "...met ongelezen berichten" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "Ga naar volgende ruimte" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "(kom hier later terug)" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "Ongedaan maken" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 msgid "oops! Back to " msgstr "oeps! Terug naar " #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "Lees nieuwe berichten" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "...in deze ruimte" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "Lees alle berichten" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "...oude en nieuwe" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "Bericht opstellen" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "(in deze ruimte plaatsen)" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "Bestandsbibliotheek" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "(Toon bestanden beschikbaar voor download)" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 msgid "Summary page" msgstr "Samenvattingspagina" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "Samenvatting van mijn account" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "Gebruikerslijst" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 msgid "(all registered users)" msgstr "(alle geregistreerde gebruikers)" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "Tot ziens!" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "(indien aanwezig, stuur alle mail naar buiten naar een van deze hosts)" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "Toon contacten" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "Contact toevoegen" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "Toon dag" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "Toon maand" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "Afspraak toevoegen" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "Agendalijst" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "Toon taken" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "Taak toevoegen" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "Toon notities" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "Notitie toevoegen" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "Verversen" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "Opstellen" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "Wiki home" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "Deze pagina bewerken" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "Geschiedenis" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 #, fuzzy msgid "New blog post" msgstr "nieuwere berichten" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" "Laat alle berichten gemarkeerd als ongelezen, ga naar de volgende ruimte met " "ongelezen berichten" #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "Ruimte overslaan" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" "Markeer alle berichten als gelezen, ga naar de volgende ruimte met ongelezen " "berichten" #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 #, fuzzy msgid "Save changes?" msgstr "Wijzigingen bewaren" #~ msgid "" #~ "You are subscribing %s to the %s mailing list. The " #~ "listserver has sent you an e-mail with one additional Web link for you to " #~ "click on to confirm your subscription. This extra step is for your " #~ "protection, as it prevents others from being able to subscribe you to " #~ "lists without your consent.

    Please click on the link which is " #~ "being e-mailed to you and your subscription will be confirmed.
    \n" #~ msgstr "" #~ "U abonneert %s op de %s mailinglijst. De listserver " #~ "heeft u een e-mail gestuurd met een extra link waarop u moet klikken om " #~ "het abonnement te bevestigen. Deze extra stap is voor uw bescherming, " #~ "want het voorkomt dat anderen zonder uw toestemming u abonneren op " #~ "mailinglijsten.

    Klik alstublieft op de gemailde link om uw " #~ "abonnement te bevestigen
    \n" #~ msgid "" #~ "WARNING: Failed to parse Server Config; do you run a to new citserver?" #~ msgstr "" #~ "LET OP: mislukt Server Config te sturen; loopt er een te nieuwe citserver?" #~ msgid "There is no room called '%s'." #~ msgstr "Er is geen ruimte genaamd '%s'" #~ msgid "Network" #~ msgstr "Netwerk" #~ msgid "Tuning" #~ msgstr "Afstemmen" #~ msgid "Instantly expunge deleted messages in IMAP" #~ msgstr "Verwijder direct gewiste berichten in IMAP" #~ msgid "A script by that name already exists." #~ msgstr "Een script met die naam bestaat al" #~ msgid "" #~ "A new script has been created. Return to the script editing screen to " #~ "edit and activate it." #~ msgstr "" #~ "Een nieuw script is aangemaakt. Terug naar het bewerkingsscherm voor " #~ "bewerking en activering." #~ msgid "Delete script" #~ msgstr "Script verwijderen" #~ msgid "Delete this script?" #~ msgstr "Dit script verwijderen?" #~ msgid "" #~ "You are connected to %s, running %s with %s, server build %s and located " #~ "in %s. Your system administrator is %s." #~ msgstr "" #~ "U bent verbonden met %s, waar %s op draait met %s, server build %s en " #~ "gevestigd in %s. Uw systeembeheerder is %s." #~ msgid "Yes with users list" #~ msgstr "Ja met gebruikerslijst" #~ msgid "Room list" #~ msgstr "Lijst van ruimtes" #~ msgid "View as room list" #~ msgstr "Toon als lijst met ruimtes" #~ msgid "View as folder list" #~ msgstr "Toon als mappenstructuur" #~ msgid " - powered by Citadel" #~ msgstr " - op basis van Citadel" #, fuzzy #~ msgid "uname" #~ msgstr "Bestandsnaam" #, fuzzy #~ msgid "text" #~ msgstr "volgende" #, fuzzy #~ msgid "name" #~ msgstr "Bestandsnaam" #, fuzzy #~ msgid "pname" #~ msgstr "Bestandsnaam" #, fuzzy #~ msgid "password" #~ msgstr "Wachtwoord" #, fuzzy #~ msgid "pass" #~ msgstr "Taken" #, fuzzy #~ msgid "authbox" #~ msgstr "Auteur" #, fuzzy #~ msgid "display: none" #~ msgstr "Naamweergave:" #~ msgid "Your password was not accepted." #~ msgstr "Uw wachtwoord is niet geaccepteerd." #~ msgid "If you already have an account on" #~ msgstr "Als u al een account heeft op" #~ msgid "enter your user name and password and click "Log in."" #~ msgstr "" #~ "vul dan uw gebruikersnaam en wachtwoord in en klik op "Log in."" #~ msgid "Please log off properly when finished. " #~ msgstr "Log correct uit als u klaar bent. " #~ msgid "See the" #~ msgstr "Bekijk de" #~ msgid "recommended browser list" #~ msgstr "aanbevolen browser lijst" #~ msgid "" #~ "if you have trouble using Webcit.
  • You must have cookies " #~ "turned on. " #~ msgstr "" #~ "als u problemen heeft met Webcit.
  • Cookies moeten worden " #~ "toegestaan. " #~ msgid "" #~ "Also keep in mind that if your browser is configured to block pop-up " #~ "windows, you will not be able to receive any instant messages." #~ msgstr "" #~ "Als uw browser pop-up vensters blokkeert, zult u geen directe berichten " #~ "kunnen ontvangen." #~ msgid "Enter your OpenID URL and click "Log in"." #~ msgstr "Vul uw OpenID URL in en klik op "Inloggen."" #~ msgid "Click here to learn what OpenID is and how Citadel is using it." #~ msgstr "Klik hier voor meer info over OpenID en hoe Citadel het gebruikt." #~ msgid "Log off now?" #~ msgstr "Nu uitloggen?" #~ msgid "%d new of %d messages%s" #~ msgstr "%d nieuw van in totaal %d berichten%s" #~ msgid "(nothing)" #~ msgstr "(niets)" #~ msgid "unexpected end of message" #~ msgstr "onverwacht einde van bericht" #~ msgid "An error occurred while setting up the chat socket." #~ msgstr "Er is een fout opgetreden bij het opzetten van de chat socket." #~ msgid "Now exiting chat mode." #~ msgstr "Nu chatmode verlaten." #~ msgid "Help" #~ msgstr "Help" #~ msgid "List users" #~ msgstr "Gebruikerslijst" #~ msgid "No messages here." #~ msgstr "Hier geen berichten." #, fuzzy #~ msgid "no more messages" #~ msgstr "Anonieme berichten" #~ msgid "" #~ "Your icon bar has been updated. Please select any of its choices to " #~ "continue.
    You may need to force " #~ "refresh (SHIFT-F5) in order for changes to take effect" #~ msgstr "" #~ "Uw iconenbalk is geupdate. Maak een willekeurige keuze om door te gaan." #~ "
    Wellicht moet u verversen (SHIFT-" #~ "F5) om te zorgen dat de veranderingen getoond worden" #~ msgid "Email" #~ msgstr "Email" #~ msgid "Error retrieving RSS feed: couldn't find messages\n" #~ msgstr "Fout in binnenhalen RSS feed: kon geen berichten vinden\n" #~ msgid "%s from" #~ msgstr "%s van " #~ msgid "%s in %s" #~ msgstr "%s in %s" #~ msgid " on %s" #~ msgstr "op %s" #~ msgid "%s" #~ msgstr "%s" #~ msgid ")>
  • " #~ msgstr ",1)>" #~ msgid "" #~ "
    • Enter your OpenID URL and click "Log in".
    • Click here to " #~ "learn what OpenID is and how Citadel is using it.
    • Please log off " #~ "properly when finished.
    • You must use a browser that supports " #~ "frames and cookies.
    • Also keep in mind that if your " #~ "browser is configured to block pop-up windows, you will not be able to " #~ "receive any instant messages.
    " #~ msgstr "" #~ "" #~ msgid "" #~ "enter your user name and password and click "Log in."
  • If " #~ "you are a new user, enter the name and password you wish to use, and " #~ "click "New User."
  • Please log off properly when finished. " #~ "
  • You must use a browser that supports frames and cookies.
  • Also keep in mind that if your browser is configured to block pop-" #~ "up windows, you will not be able to receive any instant messages." #~ msgstr "" #~ "Vul uw gebruikersnaam en wachtwoord in en klik op "Inloggen." " #~ "
  • Als u een nieuwe gebruiker bent, vul uw gebruikersnaam in en " #~ "het wachtwoord dat u wilt gebruiken en klik op "Nieuwe gebruiker." #~ ""
  • Log correct uit als u klaar bent.
  • Uw browser moet " #~ "frames en cookies ondersteunen.
  • Als uw browser pop-up " #~ "vensters blokkeert, zult u geen directe berichten kunnen ontvangen.
    " #~ msgid "Find out more about Citadel" #~ msgstr "Meer informatie over Citadel" #~ msgid "CITADEL" #~ msgstr "CITADEL" #~ msgid "Customize this menu" #~ msgstr "Dit menu aanpassen" #~ msgid "Internet configuration" #~ msgstr "Internet configuratie" #~ msgid "of %d messages." #~ msgstr "van %d berichten." #~ msgid " from " #~ msgstr " van " #~ msgid " in " #~ msgstr " in " #~ msgid "Edit node configuration for " #~ msgstr "Knooppunt instellingen bewerken voor " #~ msgid "" #~ "Postfix TCP " #~ "Dictionary Port (-1 to disable)" #~ msgstr "" #~ "Postfix TCP " #~ "Dictionary Port (-1 to disable)" #~ msgid "ERROR: could not open template " #~ msgstr "FOUT: kon template niet openen" #~ msgid "" #~ "This message contains calendaring/scheduling information, but support " #~ "for calendars is not available on this particular system. Please ask " #~ "your system administrator to install a new version of the Citadel web " #~ "service with calendaring enabled.
    \n" #~ msgstr "" #~ "Dit bericht bevat agenda/rooster informatie, maar ondersteuning voor " #~ "agenda's is niet beschikbaar op dit systeem. Vraag uw systeembeheerder a." #~ "u.b. een nieuwe versie van Citadel te installeren met ondersteuning voor " #~ "agenda's
    \n" #~ msgid "" #~ "Cannot display calendar item. You are seeing this error because your " #~ "WebCit service has not been installed with calendar support. Please " #~ "contact your system administrator.
    \n" #~ msgstr "" #~ "Kan agenda-item niet weergeven. U ziet deze foutmelding omdat de " #~ "Webcit service niet is geinstalleerd met agenda-ondersteun. Neem " #~ "alstublieft contact op met uw systeembeheerder.
    \n" #~ msgid "" #~ "Cannot display to-do item. You are seeing this error because your " #~ "WebCit service has not been installed with calendar support. Please " #~ "contact your system administrator.
    \n" #~ msgstr "" #~ "Kan het 'te-doen'-item niet weergeven. U ziet deze foutmelding omdat " #~ "de Webcit service niet is geïnstalleerd met 'te-doen'-ondersteuning. Neem " #~ "alstublieft contact op met uw systeembeheerder.
    \n" #~ msgid "Day: " #~ msgstr "Dag: " #~ msgid "Year: " #~ msgstr "Jaar: " #~ msgid "The calendar view is not available." #~ msgstr "De agenda view is niet beschikbaar." #~ msgid "The tasks view is not available." #~ msgstr "De weergave taken is niet beschikbaar." #~ msgid "Gateway domains" #~ msgstr "Gateway domeinen" #~ msgid "(domains whose subdomains match Citadel hosts)" #~ msgstr "(domeinen waarvan de subdomeinen vallen onder Citadel hosts)" #~ msgid "(This server does not support task lists)" #~ msgstr "(Deze server ondersteunt geen takenlijsten)" #~ msgid "(This server does not support calendars)" #~ msgstr "(Deze server ondersteunt geen agenda's)" webcit-9.01-dfsg/po/webcit/pl.po000066400000000000000000004572071254743150300165320ustar00rootroot00000000000000# translation of webcit.po to pl.po # Copyright (C) 2008 - 2009 The Citadel Project - http://www.citadel.org # This file is distributed under the revised BSD license # # WebCit messages for Polish # Copyright (C) 2005 David Given # This file is distributed under GPL v3 # msgid "" msgstr "" "Project-Id-Version: WebCit\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2013-11-27 15:35+0000\n" "Last-Translator: Waldemar Ogonowski \n" "Language-Team: \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2013-11-28 05:10+0000\n" "X-Generator: Launchpad (build 16847)\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "dostÄ™pność nieznana" #: ../../availability.c:169 msgid "free" msgstr "wolny" #: ../../availability.c:179 msgid "BUSY" msgstr "ZAJĘTY" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "PrzesyÅ‚anie pliku zostaÅ‚o anulowane." #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "Nie przesÅ‚aÅ‚eÅ› pliku." #: ../../graphics.c:106 msgid "your photo" msgstr "Twoje zdjÄ™cie" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "ikona dla tego pokoju" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "obrazek graficzny przy logowania" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "obrazek przy wyloggowaniu" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "ikona dla piÄ™tra" #: ../../tasks.c:93 msgid "Completed?" msgstr "ZakoÅ„czone ?" #: ../../tasks.c:95 msgid "Name of task" msgstr "Nazwa zadania" #: ../../tasks.c:97 msgid "Date due" msgstr "Data zakoÅ„czenia" #: ../../tasks.c:99 msgid "Category" msgstr "Kategoria" #: ../../tasks.c:101 msgid "Show All" msgstr "WyÅ›wietl wszystkie" #: ../../tasks.c:224 msgid "Edit task" msgstr "Edycja zadania" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "Podsumowanie:" #: ../../tasks.c:259 msgid "Start date:" msgstr "Data rozpoczÄ™cia:" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "Brak daty" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "albo" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "PowiÄ…zanie czasu" #: ../../tasks.c:289 msgid "Due date:" msgstr "Data zkoÅ„czenia:" #: ../../tasks.c:318 msgid "Completed:" msgstr "ZakoÅ„czone:" #: ../../tasks.c:329 msgid "Category:" msgstr "Kategoria:" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "Opis:" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "Zapisz" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "UsuÅ„" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "Anuluj" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "Nieopisane zadanie" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, c-format msgid "%d comments" msgstr "%d komentarzy" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "permalink" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "Nowsze" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "Starsze" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "Edytuj %s" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "Wprowadź %s poniżej. Tekst jest sformatowany dla przeglÄ…darki." #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "Zapisz zmiany" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "Anulowano. %s nie bÄ™dzie zapisane." #: ../../sysmsgs.c:103 msgid " has been saved." msgstr " zostaÅ‚o zapisane." #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "Informacj o pokoju" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "Twoje bio" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "Godzina: " #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "Minuty: " #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "(status nieznany)" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "(potrzebne dziaÅ‚anie)" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "(zaakceptowany)" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "(odrzucony)" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "(niepewny)" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "(odelegowany)" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "(zakoczony)" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "(w trakcie)" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "(nieokreÅ›lony)" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "ZarzÄ…dzanie kontem OpenID" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "Czy na pewno chcesz usunąć OpenID?" #: ../../openid.c:47 msgid "(delete)" msgstr "(usuÅ„)" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "Dodaj OpenID: " #: ../../openid.c:58 msgid "Attach" msgstr "Załącz" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "%s nie zezwala na uwierzytelnianie za pomocÄ… OpenID." #: ../../summary.c:128 msgid "(None)" msgstr "(Brak)" #: ../../summary.c:184 msgid "(Nothing)" msgstr "(Brak)" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "Skocz do strony: " #: ../../bbsview_renderer.c:354 msgid "First" msgstr "Pierwszej" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "Ostatniej" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "realloc() łąd! nie może pobrać %d bytes: %s" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "UsuÅ„" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "Nowy użytkownik" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "Problematyczny użytkownik" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "Lokalny użytkownik" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "Sieciowy użytkownik" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "Preferowany użytkownik" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "Admin" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "WystÄ…piÅ‚ błąd." #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "Zatwierdź nowych użytkowników" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "Obecnie żaden użytkownik nie wymaga zatwierdzenia." #: ../../auth.c:617 msgid "very weak" msgstr "bardzo sÅ‚abe" #: ../../auth.c:620 msgid "weak" msgstr "sÅ‚abe" #: ../../auth.c:623 msgid "ok" msgstr "ok" #: ../../auth.c:627 msgid "strong" msgstr "mocne" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "Aktualny poziom dostÄ™pu: %d (%s)\n" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "Wybierz poziom dostÄ™pu dla tego użytkownika:" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "Anulowane. HasÅ‚o nie zostaÅ‚o zmienione." #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "One nie pasujÄ…. HasÅ‚o nie zostaÅ‚o zmienione." #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "Puste hasÅ‚a nie sÄ… dozwolone." #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "Zaproszenie na spotkanie" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "Odpowiedź uczestnika na zaproszenie" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "Opublikowano wydarzenie" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "To jest nieznany rodzaj elementu kalendarza." #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "Lokalizacja:" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "Data:" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "Data rozpoczÄ™cia/czas:" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "Data zakoÅ„czenia/czas:" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "Powtarzanie" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "To jest wydarzenie cykliczne" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "Uczestnik:" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "Jest to zmiana '%s', które znajduje siÄ™ już w kalendarzu." #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "Wydarzenie to byÅ‚oby sprzeczne z '%s', które jest już w kalendarzu." #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "Aktualizacja:" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "KONFLIKT:" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "Jak chcesz odpowiedzieć na to zaproszenie?" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "Akceptuj" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "Niepwne" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "Odmowa" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "" "Kliknij Aktualizacja , aby zaakceptować tÄ™ odpowiedź i aktualizować " "swój kalendarz." #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "Zaktualizuj" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "Ignoruj" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "WystÄ…piÅ‚ błąd podczas analizowania tego elementu kalendarza." #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "" "ZaakceptowaÅ‚eÅ› zaproszenie na spotkanie. ZostaÅ‚o wpisana do Twojego " "kalendarza." #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "" "WstÄ™pnie zaakceptowaÅ‚eÅ› zaproszenie na spotkanie. ZostaÅ‚o \"zaznaczone\" w " "Twoim kalendarzu." #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "" "OdrzuciÅ‚eÅ› zaproszenie na spotkanie. Zaproszenie nie bÄ™dzie " "wpisane do Twojego kalendarza." #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "Odpowiedź zostaÅ‚a wysÅ‚ana do organizatora spotkania." #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "Twój kalendarz zostaÅ‚ zaktualizowany, aby odzwierciedlić RSVP." #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "" "WybraÅ‚eÅ› ignorowanie ten RSVP. Twój kalendarz nie zostanie " "zaktualizowany." #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "Widok kalendarza dziennego zaczyna siÄ™ od:" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "Widok kalendarza dziennego kÅ„czy siÄ™ na:" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "TydzieÅ„ zaczyna siÄ™ od:" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "WystÄ…piÅ‚ błąd podczas pobierania tego pliku: %s\n" #: ../../event.c:71 msgid "seconds" msgstr "sekundy" #: ../../event.c:72 msgid "minutes" msgstr "minuty" #: ../../event.c:73 msgid "hours" msgstr "godzin(y)" #: ../../event.c:74 msgid "days" msgstr "dni" #: ../../event.c:75 msgid "weeks" msgstr "tygodni" #: ../../event.c:76 msgid "months" msgstr "miesiÄ™cy" #: ../../event.c:77 msgid "years" msgstr "lat(a)" #: ../../event.c:78 msgid "never" msgstr "nigdy" #: ../../event.c:82 msgid "first" msgstr "pierwszy(a)" #: ../../event.c:83 msgid "second" msgstr "drugi" #: ../../event.c:84 msgid "third" msgstr "trzeci(a)" #: ../../event.c:85 msgid "fourth" msgstr "czwarty(a)" #: ../../event.c:86 msgid "fifth" msgstr "piÄ…ty(a)" #: ../../event.c:89 msgid "Event" msgstr "Wydarzenie" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "Uczestnicy" #: ../../event.c:168 msgid "Add or edit an event" msgstr "Dodaj lub edytuj zdarzenie" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "Zestawienie" #: ../../event.c:222 msgid "Location" msgstr "Lokalizacja:" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "PoczÄ…tek" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "Wydarzenie caÅ‚odniowe" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "Koniec" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "Notes" #: ../../event.c:374 msgid "Organizer" msgstr "Notes" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "(jesteÅ› organizatorem)" #: ../../event.c:397 msgid "Show time as:" msgstr "Pokaż czas jako:" #: ../../event.c:420 msgid "Free" msgstr "Wolny" #: ../../event.c:428 msgid "Busy" msgstr "Zajety" #: ../../event.c:445 msgid "(One per line)" msgstr "(Jeden na linie)" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "Kontakty" #: ../../event.c:518 msgid "Recurrence rule" msgstr "Zasady powtarzania" #: ../../event.c:522 msgid "Repeats every" msgstr "Powtarzaj co każdy" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "dzieÅ„ tygodnia:" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "dzieÅ„ %s%d%s miesiÄ…ca" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "w " #: ../../event.c:631 msgid "of the month" msgstr "w miesiÄ…cu" #: ../../event.c:660 msgid "every " msgstr "co " #: ../../event.c:661 msgid "year on this date" msgstr "roku o tej datcie" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "z" #: ../../event.c:717 msgid "Recurrence range" msgstr "Zakres powtarzania" #: ../../event.c:725 msgid "No ending date" msgstr "Brak daty zakoÅ„czenia" #: ../../event.c:732 msgid "Repeat this event" msgstr "Powtarzaj to wydarzenie" #: ../../event.c:735 msgid "times" msgstr "razy" #: ../../event.c:743 msgid "Repeat this event until " msgstr "Powtarzaj to wydarzenie aż do " #: ../../event.c:771 msgid "Check attendee availability" msgstr "Sprawdź dostÄ™pność uczestników" #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "Nie opisane wydarzenie" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "Ustawienia ikon" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "NieprawidÅ‚owy parametr" #: ../../inetconf.c:126 msgid " has been deleted." msgstr " zostaÅ‚a usuniÄ™ta." #. added status message #: ../../inetconf.c:144 msgid " added." msgstr " dodana" #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "Wyższa poziom dostÄ™pu jest niezbÄ™dny do korzystania z tej funkcji" #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "Trzeba okreÅ›lić listÄ™ dyskusyjnÄ…, aby zapisać siÄ™." #: ../../listsub.c:38 ../../listsub.c:76 msgid "You need to specify the email address you'd like to subscribe with." msgstr "Musisz podać adres e-mail, który chcesz zapisać siÄ™." #: ../../messages.c:73 msgid "ERROR:" msgstr "BÅÄ„D:" #: ../../messages.c:91 msgid "Empty message" msgstr "Puta wiadomość" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "Anulowane. Wiadomość nie zostaÅ‚a wysÅ‚ana." #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "Automatycznie anulowane, ponieważ zapisano już tÄ™ wiadomość." #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "Zapisane w Roboczych nie powiodÅ‚o sie: " #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "Odmowa wysÅ‚ania pustej wiadomoÅ›ci.\n" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "Wiadmość zostaÅ‚a zapisana do Roboczych.\n" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "Wiadomość zostaÅ‚a wysÅ‚ana.\n" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "Wiadomość zostaÅ‚a wysÅ‚ana.\n" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "Wiadomość nie zostaÅ‚a przeniesiona." #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "WystÄ…piÅ‚ błąd podczas pobierania tej części: %s/%s\n" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "WystÄ…piÅ‚ błąd podczas pobierania tej części: %s\n" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "Dołączyć podpis do wiadomoÅ›ci e-mail?" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "Użyj tego podpisu:" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "DomyÅ›lne kodowanie w nagłówkach e-mail:" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "Preferowany adres e-mail" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "Preferowana nazwa wyÅ›wietlana w wiadomoÅ›ciach e-mail" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "Preferowane nazwa wyÅ›wietlana w wiadomoÅ›ciach BBS" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "Tryb wyÅ›wietlania skrzynki pocztowej" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "Kliknij na jakÄ…kolwiek notatkÄ™ w celu edycji." #: ../../paging.c:29 msgid "Send instant message" msgstr "WyÅ›lij wiadomość" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "WyÅ›lij wiadomość do: " #: ../../paging.c:51 msgid "Enter message text:" msgstr "Wpisz tekst wiadomoÅ›ci:" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "WyÅ›lij wiadomość" #: ../../paging.c:78 msgid "Message was not sent." msgstr "Wiadomość nie zostaÅ‚a wysÅ‚ana." #: ../../paging.c:89 msgid "Message has been sent to " msgstr "Wiadomość zostaÅ‚a wysÅ‚ana do " #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "Anulowane. Ustawienia nie bÄ™dÄ… zmienione." #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "Ustaw jako stronÄ™ startowÄ…" #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "To nie może ustawić jako strona startowa." #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "Nie masz strony startowej ustawionej." #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "Zalecana strona stratow" #: ../../roomlist.c:105 msgid "My Folders" msgstr "Moje Foldery" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "Anulowane. Zmiany nie zostaÅ‚y zapisane." #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "Twoje zmiany zostaÅ‚y zapisane." #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "User '%s' wyrzucony z pokoju '%s'." #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "User '%s' zaproszony do pokoju '%s'." #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "Anulowane. Nowy pokój nie bÄ™dzie utworzony." #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "PiÄ™tro zostaÅ‚o usuniÄ™te." #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "Nowe piÄ™tro zostaÅ‚o utworzone." #: ../../roomops.c:1363 msgid "Room list view" msgstr "Lista pokoi" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "Pokaż puste piÄ™tra" #: ../../roomtokens.c:570 msgid "file" msgstr "plik" #: ../../roomtokens.c:572 msgid "files" msgstr "pliki" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "Bulletin Board" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "Folder poczty" #: ../../roomviews.c:55 msgid "Address Book" msgstr "Książka adresowa" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "Kalendarz" #: ../../roomviews.c:57 msgid "Task List" msgstr "Lista zadaÅ„" #: ../../roomviews.c:58 msgid "Notes List" msgstr "Lista notatek" #: ../../roomviews.c:59 msgid "Wiki" msgstr "Wiki" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "Lista kalendarza" #: ../../roomviews.c:61 msgid "Journal" msgstr "Dziennik" #: ../../roomviews.c:62 msgid "Drafts" msgstr "Wersje robocze" #: ../../roomviews.c:63 msgid "Blog" msgstr "Blog" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" "Ten serwer obsÅ‚uguje już maksymalnÄ… liczbÄ™ użytkowników i nie może " "przyjmować żadnych dodatkowych loginów w tym czasie. Spróbuj ponownie " "później lub skontaktuj siÄ™ z administratorem systemu." #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "OtrzymaÅ‚eÅ› nieoczekiwanÄ… odpowiedź z serwera Citadel; ratuj siÄ™." #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" "JesteÅ› podłączony do serwera z systemem Citadel %d.%02d. \n" "W celu uruchomienia tej wersji WebCit musisz mieć Citadel %d.%02d lub " "nowszy.\n" "\n" "\n" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "Konfiguracja systemu zostaÅ‚a zaktualizowany." #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "Pierwsza próba oczekuje" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "" "WystÄ…piÅ‚ błąd podczas tworzenia lub edycji tego wpisu książki adresowej.." #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "Zmiany nie zostaÅ‚y zapisane." #: ../../useredit.c:778 msgid "A new user has been created." msgstr "Nowy użytkownik zostaÅ‚ stworzony." #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" "Próbujesz utworzyć nowego użytkownika od wewnÄ…trz Citadel podczas pracy w " "trybie uwierzytelniania hosta. W tym trybie, należy utworzyć nowego " "użytkownika w systemie hosta, a nie w Citadel." #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "(brak nazwy)" #: ../../vcard_edit.c:438 msgid " (work)" msgstr " (praca)" #: ../../vcard_edit.c:440 msgid " (home)" msgstr " (dom)" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr " (mobile)" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "Adres:" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "Telefon:" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "E-mail:" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "KsiÄ…zka adresowa pusta." #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "WystÄ…piÅ‚ błąd wewnÄ™trzny." #: ../../vcard_edit.c:940 msgid "Error" msgstr "Błąd" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "Edycja informacji kontaktu" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "Prefiks" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "ImiÄ™" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "Drugie imiÄ™" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "Nazwisko" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "Sufiks" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "WyÅ›wietlana nazwa:" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "Stanowisko:" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "Organizacja:" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "Skrytka pocztowa:" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "Miejscowość:" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "Stan/województwo:" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "Kod pocztowy:" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "PaÅ„stwo:" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "Domowy telefon:" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "Praca telefon:" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "Komórkowy:" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "Fax numer:" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "Główny adres email" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "Internetowe email aliasy" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "Nie można wejść do pokoju, aby zapisać wiadomość" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "Przerwane." #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "Nie można zdekodować vCard zdjÄ™cia\n" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "Wymagana autoryzacja" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" "Zasób który prosiÅ‚eÅ› wymaga poprawnej nazwy użytkownika i hasÅ‚o. Nie można " "siÄ™ zalogować: %s\n" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" "Ten program nie byÅ‚ w stanie siÄ™ połączyć . ProszÄ™ zgÅ‚osić ten problem do " "administratora systemu." #: ../../webcit.c:688 msgid "Read More..." msgstr "Czytaj wiÄ™cej ..." #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "'%s' pokój nie jest Wiki." #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "Brak strony o nazwie '%s' tutaj." #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "" "Wybierz link w banerze pokoju \"Edytuj stronÄ™\" , jeÅ›li chcesz utworzyć tÄ™ " "stronÄ™." #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "Data" #: ../../wiki.c:143 msgid "Author" msgstr "Autor" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "(pokaż)" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "Bieżąca wersja" #: ../../wiki.c:184 msgid "(revert)" msgstr "(cofnij)" #: ../../wiki.c:246 msgid "Page title" msgstr "TytuÅ‚ strony" #: ../../fmt_date.c:306 msgid "Time format" msgstr "Format czasu" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "Od" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "Data startowa:" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "Data zakoÅ„czenia:" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "Data/czas:" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "Notatki:" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "poprzedni" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "nastÄ™pny" #: ../../calendar_view.c:750 msgid "Week" msgstr "TydzieÅ„" #: ../../calendar_view.c:752 msgid "Hours" msgstr "Godzin(a/y)" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "Temat" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "W toku wydarzenie" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "edycja" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "Nie wiem, jak wyÅ›wietlić " #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "(brak tematu)" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "Kolejka jest pusta" #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "Nie masz uprawnieÅ„, aby zobaczyć ten zasób." #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "Dostosuj pasek ikon" #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "Ikony wyÅ›wietlaj jako:" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "obrazki i tekst" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "tylko obrazki" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "tylko tekst" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "" "Wybierz ikony, które chcesz zobaczyć, wyÅ›wietlany w menu 'bar' po lewej " "stronie ekranu." #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "Tak" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "Nie" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "Logo strony" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "Ikona opisujÄ…ca tÄ™ stronÄ™" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "Twoja strona z zestawieniem" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "Poczta (przychodzÄ…ca)" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "Skrót do skrzynki odbiorczej poczty e-mail" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "Twoja osobista książka adresowa" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "Twoje osobiste notatki" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "Skrót do kalendarza osobistego" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "Zadania" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "Skrót do osobistej listy zadaÅ„" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "Pokoje" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "" "KlikniÄ™cie tej ikony wyÅ›wietla listÄ™ wszystkich dostÄ™pnych pokoi (lub " "folderów) dostÄ™pnych." #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "Kot jest online?" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "" "KlikniÄ™cie tej ikony wyÅ›wietla listÄ™ wszystkich aktualnie zalogowanych " "użytkowników" #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "Chat" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "" "KlikniÄ™cie tej ikony przechodzi w tryb rozmowy w czasie rzeczywistym z " "innymi użytkownikami w tym samym pokoju." #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "Zaawansowane opcje" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "DostÄ™p do peÅ‚nego menu funkcji Citadel." #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "Citadel logo" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "WyÅ›wietl ikone 'Powered by Citadel'" #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 msgid "System Administration Menu" msgstr "Menu Administracji Systemu" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 msgid "Room Admin Menu" msgstr "Pokój Menu Admin" #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "Lokalne aliasy systemu (host)" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "Katalog domen" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "Smart hosts" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 msgid "Fallback smart hosts" msgstr "Awaryjne sprytne hosty" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "Hosty powiadamiajÄ…ce" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 msgid "RBL hosts" msgstr "RBL hosts" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "SpamAssassin hosts" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "ClamAV clamd hosts" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 msgid "Masqueradable domains" msgstr "Maskowane domeny" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" "Zmiany dokonane na tym ekranie nie zostanÄ… zastosowane dopiero po ponownym " "uruchomieniu serwera Cytadeli." #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 msgid "Network services" msgstr "UsÅ‚ugi sieciowe" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 #, fuzzy msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "Server IP adres (0.0.0.0 dla 'każdego IP')" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "XMPP (Jabber) client to server port (-1 aby włączyć)" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "XMPP (Jabber) server to server port (-1 aby włączyć)" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "Zaawansowana kontrola (dostrajanie) serwera" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "Maksymalna dÅ‚ugość wiadomoÅ›ci" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "Limit czasu połączenia z serwerem bezczynnoÅ›ci (w sekundach)" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "CzÄ™stotliwość uruchamiania sieci (w sekundach)" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "Maksimum sesji równolegÅ‚ych (0 = brak limitu)" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "Minimalna liczba wÄ…tków" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "Maksymalna liczba wÄ…tków roboczych" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "Automatyczne usuwanie ?zaangażowanych? lgów baz danych" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "Utwórz nowy pokój" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "Nazwa pokoju: " #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "Znajduje siÄ™ na piÄ™trze: " #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "DomyÅ›lny widok pokoju: " #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "Typ pokoju:" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "Publicznych (pojawia siÄ™ automatycznie dla wszystkich)" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "Prywatne - ukryte (dostÄ™pne dla każdego, kto zna jego nazwÄ™)" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "Prywatne - wymagajÄ… hasÅ‚a: " #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "Tylko zaproszenia - prywatne" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "Prywatne (poczta tylko dla Ciebie)" #: ../../i18n_templatelist.c:95 #, fuzzy msgid "Create new room" msgstr "Utwórz nowy pokój" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "Wyloguj" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "Zaloguj ponownie" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "Zapomnij /wypisz siÄ™ z bieżacego pokoju" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 msgid "If you select this option," msgstr "JeÅ›li wybierzesz tÄ™ opcjÄ™," #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 msgid "will disappear from your room list. Is this what you wish to do?" msgstr "zniknie z listy pokjów. Czy to chcesz zrobić?" #: ../../i18n_templatelist.c:102 #, fuzzy msgid "Zap this room" msgstr "PomiÅ„ ten pokój" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" "WAGA: masz wyłączonÄ… obsÅ‚ugÄ™ JavaScript w przeglÄ…darce. Wiele funkcji tego " "systemu nie bÄ™dzie dziaÅ‚ać poprawnie." #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "Nazwa użytkownika" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "Pokój" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "Połączony z komputera" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "Nadawca" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "Åadowanie wiadomoÅ›ci z serwera, proszÄ™ czekać" #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "Otwórz w nowym oknie" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "Przenieść" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "Kopiuj" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "Drukuj" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "" "(wysÅ‚ać pocztÄ™ wychodzÄ…cÄ… do tych hostów tylko wtedy, gdy bezpoÅ›rednie " "dostrczenie nie jest możliwe)" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "Zapomniane pokoje" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 msgid "Click on any room to un-zap it and goto that room." msgstr "" "Kliknij na jakiekolwiek pokoju aby ustawić un-zap i przejdź do tego pokoju." #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "ZmieÅ„ swoje preferencje i ustawienia" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "Aktualizuj swoje dane kontaktowe" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "ZmieÅ„ swoje hasÅ‚o" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "Wprowadź swoje 'bio'" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "Edytuj swoje online zdjÄ™cie" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "Pokaż/edytuj filtr pocztowy od strony servera" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "Edycja Twoich ustawieÅ„ push email" #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 msgid "Manage your OpenIDs" msgstr "ZarzÄ…dzaj swoim OpenIDs" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "" #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "Widok" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "Pobieranie" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "Globalna konfiguracja" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "ZarzÄ…dzanie kontami użytkowników" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "Shutdown Citadel" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "Pokoje i PiÄ™tra" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "Idź do ukrytego pokoju" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" "JeÅ›li znasz nazwÄ™ ukrytego (zgadnij-name) lub hasla pokoju można wejść do " "tego pokoju, wpisujÄ…c jego nazwÄ™ poniżej. Po uzyskaniu dostÄ™pu do prywatnego " "pokoju, pojawi siÄ™ w regularnych ofert w pokojach, wiÄ™c nie musisz wracać " "tutaj." #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "Wpisz nazwÄ™ pokoju:" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "Wprowadź hasÅ‚o dla pokoju:" #: ../../i18n_templatelist.c:144 #, fuzzy msgid "Go there" msgstr "w " #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "od " #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "do" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "DW:" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "Temat:" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 msgid "Push Email" msgstr "Natychmiastowe przesyÅ‚anie wiadomoÅ›ci (push e-mail)" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 msgid "Funambol server host (blank to disable)" msgstr "Funambol server host (puste aby wyłączyć)" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 msgid "Funambol server port " msgstr "Funambol server port " #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 msgid "Funambol sync source" msgstr "Funambol sync source" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "Funambol auth details (user:pass)" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 msgid "External pager tool (blank to disable)" msgstr "NarzÄ™dzie do powiadamiania zewnetrzne (puste aby wyłączyć)" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "Drzewo (foldery) zobacz" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "Tabela (pokoje) zobacz" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "12 hour (am/pm)" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "24 godzinny" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 msgid "Sunday" msgstr "Niedziela" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 msgid "Monday" msgstr "PoniedziaÅ‚ek" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "Bez podpisu" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "PeÅ‚nea funkcjonalność" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "Tryb bezpieczny" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "" "Tryb bezpieczny jest mniej intensywny w przeglÄ…darce internetowej, ale nie w " "peÅ‚ni funkcjonalny." #: ../../i18n_templatelist.c:168 msgid "Change" msgstr "" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "Preferencje i ustawienia" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "(URLS do powiadomieÅ„, gdy użytkownicy otrzymujÄ… nowÄ… pocztÄ™; )" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "Syntax: Powiadomienie:http[s]://user:password@hostname/path" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "Podstawowe polecenia" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "Twoje info" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "Zaawansowane komendy pokoju" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "Edytuj konto użytkownika: " #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "Nazwa użytkownika" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "HasÅ‚o" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "Uprawnienie do wysyÅ‚ania poczty internetowej" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 msgid "Number of logins" msgstr "Liczba logowaÅ„" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 msgid "Messages submitted" msgstr "WiadomoÅ›ci wysÅ‚ane" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 msgid "Access level" msgstr "Poziom dostÄ™pu" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 msgid "User ID number" msgstr "Numer ID użytkownika" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "Data i czas ostatniego logowania" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "Auto-czyszczenie po ilosci dni" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "POP3" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "POP3 listener port (-1 aby włączyć)" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "POP3 over SSL port (-1 aby włączyć)" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 msgid "POP3 fetch frequency in seconds" msgstr "POP3 sprowadzić czÄ™stotliwość w sekundach" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 msgid "POP3 fastest fetch frequency in seconds" msgstr "POP3 najszybciej sprowadzić czÄ™stotliwość w sekundach" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "Zobacz wychodzÄ…cÄ… kolejkÄ™ SMTP" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "OdÅ›wież te strone" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 #, fuzzy msgid "Remote Sites:" msgstr "OdlegÅ‚y host" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 #, fuzzy msgid "Status:" msgstr "Stan/województwo:" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 #, fuzzy msgid "Jobs waiting for further processing:" msgstr "kontynuj przetwarzanie" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 msgid "Message to your Users:" msgstr "Wiadomość do użytkowników:" #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "ZarzÄ…dzanie" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "Ustawienia" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "Polityka wygasania wiadomoÅ›ci" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "Kontrola dostÄ™pu" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "Współdzielenie" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "ObsÅ‚uga listy mailingowej" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "Zdalne pobieranie" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "" "Twój pasek ikon zostaÅ‚ zaktualizowany. ProszÄ™ wybrać jednÄ… z jego opcji, aby " "kontynuować." #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "" "Może trzeba wymusić odÅ›wieżania (Shift-F5)>, aby zmiany odniosÅ‚y skutek" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 msgid "General site configuration items" msgstr "Ogólne elementy konfiguracji systemu" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "ZmieÅ„ logo Logowania" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "ZmieÅ„ logo Wyloguj" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 msgid "Node name" msgstr "Nazwa wÄ™zÅ‚a" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "PeÅ‚na nazwa hosta np (nocall.ampr.org)" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "Czytelna dla użytkowników nazwa wÄ™zÅ‚a" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 msgid "Telephone number" msgstr "Numer telefonu" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "Prompt stronicowania (tylko dla klientów w trybie tekstowym)" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "Lokalizacja geograficzna: kraj, miasto" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "Nazwa administratora systemu" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "DomyÅ›lna strefa czasowa dla pozycji kalendarza" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 #, fuzzy msgid "Networked Room" msgstr "Sieciowo wspólny pokój" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 msgid "Add a new node" msgstr "Dodaj nowy wÄ™zeÅ‚ (node)" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "Wspólny serkretny klucz" #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "Host lub IP adres" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 msgid "Port number" msgstr "Numer portu" #: ../../i18n_templatelist.c:241 #, fuzzy msgid "Add node?" msgstr "Dodaj nowy wÄ™zeÅ‚ (node)" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 msgid "(kill)" msgstr "(zabij)" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 #, fuzzy msgid "Edit configuration" msgstr "Konfiguracja strony" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 #, fuzzy msgid "Edit address book entry" msgstr "KsiÄ…zka adresowa pusta." #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 #, fuzzy msgid "Minutes" msgstr "minuty" #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 #, fuzzy msgid "active" msgstr "Niepwne" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 msgid "(Edit)" msgstr "(Edycja)" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "(UsuÅ„)" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "Brak nowych wiadomoÅ›ci." #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "Nowa strona startowa" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "Twoja strona startowa zostaÅ‚a zmieniona." #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" "(Uwaga: to nie zmienia strony startowej w przeglÄ…darce . Zmienia stronÄ™, " "którÄ… rozpoczyna siÄ™ podczas logowania do" #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "Zamieść komentarz" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "Potwierdź usuniÄ™cie" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "Czy na pewno chcesz usunąć " #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 msgid "Add, change, delete user accounts" msgstr "Dodawanie, zmienianie, usuwanie kont użytkowników" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 msgid "(hosts running the ClamAV clamd service)" msgstr "(hosts na których dziaÅ‚a usÅ‚uga clamd ClamAV)" #: ../../i18n_templatelist.c:270 #, fuzzy msgid "Send" msgstr "Nadawca" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 msgid "Restart Citadel" msgstr "Restart Citadel" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "Od" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "Anonimowo" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "Do:" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "BCC:" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "Temat (opcjonalnie)" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "--- wiadomoÅ›c przekazywana ---" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 msgid "Post message" msgstr "Napisz wiadmość" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "Zapisz do Roboczych" #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "Załączniki:" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 #, fuzzy msgid "Delete this message?" msgstr "UsuÅ„ ten pokój" #: ../../i18n_templatelist.c:300 #, fuzzy msgid "Room Logo" msgstr "Informacj o pokoju" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "Szukaj: " #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "Wyniki poleceÅ„ serwera" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 msgid "Enter another command" msgstr "Wpisz innÄ… komendÄ™" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 msgid "Return to menu" msgstr "Powrót do menu" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 msgid "Users currently on" msgstr "Użytkownicy obecnie na" #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "Profil użytkownika" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 msgid "Click here to send an instant message to" msgstr "Kliknij tutaj, aby wysÅ‚ać wiadomość bÅ‚yskawicznÄ… do" #: ../../i18n_templatelist.c:308 #, fuzzy msgid "Pictures in" msgstr "tylko obrazki" #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 msgid "Edit or delete users" msgstr "Edytowanie lub usuwanie użytkowników" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 msgid "You need to be aide to view this." msgstr "Musisz być pomcnikiem aby móc wyÅ›wietlić to." #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 msgid "Add users" msgstr "Dodaj użytkowników" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 msgid "Edit or Delete users" msgstr "Wdycja lub usuwanie użytkowników" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "Poczekaj chwilÄ™ server Citadel jest ponownie uruchomiany ... " #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 msgid "User list for " msgstr "Lista użytkownika dla " #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "Nazwa użytkownika" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "Numer" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "Poziom dostÄ™pu" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "Ostatnie logowanie" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "Liczba zalogowaÅ„" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "Wszystkich postów" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "Wczytywanie" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "Twój OpenID" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "zostaÅ‚ pomyÅ›lnie zweryfikowany." #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "Jednak nazwa użytkownika" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "konflikty z istniejÄ…cm użytkownikiem." #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "ProszÄ™ podać nazwÄ™ użytkownika, którego chcesz użyć." #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "Polityka wygasania wiadomość w tym pokoju" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "Użyj domyÅ›lnej polityki dla tego piÄ™tra" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "Nigdy automatycznie wygasa wiadomoÅ›ci" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "TracÄ… ważność wg liczby wiadomoÅ›ci" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "WygasajÄ… wedÅ‚ug wieku wiadomoÅ›ci" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "Liczba wiadomoÅ›ci lub dni: " #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "Polityak wygasania wiadomość na tym piÄ™trze" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "Użyj domyÅ›lnych ustawieÅ„ systemowych" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "Zamknij okno" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 #, fuzzy msgid "Upload failed" msgstr "PrzeÅ›lij plik:" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 #, fuzzy msgid "Are you shure you want to delete {filename}?" msgstr "Czy na pewno chcesz usunąć " #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "Dołącz plik" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 msgid "Remove" msgstr "UsuÅ„" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "Indeksowanie i ksiÄ™gowanie" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "Ostrzeżenie: zadania te sÄ… źródÅ‚em intensywnego obciÄ…zenia" #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "Umożliwienie peÅ‚nego indeksu tekstowego" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 msgid "Perform journaling of email messages" msgstr "Przeprowadzić ksiÄ™gowanie wiadomoÅ›ci e-mail" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 msgid "Perform journaling of non-email messages" msgstr "Przeprowadzić ksiÄ™gowanie wiadomoÅ›ci nie bÄ™dÄ…cych pocztÄ…" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "Przeznaczenia wiadomoÅ›ci e-mail z ksiÄ™gowanych" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "Pliki dostÄ™pne do pobrania w" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "PrzeÅ›lij plik:" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "WyÅ›lij" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "Nazwa pliku" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "Wielkość" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "Zawartość" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "Opis" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" "Instalacja Citadel została zbudowana bez obsługi po stronie serwera " "filtrowania poczty.
    Proszę skontaktować się z administratorem systemu, " "jeśli potrzebujesz tej funkcji
    " #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "nowych z" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "wiadomoÅ›ci" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "Wybierz stronÄ™: " #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 msgid "Remote host" msgstr "OdlegÅ‚y host" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 msgid "Keep messages on server?" msgstr "Zachować wiadomoÅ›ci na serwerze?" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 msgid "Interval" msgstr "InterwaÅ‚" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "Dodaj" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "Pobrać nastÄ™pujÄ…ce kanaÅ‚y RSS i przechowywać je w tym pokoju:" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "KanaÅ‚ URL" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "" "Aby utworzyć nowe konto użytkownika, wprowadź żądanÄ… nazwÄ™ użytkownika w " "polu poniżej i kliknij przycisk \"Utwórz\"." #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 msgid "New user: " msgstr "Nowy użytkownik: " #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "(Domeny odwzorowywane z Global Address Book)" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "Lista stron Wiki" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "(usunąć)" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" "Wymienieni poniżej użytkownicy majÄ… dostÄ™p do tego pokoju. Aby usunąć " "użytkownika z listy dostÄ™pu, wybierz nazwÄ™ użytkownika z listy i kliknij " "'Kick \"." #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" "Przyznania innemu użytkownikowi dostÄ™pu do tego pokoju, wprowadź nazwÄ™ " "użytkownika w polu poniżej i kliknij przycisk \"Invite\"." #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "Zaproszenia:" #: ../../i18n_templatelist.c:426 #, fuzzy msgid "Invite" msgstr "Zaproszenia:" #: ../../i18n_templatelist.c:427 #, fuzzy msgid "User" msgstr "Użytkownicy" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 msgid "Users" msgstr "Użytkownicy" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 #, fuzzy msgid "Addressbook Popup" msgstr "Książka adresowa" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "" "Aby edytować istniejÄ…ce konto użytkownika, wybierz nazwÄ™ użytkownika z listy " "i kliknij przycisk \"Edytuj\"." #: ../../i18n_templatelist.c:435 #, fuzzy msgid "Delete user" msgstr "UsuÅ„ skryptów" #: ../../i18n_templatelist.c:436 #, fuzzy msgid "Delete this user?" msgstr "UsuÅ„ ten pokój" #: ../../i18n_templatelist.c:437 #, fuzzy msgid "Delete File" msgstr "UsuÅ„" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "Prezentacja" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "(hosts na których dziaÅ‚a SpamAssassin )" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "which is already in your calendar." msgstr "Jest to zmiana '%s', które znajduje siÄ™ już w kalendarzu." #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "This event would conflict with" msgstr "Wydarzenie to byÅ‚oby sprzeczne z '%s', które jest już w kalendarzu." #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "Gdy nadejdzie nowa poczta: " #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "Zostaw go w skrzynce odbiorczej bez filtrowania" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "Filtrować je wedÅ‚ug zasad wybranych poniżej" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "" "Przefiltrowanego przez edytowanie rÄ™czne skryptu (tylko dla zaawansowanych " "użytkowników)" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "woja poczta przychodzÄ…ca nie bÄ™dzie filtrowana przez skrypty." #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "Dodaj regułę" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "Skrypt jest aktualnie aktywny: " #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "Dodawanie lub usuwanie skryptów" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "Skonfigurować złącze LDAP dla Cytadeli" #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" "UWAGA: Ten serwer Citadel zostaÅ‚a zbudowana bez wsparcia LDAP. Opcje te nie " "majÄ… żadnego wpÅ‚ywu." #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "Nazwa hosta LDAP server (puste, aby wyłączyć)" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "Numer portu LDAP server (puste, aby wyłączyć)" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "Podstawowa domena" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "PowiÄ…zana DN" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "HasÅ‚o dla bind DN" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "Edytować lub usunąć ten pokój" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "Idź do 'ukrytego' pokoju" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 msgid "Zap (forget) this room" msgstr "Zapomnij ten pokój" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "Listuj wszystkie zapomniane pokoje" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 #, fuzzy msgid "Zap duplicate messages" msgstr "Przeczytaj nowe wiadomoÅ›ci" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "ID wiadomoÅ›ci" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "Data/czas wysÅ‚ania" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 msgid "Next attempt" msgstr "NastÄ™pna próba" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "Adresaci" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "Czytanie #" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "od najstarszych do najnowszych" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "od najnowszych do najstarszych" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "" "Poczekaj użytkownicy sÄ… informowani że serwer zostanie uruchomiony " "ponownie ... " #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "Edycaj" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "Odpowiedź" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "Odpowiedz z cytatem" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "Odpowiedz wszystkim" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "Przekaż" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "Nagłówki" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "Edycja konfiguracji systemu" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "Nazwy domen i konfiguracja poczty internetowej" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "Konfiguracja replikacji z innymi serwerami wÄ™zÅ‚ami Citadel" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 #, fuzzy msgid "Powered by Citadel" msgstr "WyÅ›wietl ikone 'Powered by Citadel'" #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "JÄ™zyk:" #: ../../i18n_templatelist.c:507 #, fuzzy msgid "Go to your email inbox" msgstr "Skrót do skrzynki odbiorczej poczty e-mail" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "Poczta" #: ../../i18n_templatelist.c:509 #, fuzzy msgid "Go to your personal calendar" msgstr "Skrót do kalendarza osobistego" #: ../../i18n_templatelist.c:511 #, fuzzy msgid "Go to your personal address book" msgstr "Twoja osobista książka adresowa" #: ../../i18n_templatelist.c:513 #, fuzzy msgid "Go to your personal notes" msgstr "Twoje osobiste notatki" #: ../../i18n_templatelist.c:515 #, fuzzy msgid "Go to your personal task list" msgstr "Skrót do osobistej listy zadaÅ„" #: ../../i18n_templatelist.c:517 #, fuzzy msgid "List all your accessible rooms" msgstr "Listuj wszystkie zapomniane pokoje" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "Użytkownicy online" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "Zaawansowane" #: ../../i18n_templatelist.c:526 #, fuzzy msgid "Room and system administration functions" msgstr "Administrator systemu:" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "dostosuj to menu" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "Zaloguj" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "przejść do listy pokojowej" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "przejść do menu" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "Moje foldery" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "IMAP listener port (-1 aby włączyć)" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "IMAP over SSL port (-1 aby włączyć)" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "Zachowaj oryginaÅ‚ z nagłówków w IMAP" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "PrzeÅ›lij zdjÄ™cie" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "Możesz przesÅ‚ać zdjÄ™cie bezpoÅ›rednio z komputera" #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "Wybierz plik do wysÅ‚ania:" #: ../../i18n_templatelist.c:545 #, fuzzy msgid "Reset form" msgstr "Strawny format" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "Lista subskrypcji" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "List" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "Żądanie potwierdzenia wysÅ‚any" #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "JesteÅ› zapisany " #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 msgid " to the " msgstr " do " #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 msgid " mailing list." msgstr " listy dyskusyjnej." #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" "List serwerowi wysÅ‚aÅ‚ Ci wiadomość e-mail z linkiem łącza internetowego, aby " "kliknąć, aby potwierdzić subskrypcjÄ™." #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" "Ten dodatkowy krok jest dla ochrony, ponieważ zapobiega innym zapisać siÄ™ do " "listy bez twojej zgody." #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" "PoszÄ™ kliknąć na link, który jest w e-mail, aby zostaÅ‚a potwierdzona " "subskrybcja." #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "Wróc ..." #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 msgid "ERROR" msgstr "BÅÄ„D" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "WypisaÅ‚eÅ› sie" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 msgid "from the" msgstr "od" #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 msgid "mailing list." msgstr "listy dyskusyjnej." #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" "Listserwerowi wysÅ‚aÅ‚ Ci wiadomość e-mail z linkiem do strony internetowego, " "aby kliknąć, aby potwierdzić anulowanie subskrypcji." #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" "Ten dodatkowy krok jest dla ochrony, ponieważ zapobiega aby inni nie mogli " "zrezygnować z wypisania sie z listy bez twojej zgody." #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" "ProszÄ™ kliknąć na link, który jest w e-mail aby wypisanie zostaÅ‚o " "potwierdzone." #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 msgid "Back..." msgstr "Wróć ..." #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 msgid "Confirmation successful!" msgstr "Potwierdzenie sukces!" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 msgid "Confirmation failed." msgstr "Potwierdzenie nie powiodÅ‚o siÄ™." #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "Może to oznaczać jednÄ… z dwóch rzeczy:" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" "CzekaÅ‚eÅ› zbyt dÅ‚ugo, aby potwierdzić subskrypcjÄ™ /wypisanie (Link " "potwierdzajÄ…cy jest ważny tylko przez trzy dni)" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" "Masz już z powodzeniem potwierdzenie subskrypcji / wypisania i " "starasz siÄ™ zrobić to ponownie." #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "Błąd zwracany przez serwer byÅ‚: " #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 msgid "Name of list:" msgstr "Nazwa listy:" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 msgid "Your e-mail address:" msgstr "Twój adres email:" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "(JeÅ›li subskrypcjia) preferowany format: " #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 msgid "One message at a time" msgstr "Jedna wiadomość na raz" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 msgid "Digest format" msgstr "Strawny format" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" "Podczas próby zapisać lub wypisać siÄ™ z listy mailingowej, otrzymasz " "wiadomość e-mail zawierajÄ…cÄ… Link do strony internetowej kliknij na " "ostateczne potwierdzenie." #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" "Ten dodatkowy krok jest dla ochrony, ponieważ zapobiega prze próbami przez " "innych zapisać lub wypisać ciebie z list." #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 msgid "name of room: " msgstr "nazwa pokoju: " #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "JeÅ›li prywatny, to obecni użytkownicy zapomnÄ… ten pokój" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "Preferowani użytkownicy tylko" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "Pokój tylko do odczytu" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "Wszyscy użytkownicy mogÄ… dodawać, mogÄ… usuwać wiadomoÅ›ci" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "Pokój katalog plików" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "Nazwa katalogu: " #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "PrzesyÅ‚anie dozwolone" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "Pobieranie dozwolone" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "Katalog widoczny" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 msgid "Network shared room" msgstr "Sieciowo wspólny pokój" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "StaÅ‚e (nie ma auto-czystki)" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "Temat Wymagany (WymuÅ› okreÅ›lić temat wiadomoÅ›ci)" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "Anonimowe wiadomoÅ›ci" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "Brak anonimowych wiadomoÅ›ci" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "Wszystkie wiadomoÅ›ci sÄ… anonimowi" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "Pytaj użytkownika podczas wprowadzania wiadomoÅ›ci" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 msgid "Room aide: " msgstr "Adiutant pokoju: " #: ../../i18n_templatelist.c:611 #, fuzzy msgid "Delete this entry?" msgstr "UsuÅ„ ten pokój" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "Nie współdzielony z" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "Współdzielony z" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 msgid "Remote node name" msgstr "Nazwa wÄ™zÅ‚a" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 msgid "Remote room name" msgstr "Nazwa pokoju wÄ™zÅ‚a" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "DziaÅ‚ania" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 #, fuzzy msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" "JeÅ›li pokój jest współdzielony musi być współdzielony z obu stron. Dodawanie " "wÄ™zÅ‚a do listy \"UdostÄ™pnione\" wysyÅ‚a wiadomoÅ›ci, ale w celu uzyskania " "wiadomoÅ›ci, inne wÄ™zÅ‚y muszÄ… być skonfigurowane do wysyÅ‚ania wiadomoÅ›ci w " "systemie.
  • JeÅ›li nazwa zdalnego pokój jest pusta, to przyjmuje siÄ™, że " "pokój ma identyczna nazwa na zdalnym wÄ™zle.
  • JeÅ›li nazwa zdalnego pokój " "jest inna, zdalny wÄ™zeÅ‚ musi również skonfigurować nazwÄ™ pokoju." #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 #, fuzzy msgid "resend messages to this node" msgstr "Zachować wiadomoÅ›ci na serwerze?" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "Dodaj/zmieÅ„/usuÅ„ piÄ™tra" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "Numer piÄ™tra" #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "Nazwa piÄ™tra" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "Liczba pokoi" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "CSS piÄ™tra" #: ../../i18n_templatelist.c:633 #, fuzzy msgid "Create new floor" msgstr "Utwórz nowy pokój" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "" #: ../../i18n_templatelist.c:636 #, fuzzy msgid "Delete rule" msgstr "UsuÅ„" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "JeÅ›li" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "Do lub CC" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "Reply-to" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "Resent-From" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "Resent-To" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "Envelope From" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "Envelope To" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "X-Mailer" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "X-Spam-Flag" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "X-Spam-Status" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "List-ID" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "WielkoÅ›c wiadomoÅ›ci" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "Wszystko" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "zawiera" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "nie zawiera" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "jest" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "nie jest" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "pasuje do" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "nie pasuje do" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "(Wszystkie wiadomoÅ›ci)" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "wiÄ™ksze niż" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "mniejsze niż" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 msgid "bytes" msgstr "bajtów" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "Zachowaj" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "Wyrzucić po cichu" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "Odrzucić" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "PrzenieÅ› wiadomość do" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "Przekaż do" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "Urlop" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "Wiadomość:" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "i wtedy" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "kontynuj przetwarzanie" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "zatrzymaj" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "(Domeny, dla których ten host odbiera pocztÄ™)" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "Konfiguracja sieciowa" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "Obecnie skonfigurowane wÄ™zÅ‚y" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "(usuÅ„ piÄ™tro)" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "(edycja grafiki)" #: ../../i18n_templatelist.c:679 #, fuzzy msgid "Change name" msgstr "ZmieÅ„ nazÄ™ pokoju" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 msgid "Configure automatic expiry of old messages" msgstr "Skonfigurować automatyczne wygaÅ›niÄ™cie starych wiadomoÅ›ci" #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "" "Te ustawienia mogÄ… być nadpisane na lub poszczególnych piÄ™ter lub " "pojedynczego pokoju." #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "Godzin do uruchomienia bazy danych auto-oczyszczajÄ…cych" #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 msgid "Default message expire policy for public rooms" msgstr "DomyÅ›lna polityka wygasania wiadomość dal publicznych pokoi" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 msgid "Default message expire policy for private mailboxes" msgstr "" "DomyÅ›lna polityka wygasania wiadomość w prywatnych skrzynekach pocztowych" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 msgid "Same policy as public rooms" msgstr "Taka sama polityka jak w pokojach publicznych" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "DomyÅ›lna czas sprzÄ…tanie użytkownika (liczba dni)" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "DomyÅ›lny czas sprzÄ…tania pokoi (liczba dni)" #: ../../i18n_templatelist.c:700 #, fuzzy msgid "Are you sure you want to delete this room?" msgstr "Czy na pewno chcesz usunąć " #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "UsuÅ„ ten pokój" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 msgid "Set or change the icon for this rooms banner" msgstr "Ustawić lub zmienić ikonÄ™ dla tego pokoje baner" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 msgid "Edit this rooms Info file" msgstr "Edycja informacji o pokoju" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "Wpisz polecenie serwera" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" "Ekran ten pozwala na wprowadzanie poleceÅ„ Citadel serwera, które nie sÄ… " "obsÅ‚ugiwane przez WebCit. JeÅ›li nie wiesz, co to oznacza, to ekran nie " "bÄ™dzie zbyt użyteczna dla Ciebie." #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "Wpisz polecenie:" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "Wprowadzenie komendy (jeżeli żądanie tryb transferu SEND_LISTING):" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 msgid "Detected host header is " msgstr "Wykryty nagłówek hosta " #: ../../i18n_templatelist.c:709 #, fuzzy msgid "Send command" msgstr "Wpisz polecenie:" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "(hosts z Realtime Blackhole Listy)" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "Kontrola dostÄ™pu i ustawienia zasad serwisu" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "Umożliwiaj adiuktowi zapomnieć pokoje" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "Kwarantanny wiadomoÅ›ci od użytkowników problemowych" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "Nazwa miejsca kwarantanny" #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 msgid "Name of room to log pages" msgstr "Nazwa pokoju do strony logowania" #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 msgid "Authentication mode" msgstr "Tryb uwierzytelniania" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 msgid "Self contained" msgstr "Autonomiczny" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 msgid "Host based" msgstr "Host based" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "LDAP (RFC2307)" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "LDAP (Active Directory)" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 msgid "Allow anonymous guest access" msgstr "UmożliwiajÄ… anonimowy użytkownikom dostÄ™p" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 msgid "Master user name (blank to disable)" msgstr "Nazwa użytkownika Mistrz (puste, aby wyłączyć)" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 msgid "Master user password" msgstr "HasÅ‚o użytkownika Mistrz" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 msgid "Initial access level for new users" msgstr "PoczÄ…tkowy poziom dostÄ™pu dla nowych użytkowników" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "Poziom dostÄ™pu wymagane do utworzenia pokoje" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "" "Automatycznie przyznania statusu pokój-doradca dla użytkowników, którzy " "tworzÄ… prywatne pokoje" #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "" "Automatycznie przyznania statusu pokój-doradca dla użytkowników, którzy " "tworzÄ… pokoje BLOG" #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "Ograniczanie dostÄ™pu do poczty internetowej" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "Wyłączenia tworzenia konta użytkownika samoobsÅ‚ugowo" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "Wskazówka: nie należy wybierać obu opcji!" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "Wymaga rejestracji dla nowych użytkowników" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 msgid "Add, change, or delete floors" msgstr "Dodaj, zmieÅ„, lub usuÅ„ piÄ™tra" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "WyÅ›wietl jako:" #: ../../i18n_templatelist.c:753 #, fuzzy msgid "Delete this note?" msgstr "UsuÅ„ ten pokój" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 msgid "Logged in as" msgstr "Zalogowany jako" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 msgid "Not logged in." msgstr "Nie jesteÅ› zalogowany" #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "Musisz siÄ™ zalogować, aby uzyskać dostÄ™p do tej strony." #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "Zaloguj siÄ™ przy użyciu
    nazwy użytkownika i hasła" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "Hasło" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "Nowy użytkownik? Zarejestruj się" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "" "Wprowadź login i hasło, którego chcesz używać, a następnie kliknij przycisk " ""Nowy użytkownik" " #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "Zaloguj się używając OpenID" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "OpenID URL:" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 msgid "Log in using Google" msgstr "Zaloguj się za pomocą Google" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 msgid "Log in using Yahoo" msgstr "Zaloguj się za pomocą Yahoo" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 msgid "Log in using AOL or AIM" msgstr "Zaloguj się za pomocą AOL lub AIM" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "Wpisz swój AOL lub Nazwe użytkownika AIM:" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "Proszę czekać" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "Dodaj nowy skrypt" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" "Aby utworzyć nowy skrypt, wprowadź żądaną nazwę skryptu w polu poniżej i " "kliknij przycisk \"Utwórz\"." #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "Nazwa skryptu: " #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "Edytuj skrypty" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "Powrócić do ekranu edycji skrypt" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "Usuń skryptów" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "" "Aby usunąć istniejący skrypt, wybierz nazwę skryptu z listy i kliknij \"Usuń" "\"." #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 msgid "Restart Now" msgstr "Uruchom ponownie Citadel" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "Restart po poinformowaniu użytkowników" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "Uruchom ponownie, gdy wszyscy użytkownicy nic nie robią w Citadel" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 msgid "Configure Push Email" msgstr "Konfuguracja Push Email" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "Push email i SMS ustawienia" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" "Jeśli administrator włączył funkcję, Citadel może powiadomić serwer Funambol " "że otrzymałeś nowy e-mail i automatycznie synchronizować wszystkie " "urządzenia z klientem Funambol zainstalowany." #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" "Ewentualnie, jeśli administrator skonfigurował go, Cytadela może wysłać " "wiadomość tekstową do Ciebie po nadejściu nowej poczty." #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 msgid "Notify Funambol server" msgstr "Zawiadamiać Funambol server" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 msgid "Send a text message to..." msgstr "Wysłać wiadomość tekstową do ..." #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "(Użyj formatu międzynarodowego, bez zer wiodących np +61415011501)" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "" "Użyj niestandardowego systemu powiadamiania skonfigurowanego przez " "administratora" #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "Nie wysyłaj żadnych powiadomień" #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "powered by" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "SMTP MTA port (-1 aby włączyć)" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "SMTP MSA port (-1 aby wyłączyć)" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "SMTP over SSL port (-1 aby włączyć)" #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "Przeprowadzenie kontroli RBL zamiast po RCPT" #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "Zaznacz jako spam wiadomość, zamiast odrzucenia" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "Allow unauthenticated SMTP clients to spoof this sites domains" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "Skryguj podrobione linie Od: podczas uwierzytelniania protokołu SMTP" #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "Postfix TCP Dictionary Port" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "-1 to disable" msgstr "-1 aby wyłączyć" #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 msgid "ManageSieve Port (-1 to disable)" msgstr "ManageSieve Port (-1 aby włączyć)" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "Konfiguracja strony" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 msgid "General" msgstr "Ogólnie" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 #, fuzzy msgid "Settings" msgstr "Ustawienia ikon" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "Pop3" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "Indeksowanie / księgowanie" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 msgid "Access" msgstr "Dostęp" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 msgid "Directory" msgstr "Katalog" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "Automatyczne czyszczenie" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" "Zawartość tego pokoju zostanie wysłana jako indywidualne listy " "do następujących odbiorców:

    " #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" "Zawartość tego pokoju zostanie wysłana jako strezczenia w liscie " "do następujących odbiorców

    " #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 #, fuzzy msgid "List" msgstr "List-ID" #: ../../i18n_templatelist.c:847 #, fuzzy msgid "Digest" msgstr "Strawny format" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "Dodaj odbiorców z listy kontaktów lub innych książek adresowych" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "Pozwól nie abonentom wysyÅ‚ać mail do tego pokoju." #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "Publikacja po tego pokoju musisz mieć pozwolenie Admin'a." #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 msgid "Allow self-service subscribe/unsubscribe requests." msgstr "Pozwól na samoobsÅ‚ugÄ™ wniosków o zapisanie/ wypisanie." #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "URL do zapisania / wypisania siÄ™ jest: " #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 #, fuzzy msgid "Set" msgstr "Temat" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 msgid "Summary page for " msgstr "Zestawienie dla " #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "WiadomoÅ›ci" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "DziÅ› w twoim kalendarzu" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 msgid "Who‘s online now" msgstr "Kto jest online" #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "O tym serwerze" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "JesteÅ› połączony" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 msgid "running" msgstr "uruchomiona" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 msgid "with" msgstr "z" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "wersja servera" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 msgid "and located in" msgstr "mieszczÄ…cym siÄ™ w" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 msgid "Your system administrator is" msgstr "Administrator systemu:" #: ../../i18n_templatelist.c:874 #, fuzzy msgid "Do you really want to kill this session?" msgstr "Czy na pewno chcesz usunąć OpenID?" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "Użytkownicy obecnie na " #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 msgid "Click on a name to read user info. Click on" msgstr "" "Kliknij na nazwe użykownika, aby zobaczyć informacje o użytkowniku. kliknij" #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 msgid "to send an instant message to that user." msgstr "aby wysÅ‚ać wiadomość bÅ‚yskawicznÄ… do tego użytkownika." #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "Stare wiadomoÅ›ci" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "Nowe wiadomoÅ›ci" #: ../../i18n_templatelist.c:880 #, fuzzy msgid "Share" msgstr "Współdzielenie" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "(Domeny w które użytkownicy mogÄ… maskować)" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "Wprowadź nowe hasÅ‚o:" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "Wprowadź je ponownie, aby potwierdzić:" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "ZmieÅ„ hasÅ‚o" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "Edytuj wyÅ›wietlanie Twojej sesji" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" "Ekran ten pozwala zmienić sposób w jaki sesja pojawi siÄ™ szczególy w \"Kto " "jest online\"\". Aby wyłączyć wszelkie \"faÅ‚szywe\" nazwy już wczeÅ›niej " "ustawione, wystarczy kliknąć odpowiedni przycisk \"zmiany\" bez wpisywania w " "odpowiednim polu. " #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "Nazwa pokoju:" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "ZmieÅ„ nazÄ™ pokoju" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "Nazwa komputera:" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "ZmieÅ„ nazwe komputera" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "ZmieÅ„ nazwÄ™ użytkownika" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "Historia zmian dla tej strony" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "Potwierdzić przeniesienie wiadomoÅ›ci" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "Przenieść tÄ™ wiadomość:" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "Oryginalnie pisaÅ‚ w: " #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "Lista znanych pokoi" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "Gdzie dalej?" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "Idź do nastÄ™pnego pokoju" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 msgid "...with unread messages" msgstr "...z nieprzeczytanymi wiadomoÅ›ciami" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "Przejdź do nastÄ™pnego pkoju" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "(wrócić tu później)" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "Wróć" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 msgid "oops! Back to " msgstr "Ups! Powrót do " #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "Przeczytaj nowe wiadomoÅ›ci" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "... w tym pokoju" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "Czytaj wszystkie wiadomoÅ›ci" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "...stare i nowe" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "Wprowadź wiadmomość" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "(odpowiedzieć w tym pokoju)" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "Biblioteka plików" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "(Lista plików dostÄ™pnych do pobrania)" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 msgid "Summary page" msgstr "Strona z zestawieniem" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "Podsumowanie mojego konta" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "Lista użytkowników" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 msgid "(all registered users)" msgstr "(wszyscy zarejstrowani użytkownicy)" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "Do zobaczenia!" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "" "(jeÅ›li wystÄ™puje, przekÄ…z wszystkie wychodzÄ…ce e-mail do jednego z tych " "hostów)" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "Zobacz kontakty" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "Dodaj nowy kontakt" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "Widok dnia" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "Widok miesiÄ…ca" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "Dodaj nowe wydarzenie" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "Lista kalendarza" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "WyÅ›wietlanie zadaÅ„" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "Dodaj nowe zadanie" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "WyÅ›wietlanie notatek" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "Dodaj nowÄ… notatkÄ™" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "OdÅ›wież listÄ™ wiadomoÅ›ci" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "Napisz list" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "Strona domowa Wiki" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "Edytuj tÄ™ stronÄ™" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "Historia" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 msgid "New blog post" msgstr "Nowy wpis na blogu" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "PomiÅ„ ten pokój" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 #, fuzzy msgid "Save changes?" msgstr "Zapisz zmiany" #~ msgid "" #~ "You are subscribing %s to the %s mailing list. The " #~ "listserver has sent you an e-mail with one additional Web link for you to " #~ "click on to confirm your subscription. This extra step is for your " #~ "protection, as it prevents others from being able to subscribe you to " #~ "lists without your consent.

    Please click on the link which is " #~ "being e-mailed to you and your subscription will be confirmed.
    \n" #~ msgstr "" #~ "Zapisałeś się %s do %s listy dyskusyjnej. List serwer " #~ "wysłał Ci wiadomość e-mail z linkiem do strony www, aby kliknąć, aby " #~ "potwierdzić subskrypcję. Ten dodatkowy krok jest dla ochrony, ponieważ " #~ "zapobiega innym zapisać się do listy bez twojej zgody.

    Proszę " #~ "kliknąć na link, który dostaniesz via e-mail, Twoja subskrypcja zostanie " #~ "potwierdzona.
    \n" #~ msgid "" #~ "WARNING: Failed to parse Server Config; do you run a to new citserver?" #~ msgstr "" #~ "UWAGA: Nie można przetworzyć Server Config, czy uruchomić nowy citserve?" #~ msgid "There is no room called '%s'." #~ msgstr "Nie ma pokoju o nazwie '%s'." #~ msgid "Network" #~ msgstr "Sieć" #~ msgid "Tuning" #~ msgstr "Dostrajanie" #~ msgid "Instantly expunge deleted messages in IMAP" #~ msgstr "Natychmiast usuwaj skasowane wiadomości z IMAP" webcit-9.01-dfsg/po/webcit/pt_BR.po000066400000000000000000005006231254743150300171140ustar00rootroot00000000000000# translation of webcit.po to pt_BR.po # Copyright (C) 2008 - 2009 The Citadel Project - http://www.citadel.org # Marco Goncalves , 2008. # # Brazilian / Portuguese tranlation # Copyright (C) 2005 - 2009 By Marco Goncalves # This file is distributed under the revised BSD license # # msgid "" msgstr "" "Project-Id-Version: WebCit\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2010-11-25 13:41+0000\n" "Last-Translator: Alessandro Cesar \n" "Language-Team: \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-11-26 04:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "disponibilidade desconhecida" #: ../../availability.c:169 msgid "free" msgstr "disponível" #: ../../availability.c:179 msgid "BUSY" msgstr "OCUPADO" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "Upload de gráficos foi cancelado." #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "Você não fez upload do arquivo." #: ../../graphics.c:106 msgid "your photo" msgstr "sua foto" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "o ícone para essa sala" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "a figura de boas vindas para esse prompt de login" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "a figura para o banner de logoff" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "o ícone para esse andar" #: ../../tasks.c:93 msgid "Completed?" msgstr "Concluído?" #: ../../tasks.c:95 msgid "Name of task" msgstr "Nome da tarefa" #: ../../tasks.c:97 msgid "Date due" msgstr "Data de vencimento" #: ../../tasks.c:99 msgid "Category" msgstr "Categoria" #: ../../tasks.c:101 msgid "Show All" msgstr "Exibir Todos(as)" #: ../../tasks.c:224 msgid "Edit task" msgstr "Editar tarefa" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "Resumo:" #: ../../tasks.c:259 msgid "Start date:" msgstr "Data de início:" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "Sem data" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "ou" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "Tempo associado" #: ../../tasks.c:289 msgid "Due date:" msgstr "Vencimento:" #: ../../tasks.c:318 msgid "Completed:" msgstr "Concluído:" #: ../../tasks.c:329 msgid "Category:" msgstr "Categoria:" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "Descrição:" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "Salvar" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "Excluir" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "Cancelar" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "Tarefa Anonima" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, c-format msgid "%d comments" msgstr "%d comentários" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "posts recentes" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "posts mais antigos" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "Editar %s" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" "Digite %s abaixo. O texto é formatado com o browser do leitor. Uma nova " "linha é forçada precedendo a nova linha por uma em branco." #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "Salvar modificações" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "Cancelado. %s não foi salvo" #: ../../sysmsgs.c:103 #, fuzzy msgid " has been saved." msgstr "%s foi salvo." #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "Informações da sala" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "Sua bio" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "Hora: " #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "Minuto: " #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "(estado desconhecido)" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "(necessita ação)" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "(aceito)" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "(rejeitado)" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "(temporário)" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "(delegado)" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "(completado)" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "(em processo)" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "(nenhum)" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "Gerenciar Contas/Associação com OpenID" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "Você realmente quer excluir este OpenID?" #: ../../openid.c:47 msgid "(delete)" msgstr "(excluir)" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "Adicionar um OpenID " #: ../../openid.c:58 msgid "Attach" msgstr "Anexar" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "%s não é permitido autenticação via OpenID" #: ../../summary.c:128 msgid "(None)" msgstr "(Nenhum)" #: ../../summary.c:184 msgid "(Nothing)" msgstr "(Nada)" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "Ir para a página: " #: ../../bbsview_renderer.c:354 msgid "First" msgstr "Primeiro" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "Último" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "Erro de realloc()! não foi possível obter %d bytes: %s" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "Excluído" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "Novo Usuário" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "Usuário problemático" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "Usuário local" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "Usuário remoto" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "Usuário preferencial" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "Admin" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "Ocorreu um Erro." #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "Validar novos usuários" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "Sem usuários para validar no momento" #: ../../auth.c:617 msgid "very weak" msgstr "muito fraco" #: ../../auth.c:620 msgid "weak" msgstr "fraco" #: ../../auth.c:623 msgid "ok" msgstr "bom" #: ../../auth.c:627 msgid "strong" msgstr "forte" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "Nível de acesso atual: %d (%s)\n" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "Selecione o nível de acesso para esse usuário:" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "Cancelado. A senha não foi modificada." #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "Eles não batem. Senha não foi modificada." #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "Senhas em branco não são permitidas." #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "Convite para reunião" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "Reposta do convite do participante" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "Evento publicado" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "Esse é um tipo desconhecido de item de calendário" #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "Localização" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "Data:" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "Dia/hora de início:" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "Dia/hora de término:" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "Recorrências" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "Esse é um evento recorrente" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "Participante:" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "Essa é uma atualização de '%s' que já está no seu calendário." #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "" "Esse evento entrará em conflito com '%s' que já está no seu calendário." #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "Atualização:" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "CONFLITO:" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "Como gostaria de responder a esse convite?" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "Aceitar" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "Incerto" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "Rejeitar" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "" "Clique em Atualizar para aceitar essa resposta e atualizar seu " "calendário." #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "Atualizar" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "Ignorar" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "Ocorreu um erro ao processar esse item de calendário" #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "" "Você aceitou esse convite para reunião. Esta foi inclusa no seu calendário." #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "" "Você aceitou temporariamente esse convite para reunião. Esta foi 'rabiscada' " "no seu calendário." #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "" "Você rejeitou esse convite para reunião. Esta não foi inclusa no seu " "calendário." #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "Uma resposta foi enviada para o organizador da reunião" #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "Seu calendário foi atualizado para refletir esse RSVP." #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "" "Você escolheu ignorar esse RSVP. Seu calendário não foi atualizado." #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "Dia da visualização do calendário começa em:" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "Dia da visualização do calendário termina em:" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "Semana começa em:" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "Ocorreu um erro ao obter esse arquivo: %s\n" #: ../../event.c:71 msgid "seconds" msgstr "segundos" #: ../../event.c:72 msgid "minutes" msgstr "minutos" #: ../../event.c:73 msgid "hours" msgstr "horas" #: ../../event.c:74 msgid "days" msgstr "dias" #: ../../event.c:75 msgid "weeks" msgstr "semanas" #: ../../event.c:76 msgid "months" msgstr "meses" #: ../../event.c:77 msgid "years" msgstr "anos" #: ../../event.c:78 msgid "never" msgstr "nunca" #: ../../event.c:82 msgid "first" msgstr "primeiro" #: ../../event.c:83 msgid "second" msgstr "segundo" #: ../../event.c:84 msgid "third" msgstr "terceiro" #: ../../event.c:85 msgid "fourth" msgstr "quarto" #: ../../event.c:86 msgid "fifth" msgstr "quinto" #: ../../event.c:89 msgid "Event" msgstr "Evento" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "Participantes" #: ../../event.c:168 msgid "Add or edit an event" msgstr "Adicionar ou editar um evento" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "Resumo" #: ../../event.c:222 msgid "Location" msgstr "Local" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "Início" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "Evento ocupando todo o dia" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "Fim" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "Notas" #: ../../event.c:374 msgid "Organizer" msgstr "Organizador" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "(você é o organizador)" #: ../../event.c:397 msgid "Show time as:" msgstr "Mostrar hora como:" #: ../../event.c:420 msgid "Free" msgstr "Livre" #: ../../event.c:428 msgid "Busy" msgstr "Ocupado" #: ../../event.c:445 msgid "(One per line)" msgstr "(Um por linha)" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "Contatos" #: ../../event.c:518 msgid "Recurrence rule" msgstr "Regra de recorrência" #: ../../event.c:522 msgid "Repeats every" msgstr "Repete a cada" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "Nestes dias da semana" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "nos dias %s%d%s do mês" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "em " #: ../../event.c:631 msgid "of the month" msgstr "do mês" #: ../../event.c:660 msgid "every " msgstr "a cada " #: ../../event.c:661 msgid "year on this date" msgstr "ano desta data" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "de" #: ../../event.c:717 msgid "Recurrence range" msgstr "Intervalo de recorrência" #: ../../event.c:725 msgid "No ending date" msgstr "Nenhuma data de término" #: ../../event.c:732 msgid "Repeat this event" msgstr "Repetir este evento" #: ../../event.c:735 msgid "times" msgstr "vezes" #: ../../event.c:743 msgid "Repeat this event until " msgstr "Repetir este evento até " #: ../../event.c:771 msgid "Check attendee availability" msgstr "Checar disponibilidade do participante" #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "Evento sem título" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "Configuração da barra de ícones" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "Parâmetro inválido" #: ../../inetconf.c:126 #, fuzzy msgid " has been deleted." msgstr "%s foi excluído." #. added status message #: ../../inetconf.c:144 #, fuzzy msgid " added." msgstr "adicionada" #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "Requer-se acesso privilegiado para acessar essa função." #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "" #: ../../listsub.c:38 ../../listsub.c:76 #, fuzzy msgid "You need to specify the email address you'd like to subscribe with." msgstr "Por favor especifique o nome do usuário que você gostaria de usar." #: ../../messages.c:73 msgid "ERROR:" msgstr "ERRO:" #: ../../messages.c:91 msgid "Empty message" msgstr "Mensagem vazia" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "Cancelado. A mensagem não foi fixada." #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "Cancelado automaticamente porque você já salvou essa mensagem." #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "Gravação para rascunhos falhou: " #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "Recusando enviar mensagem vazia\n" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "A mensagem foi salva em rascunhos\n" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "A mensagem foi enviada.\n" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "Mensagem foi fixada.\n" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "A mensagem não foi movida." #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "Um erro ocorreu ao obter essa parte: %s/%s\n" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "Um erro ocorreu ao obter essa parte: %s\n" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "Anexar assinatura em mensagens de email?" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "Usar essa assinatura:" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "Codificação padrão para cabeçalhos de email:" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "Endereço de e-mail preferencial" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "Nome de exibição para mensagens de e-mail preferencial" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "Nome de exibição para mensagens de bulletin board preferencial" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "Modo de visualização da Caixa de Mensagens" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "Clique em uma nota para editá-la." #: ../../paging.c:29 msgid "Send instant message" msgstr "Mandar mensagem instantânea" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "Mandar mensagem instantânea para: " #: ../../paging.c:51 msgid "Enter message text:" msgstr "Entrar mensagem de texto:" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "Enviar mensagem" #: ../../paging.c:78 msgid "Message was not sent." msgstr "Mensagem não foi enviada." #: ../../paging.c:89 msgid "Message has been sent to " msgstr "Mensagem foi enviada para " #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "Cancelado. Nenhuma configuração foi modificada." #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "Fazer dessa página minha inicial" #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "Isto não é permitido como página inicial" #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "Você não tem mais uma página inicial selecionada." #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "Página Inicial preferencial" #: ../../roomlist.c:105 msgid "My Folders" msgstr "Minhas Pastas" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "Cancelado. Modificações não foram salvas." #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "Suas modificações foram salvas" #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "Usuário %s foi chutado da sala %s." #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "Usuário %s foi convidado para a sala %s." #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "Cancelado. Nenhuma sala foi criada." #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "Andar foi excluído." #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "Um novo andar foi criado." #: ../../roomops.c:1363 msgid "Room list view" msgstr "Visualização lista de salas" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "Exibir andares vazios" #: ../../roomtokens.c:570 msgid "file" msgstr "arquivo" #: ../../roomtokens.c:572 msgid "files" msgstr "arquivos" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "Quadro de Mensagens" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "Pasta para Correio" #: ../../roomviews.c:55 msgid "Address Book" msgstr "Caderno de Endereços" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "Calendário" #: ../../roomviews.c:57 msgid "Task List" msgstr "Lista de Tarefas" #: ../../roomviews.c:58 msgid "Notes List" msgstr "Lista de Notas" #: ../../roomviews.c:59 msgid "Wiki" msgstr "Wiki" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "Lista de Calendários" #: ../../roomviews.c:61 msgid "Journal" msgstr "Diário" #: ../../roomviews.c:62 #, fuzzy msgid "Drafts" msgstr "Data" #: ../../roomviews.c:63 msgid "Blog" msgstr "Blog" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" "Este servidor já atingiu o número máximo de usuários permitidos e não pode " "aceitar nenhum login adicional neste momento. Por favor tente novamente mais " "tarde ou contate seu administrador de sistemas." #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "Recebida uma resposta não esperada do servidor Citadel; Salvando." #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" "Você está conectado à um servidor Citadel rodando Citadel %d.%02d. \n" "Para rodar essa versão do WebCit você também deve ter o Citadel %d.%02d ou " "mais novo.\n" "\n" "\n" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "Sua configuração do sistema foi atualizada." #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "" "Um erro ocorreu na criação ou edição desta entrada no caderno de endereços." #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "Modificações não foram salvas." #: ../../useredit.c:778 msgid "A new user has been created." msgstr "Um novo usuário foi criado." #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" "Você está tentando criar um novo usuário no Citadel enquanto no modo de " "autenticação baseado em host. Nesse modo, você deve criar novos usuários no " "sistema hospedeiro, não dentro do Citadel." #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "(sem nome)" #: ../../vcard_edit.c:438 msgid " (work)" msgstr " (trabalho)" #: ../../vcard_edit.c:440 msgid " (home)" msgstr " Página Inicial" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr " (celular)" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "Endereço:" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "Telefone:" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "E-mail:" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "Esse caderno de endereços está vazio." #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "Um erro interno ocorreu." #: ../../vcard_edit.c:940 msgid "Error" msgstr "Erro" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "Editar informação do contato" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "Prefixo" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "Primeiro" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "Meio" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "Último" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "Sufixo" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "Nome para visualização:" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "Título:" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "Organização:" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "Caixa postal:" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "Cidade:" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "Estado:" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "CEP" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "País:" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "Telefone de casa:" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "Telefone de trabalho:" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "Celular" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "Número de fax:" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "Endereço de e-mail primário" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "Nomes alternativos para e-mail de Internet" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "Impossibilidado de entrar na sala para salvar sua mensagem" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "Abortando." #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "Não foi possível visualizar a foto do vcard\n" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "Autorização Requerida" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" "O recurso que você pediu requer um nome de usuário e senha válidos. Você " "pode não estar logado: %s\n" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" "Esse programa foi incapaz de conectar ou manter conexão com o servidor " "Citadel. Se possível, reporte esse problema para seu administrador de " "sistema." #: ../../webcit.c:688 msgid "Read More..." msgstr "Continuar..." #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "'%s' não é uma sala Wiki." #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "Não há página de nome '%s' aqui." #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "" "Selecione o link 'Editar essa página' no banner da sala se você quiser criar " "essa página." #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "Data" #: ../../wiki.c:143 msgid "Author" msgstr "Autor" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "(exibir)" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "Versão atual" #: ../../wiki.c:184 msgid "(revert)" msgstr "(voltar)" #: ../../wiki.c:246 msgid "Page title" msgstr "Título da página" #: ../../fmt_date.c:306 msgid "Time format" msgstr "Formato de hora" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "A partir de" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "Data Inicial" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "Data Final" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "Data/Hora" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "Notas:" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "anterior" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "próximo" #: ../../calendar_view.c:750 msgid "Week" msgstr "Semana" #: ../../calendar_view.c:752 msgid "Hours" msgstr "Horas" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "Assunto" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "Evento em curso" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "editar" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "Eu não sei como exibir " #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "(sem assunto)" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "A fila está vazia." #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "Você não tem permissão para visualizar esse recurso." #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "Personalizar a barra de ícones" #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "Exibir ícones como:" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "imagens e texto" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "apenas imagens" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "apenas texto" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "" "Selecione os ícones que deseja ver no menu 'barra de ícones' no lado " "esquerdo da tela" #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "Sim" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "Não" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "Logotipo do site" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "Um ícone descrevendo esse site" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "Sua página de resumo" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "Correio (caixa de entrada)" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "Um atalho para sua caixa de entrada" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "Seu caderno de endereços pessoal" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "Suas notas pessoais" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "Um atalho para seu calendário pessoal" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "Tarefas" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "Um atalho para sua lista de tarefas pessoal" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "Salas" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "" "Clicar nesse ícone exibe uma lista de todas as salas (ou pastas) acessíveis." #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "Quem está online?" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "Clicar nesse ícone exibe uma lista de todos os usuários conectados." #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "Bate-papo" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "" "Clicar nesse ícone inicia um bate-papo em tempo real com outros usuários da " "mesma sala." #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "Opções avançadas" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "Acesso ao menu completo de funções do Citadel" #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "Logotipo do Citadel" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "Mostra o ícone 'Powered by Citadel'" #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 msgid "System Administration Menu" msgstr "Menu de administração do sistema" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 #, fuzzy msgid "Room Admin Menu" msgstr "Admin da sala: " #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "Nomes simbólicos do computador local" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "Domínios do diretório" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "Servidores inteligentes" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 #, fuzzy msgid "Fallback smart hosts" msgstr "Servidores inteligentes" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 msgid "RBL hosts" msgstr "Computadores RBL" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "Computadores SpamAssassin" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 msgid "Masqueradable domains" msgstr "Domínios mascaráveis" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" "Mudanças feitas nessa tela não terão efeito até você reiniciar o servidor " "Citadel." #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 msgid "Network services" msgstr "Serviços de rede" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 #, fuzzy msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "Endereço IP a ser usado pelo servidor (0.0.0.0 para 'qualquer um')" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "Porta para requisições XMPP (Jabber) (-1 para desativar)" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "" "Porta para requisições servidor-servidor XMPP (Jabber) (-1 para desativar)" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "Controles de afinação-fina do servidor" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "Extensão máxima de mensagem" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "Timeout para conexões ociosas com o servidor (em segundos)" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "Frequência do \"network run\" (em segundos)" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "Número máximo de sessões correntes (0 = sem limites)" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "Número mínimo de \"worker threads\"" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "Número máximo de \"worker threads\"" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "Exlcuir automaticamente logs de banco de dados já aplicados" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "Criar uma nova sala" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "Nome da sala: " #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "Reside no andar: " #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "Visualização padrão para sala: " #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "Tipo da sala:" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "Público (aparece automaticamente para todos)" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "Privado - escondido (acessível apenas para quem sabe o nome)" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "Privado - requer senha: " #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "Privado - apenas por convite" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "Pessoal (caixa de correio pessoal)" #: ../../i18n_templatelist.c:95 msgid "Create new room" msgstr "Criar nova sala" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "Log off" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "Refazer log in" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "Esquecer ou se desinscrever da sala atual" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 msgid "If you select this option," msgstr "Se você selecionou esta opção," #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 #, fuzzy msgid "will disappear from your room list. Is this what you wish to do?" msgstr "" "Se você selecionar essa opção, %s irá desaparecer da sua lista de " "salas. Gostaria mesmo de fazer isso?
    \n" #: ../../i18n_templatelist.c:102 msgid "Zap this room" msgstr "Esquecer essa sala" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" "AVISO: O JavaScript do seu navegador está desabilitado. Muitas funções deste " "sistema não funcionarão adequadamente." #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "Nome do usuário" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "Sala" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "De host" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "Autor" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "Carregando mensagens do servidor, por favor aguarde" #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "Abrir em uma nova janela" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "Mover" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "Copiar" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "Imprimir" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "Salas esquecidas" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 #, fuzzy msgid "Click on any room to un-zap it and goto that room." msgstr "" "Clique em qualquer sala para 'des-esquecê-la' e entrar nela em seguida.\n" #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" "Você tem uma ou mais mensagens instantâneas esperando porém a janela do " "Citadel Instant Messenger falhou em abrir. A causa provável é a ação de um " "bloqueador de 'popups' instalado. Configure seu bloqueador de 'popups' para " "permitir 'popups' desse site se quiser continuar a receber mensagens " "instantâneas." #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "Modificar suas preferências e configurações" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "Atualizar suas informações para contato" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "Modificar sua senha" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "Entre sua 'bio'" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "Editar sua foto online" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "Visualizar/editar filtros de correio do lado do servidor" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "Editar suas configurações de 'push email'" #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 msgid "Manage your OpenIDs" msgstr "Gerencie seus OpenIDs" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 #, fuzzy msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "O servidor Citadel deverá ser reiniciado, Ele voltará em um minuto." #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "Visualizar" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "Download" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "Configuração Global" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "Manejamento de contas de usuário" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "Desligar o Citadel" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "Salas e andares" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "Ir para uma sala oculta" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" "Se você souber o nome de um oculto (acho que o nome) ou sala com senha, você " "pode entrar naquela sala, digitando o seu nome abaixo. Depois de ganhar " "acesso a uma sala privada, ele irá aparecer na sua listagem de sala regular " "assim que você não precisa voltar sempre aqui." #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "Digite nome da sala:" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "Digite senha da sala:" #: ../../i18n_templatelist.c:144 msgid "Go there" msgstr "Ir" #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "de " #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "até" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "CC:" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "Assunto:" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 msgid "Push Email" msgstr "Email Push" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 msgid "Funambol server host (blank to disable)" msgstr "Host do servidor Funambol (em branco para desativar" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 msgid "Funambol server port " msgstr "Porta do servidor Funambol " #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 msgid "Funambol sync source" msgstr "Fonte de sincronia Funambol" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "Det. autenticação Funambol (user:pass)" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 msgid "External pager tool (blank to disable)" msgstr "Ferramenta de pager externa (em branco para desativar)" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "Visualização em árvore (pastas)" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "Visualização em tabela (salas)" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "12 horas (am/pm)" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "24 horas" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 msgid "Sunday" msgstr "Domingo" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 msgid "Monday" msgstr "Segunda" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "Sem assinatura" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "Modo seguro" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "" #: ../../i18n_templatelist.c:168 msgid "Change" msgstr "Modificar" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "Preferências e configurações" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "Comandos básicos" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "Informações sobre você" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "Comandos avançados de sala" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "Editar conta de usuário: " #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "Nome do usuário:" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "Senha" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "Permissão para enviar email na Internet" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 msgid "Number of logins" msgstr "Número de logins" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 msgid "Messages submitted" msgstr "Mensagens enviadas" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 msgid "Access level" msgstr "Nível de acesso" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 msgid "User ID number" msgstr "Número ID do usuário" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "Data e hora do último login" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "Excluir automaticamente após essa quantidade de dias" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "POP3" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "Porta para requisições POP3 (-1 para desativar)" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "Porta para requisições POP3 sobre SSL (-1 para desativar)" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 #, fuzzy msgid "POP3 fetch frequency in seconds" msgstr "Frequência do \"network run\" (em segundos)" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 #, fuzzy msgid "POP3 fastest fetch frequency in seconds" msgstr "Frequência do \"network run\" (em segundos)" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "Visualizar a fila SMTP externa" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "Atualizar essa página" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 #, fuzzy msgid "Remote Sites:" msgstr "Servidor remoto" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 #, fuzzy msgid "Status:" msgstr "Estado:" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 #, fuzzy msgid "Jobs waiting for further processing:" msgstr "continuar processando" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 msgid "Message to your Users:" msgstr "Mensagem para seus Usuários:" #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "Administração" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "Configuração" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "Política de vencimento de mensagens" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "Controles de acesso" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "Compartilhamento" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "Serviço de correio em massa" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "Recuperação de mensagens remotas" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "" "Sua barra de ícones foi atualizado. Por favor, selecione qualquer uma das " "suas escolhas para continuar." #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "" "Você precisa forçar a atualização (SHIFT-F5)> para que as mudanças tenham " "efeito" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 msgid "General site configuration items" msgstr "Itens de configuração geral do sítio" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "Mudar Logotipo de Login" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "Mudar Logotipo de Logout" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 msgid "Node name" msgstr "Nome do nódulo" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "Nome de domínio completamente expressado (FQDN)" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "Nome legível do nódulo" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 msgid "Telephone number" msgstr "Número do telefone" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "Prompt do paginador (para clientes em modo texto)" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "Local geográfico desse sistema" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "Nome do administrador do sistema" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "Zona horária para itens de calendário sem zona definida" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 #, fuzzy msgid "Networked Room" msgstr "Sala compartilhada por rede" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 msgid "Add a new node" msgstr "Adicionar novo nódulo" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "Segredo compartilhado" #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "Nome do computador ou endereço IP" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 msgid "Port number" msgstr "Número da porta" #: ../../i18n_templatelist.c:241 #, fuzzy msgid "Add node?" msgstr "Adicionar nódulo" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 msgid "(kill)" msgstr "(terminar)" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 msgid "Edit configuration" msgstr "Editar configuração" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 msgid "Edit address book entry" msgstr "Editar entrada" #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "ocioso desde" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 #, fuzzy msgid "Minutes" msgstr "Minutos" #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 #, fuzzy msgid "active" msgstr "Incerto" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 msgid "(Edit)" msgstr "(Editar)" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "(Excluir)" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "Nenhuma nova mensagem." #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "Nova página inicial" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "Sua página inicial foi alterada." #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" "(Nota: isto não altera a página inicial do seu navegador. Ele altera a " "página que você começa quando você logar no" #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "Postar um comentário" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "Confirmar exclusão" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "Tem certeza que quer excluir " #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 msgid "Add, change, delete user accounts" msgstr "Adicionar, modificar e excluir contas de usuários" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 #, fuzzy msgid "(hosts running the ClamAV clamd service)" msgstr "(computadores rodando o serviço SpamAssassin)" #: ../../i18n_templatelist.c:270 msgid "Send" msgstr "Enviar" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 msgid "Restart Citadel" msgstr "Reinicie o Citadel" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "de" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "Anônimo" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "em" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "Para:" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "BCC:" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "Assunto (opcional):" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "--- mensagem encaminhada ---" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 msgid "Post message" msgstr "Fixar mensagem" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "Salvar em rascunhos" #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "Anexos:" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 msgid "Delete this message?" msgstr "Excluir essa mensagem?" #: ../../i18n_templatelist.c:300 #, fuzzy msgid "Room Logo" msgstr "Lista de salas" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "Pesquisar: " #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "Resultados do comando" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 msgid "Enter another command" msgstr "Entre outro comando" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 msgid "Return to menu" msgstr "Retornar ao menu" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 msgid "Users currently on" msgstr "Usuários ativos" #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "Perfil do usuário" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 #, fuzzy msgid "Click here to send an instant message to" msgstr "Clique aqui para mandar uma mensagem instantânea para %s" #: ../../i18n_templatelist.c:308 #, fuzzy msgid "Pictures in" msgstr "Imagens em %s" #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 msgid "Edit or delete users" msgstr "Editar ou excluir usuários" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 #, fuzzy msgid "You need to be aide to view this." msgstr "Você não tem permissão para visualizar esse recurso." #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 msgid "Add users" msgstr "Adicionar usuários" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 msgid "Edit or Delete users" msgstr "Editar ou Remover usuários" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "Espere enquanto o servidor Citadel é reiniciado... " #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 #, fuzzy msgid "User list for " msgstr "Lista de usuários para %s" #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "Nome de Usuário" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "Número" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "Nível de Acesso" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "Último Login" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "Número total de Logins" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "Número total de Posts" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "Carregando" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "Sua OpenID" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "Verificado com sucesso" #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "No entanto, o nome do usuário" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "conflito com um usuário existente." #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "Por favor especifique o nome do usuário que você gostaria de usar." #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "Sair" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "Política de vencimento de mensagens para essa sala" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "Usar a política padrão para esse andar" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "Nunca expirar mensagens automaticamente" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "Expirar por número de mensagens" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "Expirar por idade das mensagens" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "Número de mensagens ou dias: " #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "Política de vencimento de mensagens para esse andar" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "Usar o padrão do sistema" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "Fechar janela" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 #, fuzzy msgid "Upload failed" msgstr "Fazer upload de um arquivo:" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 #, fuzzy msgid "Are you shure you want to delete {filename}?" msgstr "Tem certeza que quer excluir " #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "Anexar arquivo" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 #, fuzzy msgid "Remove" msgstr "(excluir)" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "Indexação e Journaling" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "Aviso: essas funções utilizam mais recursos do sistema." #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "Ativar índice de texto inteiro (full text index)" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 msgid "Perform journaling of email messages" msgstr "Realizar journaling de mensagens de email" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 msgid "Perform journaling of non-email messages" msgstr "Realizar journaling de outras mensagens (não-email)" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "Destino (email) de mensagens onde journaling foi realizado" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "Arquivos disponíveis para download em" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "Fazer upload de um arquivo:" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "Upload" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "Nome do arquivo" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "Tamanho" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "Conteúdo" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "Descrição" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" "Essa instalação do Citadel foi criada sem suporte para filtros de email na " "parte do servidor (server-side).
    Contate o administrador do sistema se " "você precisa dessa função.
    " #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "novo de" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "mensagens" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "Selecione a página: " #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "Obter mensagens dessas contas POP3 e armazená-las nessa sala:" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 msgid "Remote host" msgstr "Servidor remoto" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 msgid "Keep messages on server?" msgstr "Manter mensagens no servidor?" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 #, fuzzy msgid "Interval" msgstr "Geral" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "Adicionar" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "Obter as seguintes fontes RSS e armazená-las nessa sala:" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "URL do arquivo RSS" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "" "Para criar uma nova conta de usuário, digite o nome de usuário desejado na " "caixa abaixo e clique em 'Criar'." #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 msgid "New user: " msgstr "Novo usuário: " #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "Criar" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "(domínios mapeados com o Caderno de Endereços Global)" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "Lista das páginas Wiki" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "(excluir)" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 #, fuzzy msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" "Os usuários listados abaixo têm acesso à essa sala. Para excluir um usuário " "da lista de acesso, selecione o nome de usuário da lista e clique em " "'Chutar'." #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "Chutar" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" "Para permitir acesso de outro usuário à essa sala, digite o nome do usuário " "na caixa abaixo e clique em 'Convidar'." #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "Convidar:" #: ../../i18n_templatelist.c:426 msgid "Invite" msgstr "Convidar" #: ../../i18n_templatelist.c:427 msgid "User" msgstr "Usuário" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 msgid "Users" msgstr "Usuários" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 #, fuzzy msgid "Addressbook Popup" msgstr "Caderno de Endereços" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "" "Para editar uma conta de usuário existente, selecione o nome de usuário na " "lista e clique em 'Editar'." #: ../../i18n_templatelist.c:435 msgid "Delete user" msgstr "Excluir usuário" #: ../../i18n_templatelist.c:436 msgid "Delete this user?" msgstr "Excluir esse usuário?" #: ../../i18n_templatelist.c:437 #, fuzzy msgid "Delete File" msgstr "Excluir regra" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "Apresentação" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "(computadores rodando o serviço SpamAssassin)" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "which is already in your calendar." msgstr "Essa é uma atualização de '%s' que já está no seu calendário." #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "This event would conflict with" msgstr "" "Esse evento entrará em conflito com '%s' que já está no seu calendário." #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "Quando novas mensagens chegarem: " #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "Manter em minha caixa de entrada sem filtragem" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "Filtrar de acordo com as regras abaixo" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "" "Filtrar através de um script editado manualmente (apenas para usuários " "avançados)" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "Mensagens novas não serão filtradas por nenhum script" #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "Adicionar regra" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "O script ativo atualmente é: " #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "Adicionar ou excluir scripts" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "Configurar o conector LDAP para o Citadel" #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" "NOTA: Esse servidor Citadel foi criado sem suporte a LDAP. Essas opções não " "terão efeito." #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "Nome do servidor LDAP (deixe em branco para desabilitar)" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "Número da porta do servidor LDAP (deixe em branco para desabilitar)" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "Base DN" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "Bind DN" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "Senha para bind DN" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "Editar ou excluir essa sala" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "Ir para uma sala 'escondida'" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 msgid "Zap (forget) this room" msgstr "Zap (esqueça) esta sala" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "Listar todas as salas esquecidas" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 #, fuzzy msgid "Zap duplicate messages" msgstr "Ler mensagens novas" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "ID da mensagem" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "Data/hora do envio" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 #, fuzzy msgid "Next attempt" msgstr "Última tentativa" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "Recipientes" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "Lendo #" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "antigas para mais novas" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "novas para mais antigas" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "" "Por favor espere enquanto seus usuários estão sendo 'pageados', o servidor " "Citadel será reiniciado logo após... " #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "editar" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "Responder" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "ResponderComCitação" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "ResponderTodos" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "Encaminhar" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "Cabeçalhos" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "Editar configurações globais do site" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "Nomes de domínios e configuração de correio eletrônico (Internet)" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "Configurar replicação com outros computadores Citadel" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 #, fuzzy msgid "Powered by Citadel" msgstr "Mostra o ícone 'Powered by Citadel'" #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "Idioma:" #: ../../i18n_templatelist.c:507 msgid "Go to your email inbox" msgstr "Ir para a caixa de entrada (inbox)" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "Correio" #: ../../i18n_templatelist.c:509 msgid "Go to your personal calendar" msgstr "Ir para o seu calendário pessoal" #: ../../i18n_templatelist.c:511 msgid "Go to your personal address book" msgstr "Ir para seu caderno de endereços pessoal" #: ../../i18n_templatelist.c:513 msgid "Go to your personal notes" msgstr "Ir para notas pessoais" #: ../../i18n_templatelist.c:515 msgid "Go to your personal task list" msgstr "Ir para sua lista de tarefas pessoal" #: ../../i18n_templatelist.c:517 #, fuzzy msgid "List all your accessible rooms" msgstr "Listar todas as suas salas acessíveis" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "Ver quem está online agora" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "Usuários online" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "" "Menu de opções avançado: Comandos avançados de sala, Informações de conta, e " "Bate-papo" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "Avançado" #: ../../i18n_templatelist.c:526 msgid "Room and system administration functions" msgstr "Funções administrativas da sala e sistema" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "personalizar esse menu" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "Entrar" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "mudar para lista de salas" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "mudar para menu" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "Minhas pastas" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "Porta para requisições IMAP (-1 para desativar)" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "Porta para requisições IMAP sobre SSL (-1 para desativar)" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "Manter cabeçalhos originais no IMAP" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "Upload de imagem" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "Você pode fazer upload de uma imagem diretamente do seu computador" #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "Selecione um arquivo para fazer upload:" #: ../../i18n_templatelist.c:545 msgid "Reset form" msgstr "Limpar campos" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "Inscrição da lista" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "Inscrever/desinscrever da lista" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "Pedido de confirmação enviado" #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "" #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 #, fuzzy msgid " to the " msgstr "em " #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 #, fuzzy msgid " mailing list." msgstr "Serviço de correio em massa" #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "Voltar..." #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 #, fuzzy msgid "ERROR" msgstr "ERRO:" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 #, fuzzy msgid "from the" msgstr "de " #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 #, fuzzy msgid "mailing list." msgstr "Serviço de correio em massa" #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 #, fuzzy msgid "Back..." msgstr "Voltar..." #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 #, fuzzy msgid "Confirmation successful!" msgstr "Pedido de confirmação enviado" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 #, fuzzy msgid "Confirmation failed." msgstr "Configuração" #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "" #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 #, fuzzy msgid "Name of list:" msgstr "Nome da tarefa" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 #, fuzzy msgid "Your e-mail address:" msgstr "Endereço de e-mail preferencial" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "" #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 #, fuzzy msgid "One message at a time" msgstr "Entrar mensagem de texto:" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 #, fuzzy msgid "Digest format" msgstr "Formato de hora" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 msgid "name of room: " msgstr "nome da sala: " #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "Se privado, fazer outros usuários esquecer a sala" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "Usuários preferenciais apenas" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "Sala somente leitura" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "" "Todos os usuários com permissão para postar também podem remover mensagens" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "Sala diretório de arquivos" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "Nome do diretório: " #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "Uploads permitidos" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "Downloads permitidos" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "Diretório visível" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 msgid "Network shared room" msgstr "Sala compartilhada por rede" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "Permanente (não se auto-destrói)" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "" "Assunto Obrigatório (Força usuários a especificar um assunto para a mensagem)" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "Mensagens anonimas" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "Sem mensagens anonimas" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "Todas as mensagens são anonimas" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "Perguntar ao usuário ao entrar mensagens" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 msgid "Room aide: " msgstr "Admin da sala: " #: ../../i18n_templatelist.c:611 #, fuzzy msgid "Delete this entry?" msgstr "Excluir essa entrada?" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "Não compartilhado com" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "Compartilhado com" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 msgid "Remote node name" msgstr "Nome do nódulo remoto" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 msgid "Remote room name" msgstr "Nome da sala remota" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "Ações" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 #, fuzzy msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" "Para compartilhar uma sala, a mesma deve ser compartilhada dos dois lados. " "Adicionar um 'node' a lista de 'compartilhados' faz as mensagens saírem, mas " "para receber mensagens, outros 'nodes' também devem ser configurados para " "mandar mensagens fora de seus sistemas.
  • Se o nome da sala está em " "branco, assume-se que o nome da sala é igual ao do 'node' remoto.
  • Se o " "nome da sala é diferente, o 'node' remoto também deve configurar o nome da " "sala aqui.
    \n" #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 #, fuzzy msgid "resend messages to this node" msgstr "Manter mensagens no servidor?" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "Adicionar/modificar/excluir andares" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "Número do andar" #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "Nome do andar" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "Numero de salas" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "CSS do andar" #: ../../i18n_templatelist.c:633 msgid "Create new floor" msgstr "Criar novo andar" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "Mover regra para cima" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "Mover regra para baixo" #: ../../i18n_templatelist.c:636 msgid "Delete rule" msgstr "Excluir regra" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "Se" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "Para ou Cc" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "Responder para (reply-to)" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "Reenviado-De" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "Reenviado-Para" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "Envelope De" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "Envelope Para" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "X-Mailer" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "X-Spam-Flag" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "X-Spam-Estatus" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "List-ID" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "Tamanho da mensagem" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "Todas" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "contém" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "não contém" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "é" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "não é" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "bate" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "não bate" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "(Todas as mensagens)" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "é maior que" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "é menor que" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 #, fuzzy msgid "bytes" msgstr "anos" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "Manter" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "Descartar silenciosamente" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "Rejeitar" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "Mover mensagens para" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "Encaminhar para" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "Férias" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "Mensagem:" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "e depois" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "continuar processando" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "parar" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "(domínios os quais esse computador recebe mensagens)" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "Configuração da rede" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "Nódulos atualmente configurados" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "(excluir andar)" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "(editar gráfico)" #: ../../i18n_templatelist.c:679 msgid "Change name" msgstr "Modificar nome" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "Modificar CSS" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 msgid "Configure automatic expiry of old messages" msgstr "Configurar vencimento automático de mensagens antigas." #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "" "Essas configurações poderão ser ignoradas dependendo das configurações da " "sala ou andar." #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "Hora a rodar exclusão automática no banco de dados" #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 msgid "Default message expire policy for public rooms" msgstr "Política de vencimento padrão para salas públicas" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 msgid "Default message expire policy for private mailboxes" msgstr "Política de vencimento padrão para caixas de mensagens privadas" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 msgid "Same policy as public rooms" msgstr "Usar a mesma política das salas públicas" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "Tempo padrão para exclusão automática de usuário (dias)" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "Tempo padrão para exclusão automática de sala (dias)" #: ../../i18n_templatelist.c:700 msgid "Are you sure you want to delete this room?" msgstr "Tem certeza que quer remover essa sala?" #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "Remover essa sala" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 #, fuzzy msgid "Set or change the icon for this rooms banner" msgstr "Definir ou modificar o ícone para o banner dessa sala" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 #, fuzzy msgid "Edit this rooms Info file" msgstr "Editar o arquivo Info dessa sala" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "Entrar um comando de servidor" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" "Essa tela permite que você entre comandos de servidor Citadel que não são " "suportados pelo WebCit. Se você não sabe o que isso significa, essa tela não " "será de muita utilidade para você." #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "Entre comando:" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 #, fuzzy msgid "Detected host header is " msgstr "Cabeçalho detectado do computador é %s://%s" #: ../../i18n_templatelist.c:709 #, fuzzy msgid "Send command" msgstr "Entre comando:" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "Des-compartilhar" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "(computadores rodando um 'Realtime Blackhole List')" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "Configurações de controle de acesso e política do sítio" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "Permitir que aides esqueçam salas" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "Mover mensagens de usuários problema para a quarentena" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "Nome da sala de quarentena" #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 msgid "Name of room to log pages" msgstr "Nome da sala para logar páginas" #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 #, fuzzy msgid "Authentication mode" msgstr "Modo de autenticação" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 #, fuzzy msgid "Self contained" msgstr "contém" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 #, fuzzy msgid "Host based" msgstr "Nome do host:" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "LDAP (RFC2307)" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "LDAP (Diretório Ativo)" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 msgid "Allow anonymous guest access" msgstr "Permitir acesso de convidado anônimo" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 msgid "Master user name (blank to disable)" msgstr "Nome do usuário mestre (em branco para desativar)" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 msgid "Master user password" msgstr "Senha do usuário mestre" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 msgid "Initial access level for new users" msgstr "Nível de acesso inicial para novos usuários" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "Nível de acesso necessário para criar salas" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "" "Permitir que criadores de salas privadas tenham status de aide das mesmas." #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 #, fuzzy msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "Permitir que criadores de salas BLOG tenham status de aide das mesmas." #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "Restringir acesso a correio eletrônico da Internet" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "" "Desabilitar criação de conta por responsabilidade do usuário (self-service)" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "Dica: não selecione os dois" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "Requerer registro de usuários novos" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 msgid "Add, change, or delete floors" msgstr "Adicionar, modificar ou excluir andares" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "Visualizar como:" #: ../../i18n_templatelist.c:753 #, fuzzy msgid "Delete this note?" msgstr "Excluir essa entrada?" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 msgid "Logged in as" msgstr "Conectado como" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 msgid "Not logged in." msgstr "Não está conectado." #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "Você deve estar logado para acessar esta página." #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "Log in usando um nome de usuário e senha" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "Senha:" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "Novo usuário? Cadastre-se agora" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "" "entre com seu nome e senha que você deseja usar, e clique em "Novo " "Usuário." " #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "Log in usando OpenID" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "URL do OpenID:" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 #, fuzzy msgid "Log in using Google" msgstr "Log in usando OpenID" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 #, fuzzy msgid "Log in using Yahoo" msgstr "Log in usando OpenID" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 #, fuzzy msgid "Log in using AOL or AIM" msgstr "Log in usando OpenID" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "Por favor espere" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "Adicionar novo script" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" "Para criar um novo script, digite o nome do script desjado na caixa abaixo e " "clique em 'Criar'." #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "Nome do script: " #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "Editar scripts" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "Retornar para a tela de edição de scripts" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "Excluir scripts" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "" "Para excluir um script existente, selecione o nome do script na lista e " "clique em 'Excluir script'." #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 msgid "Restart Now" msgstr "Reiniciar agora" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "Reiniciar após 'pagear' usuários" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "Reiniciar quando todos os usuários estiverem ociosos" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 #, fuzzy msgid "Configure Push Email" msgstr "Email Push" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "Configurações de 'push email' e SMS" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" "Se você souber o nome de um oculto (acho que o nome) ou sala com senha, você " "pode entrar naquela sala, digitando o seu nome abaixo. Depois de ganhar " "acesso a uma sala privada, ele irá aparecer na sua listagem de sala regular " "assim que você não precisa voltar sempre aqui." #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" "Alternativamente, se o administrador configurou isto, o Citadel pode enviar " "uma mensagem de texto para você quando chegar uma nova mensagem." #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 #, fuzzy msgid "Notify Funambol server" msgstr "Porta do servidor Funambol" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 #, fuzzy msgid "Send a text message to..." msgstr "Mandar mensagem instantânea para: " #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "" "(Use formato internacional, without any leading zeros, spaces or hypens, " "like +61415011501)" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "" "Use regime de notificação personalizada configuradas pelo administrador" #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "Não envie notificações" #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "desenvolvido por" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "Porta para requisições SMTP MTA (-1 para desativar)" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "Porta para requisições SMTP MSA (-1 para desativar)" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "Porta para requisições SMTP sobre SSL (-1 para desativar)" #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "Realizar checagens RBL na conexão ao invés de após RCPT" #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "Marque a mensagem como spam, ao invés de rejeitá-la" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 #, fuzzy msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "" "Permitir que clientes SMTP não autenticados personifiquem (spoof) os " "domínios desse sítio" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "Corrigir linhas 'De:' forjadas durante autenticação SMTP" #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "-1 to disable" msgstr "-1 para desabilitar" #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 msgid "ManageSieve Port (-1 to disable)" msgstr "Porta para requisições ManageSieve (-1 to disable)" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "Configuração do sítio" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 msgid "General" msgstr "Geral" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 #, fuzzy msgid "Settings" msgstr "Configuração da barra de ícones" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "Pop3" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "Indexação/Journaling" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 msgid "Access" msgstr "Acesso" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 msgid "Directory" msgstr "Diretório" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "Excluidor automático" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 #, fuzzy msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" "O conteúdo dessa sala será mandado como mensagens individuais para " "os seguintes recipientes:

    \n" #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 #, fuzzy msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" "O conteúdo dessa sala será mandado de forma resumida para os " "seguintes recipientes:

    \n" #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 msgid "List" msgstr "Lista" #: ../../i18n_templatelist.c:847 msgid "Digest" msgstr "Resumo" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "Adicionar recipientes de Contatos ou outros cadernos de endereços" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "Permitir que não participantes mandem mensagens para essa sala." #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "Publicação de posts na sala requer permissão do Admin." #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 msgid "Allow self-service subscribe/unsubscribe requests." msgstr "" "Permitir requisições para inscrever/desinscrever de responsabilidade do " "usuário (self-service)" #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "O endereço URL para se inscrever/desinscrever é: " #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 #, fuzzy msgid "Set" msgstr "Assunto" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 #, fuzzy msgid "Summary page for " msgstr "Página de resumo de %s" #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "Mensagens" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "Hoje no seu calendário" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 #, fuzzy msgid "Who‘s online now" msgstr "Quem está online agora" #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "Sobre esse servidor" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 #, fuzzy msgid "running" msgstr "Afinação" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 #, fuzzy msgid "with" msgstr "quinto" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 #, fuzzy msgid "and located in" msgstr "e depois" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 #, fuzzy msgid "Your system administrator is" msgstr "Nome do administrador do sistema" #: ../../i18n_templatelist.c:874 #, fuzzy msgid "Do you really want to kill this session?" msgstr "Você realmente quer terminar essa sessão?" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "Usuário atualmente on line " #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 msgid "Click on a name to read user info. Click on" msgstr "Clique em um nome para ler os dados de usuário. Clique aqui" #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 msgid "to send an instant message to that user." msgstr "para enviar uma mensagem instantânea para este usuário." #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "Mensagens antigas" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "Novas mensagens" #: ../../i18n_templatelist.c:880 msgid "Share" msgstr "Compartilhar" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "(Domínios cujos usuários estão autorizados a mascarar)" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "Digite nova senha:" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "Digite novamente para confirmar:" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "Modificar senha" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "Editar a visualização de sua sessão" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" "Essa tela permite que você modifique a maneira que sua sessão aparece na " "tela 'Quem está online'. Para desligar um nome 'falso' que você configurou " "previamente, clique no botão 'modificar' apropriado sem digitar nada na " "caixa correspondente. " #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "Nome da sala:" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "Mudar nome da sala" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "Nome do host:" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "Mudar nome do host" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "Mudar nome do usuário" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "Histórico de edições para esta página" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "Confirmar a movimentação da mensagem" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "Mover essa mensagem para:" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "" #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "Listar salas conhecidas" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "Aonde posso ir daqui?" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "Ir para próxima sala" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 msgid "...with unread messages" msgstr "...com mensagens não lidas" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "Pular para próxima sala" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "(volte aqui mais tarde)" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "Desfazer 'ir'" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 msgid "oops! Back to " msgstr "oops! Voltar ao " #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "Ler mensagens novas" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "...nessa sala" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "Ler todas as mensagens" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "...antigas e novas" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "Colocar uma mensagem" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "(fixar mensagens nessa sala)" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "Biblioteca de arquivos" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "(Listar arquivos disponíveis para download)" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 msgid "Summary page" msgstr "Página resumo" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "Resumo da minha conta" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "Lista de usuários" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 msgid "(all registered users)" msgstr "(todos os usuários registrados)" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "Adeus!" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "" "(se presente, encaminhar todas as mensagens para computadores externos para " "um desses computadores)" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "Visualizar contatos" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "Adicionar novo contato" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "Visualização por dia" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "Visualização por mês" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "Adicionar novo evento" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "Lista de calendários" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "Visualizar tarefas" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "Adicionar nova tarefa" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "Visualizar notas" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "Adicionar nova nota" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "Atualizar lista de mensagens" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "Escrever mensagem" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "Página inicial do Wiki" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "Editar essa página" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "Histórico" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 #, fuzzy msgid "New blog post" msgstr "posts recentes" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" "Deixar todas as mensagens marcadas como não lidas, ir para a próxima sala " "com mensagens não lidas." #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "Pular essa sala" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" "Marcar todas as mensagens como lidas, ir para a próxima sala com mensagens " "não lidas." #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 #, fuzzy msgid "Save changes?" msgstr "Salvar modificações" #~ msgid "" #~ "You are subscribing %s to the %s mailing list. The " #~ "listserver has sent you an e-mail with one additional Web link for you to " #~ "click on to confirm your subscription. This extra step is for your " #~ "protection, as it prevents others from being able to subscribe you to " #~ "lists without your consent.

    Please click on the link which is " #~ "being e-mailed to you and your subscription will be confirmed.
    \n" #~ msgstr "" #~ "Você está se inscrevendo em %s na lista %s. O servidor " #~ "da lista lhe enviou um link para você confirmar sua inscrição. Esse " #~ "passo extra previne que outros lhe inscrevam em listas sem seu " #~ "consentimento.

    Clique no link que foi mandado para você e sua " #~ "inscrição será confirmada.
    \n" #~ msgid "" #~ "WARNING: Failed to parse Server Config; do you run a to new citserver?" #~ msgstr "" #~ "AVISO: Falha ao analisar a Configuração do Servidor; Você quer executar " #~ "um novo citserver?" #~ msgid "There is no room called '%s'." #~ msgstr "Não há sala de nome '%s'." #~ msgid "Network" #~ msgstr "Rede" #~ msgid "Tuning" #~ msgstr "Afinação" #~ msgid "Instantly expunge deleted messages in IMAP" #~ msgstr "Destruir mensagens excluídas por IMAP instantâneamente" #~ msgid "A script by that name already exists." #~ msgstr "Um script com esse nome já existe." #~ msgid "" #~ "A new script has been created. Return to the script editing screen to " #~ "edit and activate it." #~ msgstr "" #~ "Um novo script foi criado. Volte para a tela de edição de scripts para " #~ "ativá-lo." #~ msgid "Delete script" #~ msgstr "Excluir script" #~ msgid "Delete this script?" #~ msgstr "Excluir esse script?" #~ msgid "" #~ "You are connected to %s, running %s with %s, server build %s and located " #~ "in %s. Your system administrator is %s." #~ msgstr "" #~ "Você está conectado à %s, rodando %s com %s, server build %s, e " #~ "localizado em %s. Seu administrador de sistema é %s." #~ msgid "Yes with users list" #~ msgstr "Sim com lista de usuários" #~ msgid "Room list" #~ msgstr "Lista de salas" #~ msgid "View as room list" #~ msgstr "Ver na lista de salas" #~ msgid "View as folder list" #~ msgstr "Ver como lista de pastas" #~ msgid " - powered by Citadel" #~ msgstr " - powered by Citadel" #, fuzzy #~ msgid "uname" #~ msgstr "Nome do arquivo" #, fuzzy #~ msgid "text" #~ msgstr "próximo" #, fuzzy #~ msgid "name" #~ msgstr "Nome do arquivo" #, fuzzy #~ msgid "pname" #~ msgstr "Nome do arquivo" #, fuzzy #~ msgid "password" #~ msgstr "Senha" #, fuzzy #~ msgid "pass" #~ msgstr "Tarefas" #, fuzzy #~ msgid "authbox" #~ msgstr "Autor" #, fuzzy #~ msgid "display: none" #~ msgstr "Nome para visualização:" #~ msgid "Your password was not accepted." #~ msgstr "Sua senha não foi aceita" #~ msgid "If you already have an account on" #~ msgstr "Se você já tiver uma conta ativa" #~ msgid "enter your user name and password and click "Log in."" #~ msgstr "entre com seu usuário e senha e clique em "Log in."" #~ msgid "Please log off properly when finished. " #~ msgstr "Por favor efetue o log off quando terminar " #~ msgid "See the" #~ msgstr "Veja o" #~ msgid "recommended browser list" #~ msgstr "lista de navegação recomendada" #~ msgid "" #~ "if you have trouble using Webcit.
  • You must have cookies " #~ "turned on. " #~ msgstr "" #~ "se você tem problemas ao usar o Webcit.
  • Você tem que ativar os " #~ "cookies. " #~ msgid "" #~ "Also keep in mind that if your browser is configured to block pop-up " #~ "windows, you will not be able to receive any instant messages." #~ msgstr "" #~ "Lembre-se também que se seu browser está configurado para bloquear " #~ "janelas pop-up, você não estará habilitado para receber quaisquer " #~ "mensagens instantâneas." #~ msgid "Enter your OpenID URL and click "Log in"." #~ msgstr "Entre com sua URL do OpenID e clique em "Log in"." #~ msgid "Click here to learn what OpenID is and how Citadel is using it." #~ msgstr "" #~ "Clique aqui para aprender o que é o OpenID e como a Citadel está usando " #~ "ele." #~ msgid "Log off now?" #~ msgstr "Realizar log off agora?" #~ msgid "%d new of %d messages%s" #~ msgstr "%d mensagens novas de um total de %d%s" #~ msgid "(nothing)" #~ msgstr "(nada)" #~ msgid "unexpected end of message" #~ msgstr "fim de mensagem inesperado" #~ msgid "An error occurred while setting up the chat socket." #~ msgstr "Um erro ocorreu ao tentar configurar o 'soquete' do bate-papo." #~ msgid "Now exiting chat mode." #~ msgstr "Saindo do modo bate-papo." #~ msgid "Help" #~ msgstr "Ajuda" #~ msgid "List users" #~ msgstr "Listar usuários" #~ msgid "No messages here." #~ msgstr "Sem mensagens aqui." #, fuzzy #~ msgid "no more messages" #~ msgstr "Mensagens anonimas" #~ msgid "Email" #~ msgstr "Email" #~ msgid "Error retrieving RSS feed: couldn't find messages\n" #~ msgstr "Erro ao obter fonte RSS: não foi possível achar mensagens\n" #, fuzzy #~ msgid "%s from" #~ msgstr "de " #, fuzzy #~ msgid "%s in %s" #~ msgstr "Imagens em %s" #, fuzzy #~ msgid "" #~ "
    • Enter your OpenID URL and click "Log in".
    • Click here to " #~ "learn what OpenID is and how Citadel is using it.
    • Please log off " #~ "properly when finished.
    • You must use a browser that supports " #~ "frames and cookies.
    • Also keep in mind that if your " #~ "browser is configured to block pop-up windows, you will not be able to " #~ "receive any instant messages.
    " #~ msgstr "" #~ "
    • Se você já tem uma conta em %s, digite seu nome de usuário " #~ "e senha e clique em "Log in."
    • Se você for um novo " #~ "usuário, digite o nome de usuário e senha desejados, e clique em " #~ ""Novo Usuário "
    • Se possível, faça o "log off " " #~ "quando terminar de usar o sistema.
    • Seu navegador deverá suportar " #~ "frames e cookies.
    • Se seu browser estiver configurado " #~ "para bloquear pop-ups, você não poderá receber mensagens " #~ "instantâneas.
    " #, fuzzy #~ msgid "" #~ "enter your user name and password and click "Log in."
  • If " #~ "you are a new user, enter the name and password you wish to use, and " #~ "click "New User."
  • Please log off properly when finished. " #~ "
  • You must use a browser that supports frames and cookies.
  • Also keep in mind that if your browser is configured to block pop-" #~ "up windows, you will not be able to receive any instant messages." #~ msgstr "" #~ "
    • Se você já tem uma conta em %s, digite seu nome de usuário " #~ "e senha e clique em "Log in."
    • Se você for um novo " #~ "usuário, digite o nome de usuário e senha desejados, e clique em " #~ ""Novo Usuário "
    • Se possível, faça o "log off " " #~ "quando terminar de usar o sistema.
    • Seu navegador deverá suportar " #~ "frames e cookies.
    • Se seu browser estiver configurado " #~ "para bloquear pop-ups, você não poderá receber mensagens " #~ "instantâneas.
    " #~ msgid "Find out more about Citadel" #~ msgstr "Veja mais sobre o Citadel" #~ msgid "CITADEL" #~ msgstr "CITADEL" #~ msgid "Customize this menu" #~ msgstr "Personalizar esse menu" #~ msgid "Internet configuration" #~ msgstr "Configuração da internet" #~ msgid "of %d messages." #~ msgstr "de %d mensagens" #~ msgid " from " #~ msgstr " de " #~ msgid " in " #~ msgstr " em " #~ msgid "Edit node configuration for " #~ msgstr "Editar configuração do nódulo para" #~ msgid "" #~ "Postfix TCP " #~ "Dictionary Port (-1 to disable)" #~ msgstr "" #~ "Porta TCP para " #~ "\"Dicionário Postfix\" (-1 para desativar)" #~ msgid "ERROR: could not open template " #~ msgstr "ERRO: não foi possível abrir o \"template\"" #~ msgid "" #~ "This message contains calendaring/scheduling information, but support " #~ "for calendars is not available on this particular system. Please ask " #~ "your system administrator to install a new version of the Citadel web " #~ "service with calendaring enabled.
    \n" #~ msgstr "" #~ "Essa mensagem contém informações de calendário/agenda, mas suporte " #~ "para calendários não está disponível para esse sistema em particular. " #~ "Pergunte para o administrador do sistema para instalar uma nova versão do " #~ "serviço para web Citadel com calendários instalados.
    \n" #~ msgid "" #~ "Cannot display calendar item. You are seeing this error because your " #~ "WebCit service has not been installed with calendar support. Please " #~ "contact your system administrator.
    \n" #~ msgstr "" #~ "Não foi possível exibir um item do calendário. Isso ocorreu porque o " #~ "serviço WebCit não foi instalado com suporte para calendários. Contate o " #~ "administrador do sistema.
    \n" #~ msgid "" #~ "Cannot display to-do item. You are seeing this error because your " #~ "WebCit service has not been installed with calendar support. Please " #~ "contact your system administrator.
    \n" #~ msgstr "" #~ "Não foi possível exibir esse item \"para fazer\".Isso ocorreu porque o " #~ "serviço WebCit não foi instalado com suporte para calendários. Contate o " #~ "administrador do sistema.
    \n" #~ msgid "Day: " #~ msgstr "Dia: " #~ msgid "Year: " #~ msgstr "Ano: " #~ msgid "The calendar view is not available." #~ msgstr "A visualização por calendário não está disponível" #~ msgid "The tasks view is not available." #~ msgstr "A visualização por tarefa não está disponível" #~ msgid "Gateway domains" #~ msgstr "Domínios do gateway" #~ msgid "(domains whose subdomains match Citadel hosts)" #~ msgstr "(domínios cujos subdomínios contém computadores Citadel)" #~ msgid "(This server does not support task lists)" #~ msgstr "(Esse servidor não suporta listas de tarefas)" #~ msgid "(This server does not support calendars)" #~ msgstr "(Esse servidor não suporta calendários)" webcit-9.01-dfsg/po/webcit/ro.po000066400000000000000000004215041254743150300165260ustar00rootroot00000000000000# Romanian translation for citadel # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the citadel package. # FIRST AUTHOR , 2011. # msgid "" msgstr "" "Project-Id-Version: citadel\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2011-08-23 01:13+0000\n" "Last-Translator: Ciprian Panaite \n" "Language-Team: Romanian \n" "Language: ro\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-08-24 04:34+0000\n" "X-Generator: Launchpad (build 13697)\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "disponibilitate necunoscută" #: ../../availability.c:169 msgid "free" msgstr "liber" #: ../../availability.c:179 msgid "BUSY" msgstr "OCUPAT" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "Expedierea a fost anulată." #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "Nu ai trimis nimic." #: ../../graphics.c:106 msgid "your photo" msgstr "poza ta" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "pictograma acestui spaţiu" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "fotografia de salut pentru conectare" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "fotografia pentru deconectare" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "pictograma acestui nivel" #: ../../tasks.c:93 msgid "Completed?" msgstr "Finalizat?" #: ../../tasks.c:95 msgid "Name of task" msgstr "Numele sarcinii" #: ../../tasks.c:97 msgid "Date due" msgstr "Limită" #: ../../tasks.c:99 msgid "Category" msgstr "Categorie" #: ../../tasks.c:101 msgid "Show All" msgstr "Afișează tot" #: ../../tasks.c:224 msgid "Edit task" msgstr "Editează sarcină" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "Rezumat" #: ../../tasks.c:259 msgid "Start date:" msgstr "Dată de început:" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "Nici o dată" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "sau" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "Timp asociat" #: ../../tasks.c:289 msgid "Due date:" msgstr "Termen limită" #: ../../tasks.c:318 msgid "Completed:" msgstr "Îndeplinit:" #: ../../tasks.c:329 msgid "Category:" msgstr "Categorie:" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "Descriere:" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "Salvează" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "Şterge" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "Anulare" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "Sarcină fără titlu" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, c-format msgid "%d comments" msgstr "%d comentarii" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "permalink" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "Postări mai noi" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "Postări mai vechi" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "Modifică %s" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" "Introdu mai jos %s. Textul este aranjat după browserul cititorului. Trecerea " "la linie nouă poate fi forţată precedând linia următoare cu un spaţiu." #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "Salvează modificările" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "Anulat. %s nu a fost anulat." #: ../../sysmsgs.c:103 msgid " has been saved." msgstr " s-a salvat." #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "Info spaţiu" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "Biografia ta" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "Oră " #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "Minut " #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "stare necunoscută" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "necesită acţiune" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "acceptat" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "refuzat" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "(tenative)" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "delegat" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "finalizat" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "în curs" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "(nimic)" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "Manage Account/OpenID Associations" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "Chiar vrei să ştergi acest OpenID ?" #: ../../openid.c:47 msgid "(delete)" msgstr "(şterge)" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "Adaugă un OpenID " #: ../../openid.c:58 msgid "Attach" msgstr "Ataşează" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "%s nu permite autentificare via OpenID" #: ../../summary.c:128 msgid "(None)" msgstr "(Nici unul))" #: ../../summary.c:184 msgid "(Nothing)" msgstr "(Nimic)" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "Du-te la pagina: " #: ../../bbsview_renderer.c:354 msgid "First" msgstr "Primul" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "Ultimul" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "erroare realloc() imposibil de obţinut %d bytes: %s" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "Șters" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "Utilizator Nou" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "Utilizator problemă" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "Utilizator Local" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "Utilizator de reţea" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "Utilizator preferat" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "Şef" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "A apărut o eroare." #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "Confirmă utilizatori noi" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "Nici un utilizator nu trebuie confirmat în acest moment" #: ../../auth.c:617 msgid "very weak" msgstr "foarte slabă" #: ../../auth.c:620 msgid "weak" msgstr "slabă" #: ../../auth.c:623 msgid "ok" msgstr "bună" #: ../../auth.c:627 msgid "strong" msgstr "foarte bună" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "Nivel curent de acces: %d (%s)\n" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "Alege nivelul de acces pentru acest utilizator:" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "Anulat. Parola nu a fost schimbată." #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "Nu sunt identice. Parola n-a fost schimbată." #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "Nu se poate fără parolă." #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "Invitaţie la întâlnire" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "Răspunsul participantului la invitaţia ta" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "Eveniment publicat" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "Acesta este un tip necunoscut de element al calendarului." #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "Loc:" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "Data:" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "Data şi ora de început" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "Data şi ora de sfârşit" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "Recurenţă" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "Acesta este un eveniment care se repetă" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "Participant:" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "Aceasta este o actualizare a '%s', care este deja în calendarul tău." #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "" "Acest eveniment va intra în conflict cu '%s' care este deja în calendarul " "tău." #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "Actualizare:" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "CONFLICT:" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "Cum vrei să răspunzi acestei invitaţii?" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "Accept" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "Tentativă" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "Refuz" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "" "Apasă Actualizare pentru a accepta acest răspuns şi a actualiza " "calendarul" #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "Actualizare" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "Ignoră" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "A intervenit o eroare la analiza acestui element din calendar" #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "" "Ai acceptat această invitaţie la întâlnire. A fost introdusă în calendarul " "tău." #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "" "Ai acceptat să încerci să onorezi această invitaţie la întâlnire. A fost " "trecută \"în creion\" în calendarul tău." #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "" "Ai refuzat această invitaţie la întâlnire. Nu a fost memorată în calendarul " "tău." #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "A fost expediat un răspuns către organizatorul întâlnirii." #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "" "Calendarul dumneavoastră a fost actualizat pentru a reflecta acest " "RSVP(Répondez s'il-vous-plaît = Răspundeți vă rog)." #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "" "Ați ales să ignorați acest RSVP(Répondez s'il-vous-plaît = Răspundeți vă " "rog). Calendarul dumneavoastră nu a fost actualizat." #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "Săptămâna începe cu:" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "A apărut o eroare în timpul recuperării fişierului %s\n" #: ../../event.c:71 msgid "seconds" msgstr "secunde" #: ../../event.c:72 msgid "minutes" msgstr "minute" #: ../../event.c:73 msgid "hours" msgstr "ore" #: ../../event.c:74 msgid "days" msgstr "zile" #: ../../event.c:75 msgid "weeks" msgstr "săptămâni" #: ../../event.c:76 msgid "months" msgstr "luni" #: ../../event.c:77 msgid "years" msgstr "ani" #: ../../event.c:78 msgid "never" msgstr "niciodată" #: ../../event.c:82 msgid "first" msgstr "întâi" #: ../../event.c:83 msgid "second" msgstr "al doilea" #: ../../event.c:84 msgid "third" msgstr "al treilea" #: ../../event.c:85 msgid "fourth" msgstr "al patrulea" #: ../../event.c:86 msgid "fifth" msgstr "al cincilea" #: ../../event.c:89 msgid "Event" msgstr "eveniment" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "Participanți" #: ../../event.c:168 msgid "Add or edit an event" msgstr "Adaugă sau modifică un eveniment" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "Rezumat" #: ../../event.c:222 msgid "Location" msgstr "Loc" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "Start" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "Eveniment pentru toată ziua" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "Sfârșit" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "Note" #: ../../event.c:374 msgid "Organizer" msgstr "Organizator" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "(tu eşti organizatorul)" #: ../../event.c:397 msgid "Show time as:" msgstr "Arată ora ca:" #: ../../event.c:420 msgid "Free" msgstr "Liber" #: ../../event.c:428 msgid "Busy" msgstr "Ocupat(ă)" #: ../../event.c:445 msgid "(One per line)" msgstr "(Unul pe linie)" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "Contacte" #: ../../event.c:518 msgid "Recurrence rule" msgstr "Regulă de recurenţă" #: ../../event.c:522 msgid "Repeats every" msgstr "Se repetă la fiecare" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "în zilele săptămânii:" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "în ziua %s%d%s a lunii" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "pe " #: ../../event.c:631 msgid "of the month" msgstr "a lunii" #: ../../event.c:660 msgid "every " msgstr "la fiecare " #: ../../event.c:661 msgid "year on this date" msgstr "an pe această dată" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "de" #: ../../event.c:717 msgid "Recurrence range" msgstr "Interval de recurenţă" #: ../../event.c:725 msgid "No ending date" msgstr "Nu se termină" #: ../../event.c:732 msgid "Repeat this event" msgstr "Repetă acest eveniment" #: ../../event.c:735 msgid "times" msgstr "ori" #: ../../event.c:743 msgid "Repeat this event until " msgstr "Repetă acest eveniment până când " #: ../../event.c:771 msgid "Check attendee availability" msgstr "Verifică disponibilitatea participantului" #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "Eveniment fără titlu" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "Configurare bară pictograme" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "Parametru nevalid" #: ../../inetconf.c:126 msgid " has been deleted." msgstr " s-a șters." #. added status message #: ../../inetconf.c:144 msgid " added." msgstr " s-a adăugat." #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "Nu ai drepturi suficiente pentru a accesa această funcţie" #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "" #: ../../listsub.c:38 ../../listsub.c:76 msgid "You need to specify the email address you'd like to subscribe with." msgstr "" #: ../../messages.c:73 msgid "ERROR:" msgstr "EROARE:" #: ../../messages.c:91 msgid "Empty message" msgstr "Mesaj gol" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "Anulat. Mesajul nu a fost afişat." #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "Anulat automat deoarece deja ai salvat acest mesaj." #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "Salvarea ca ciornă a eşuat: " #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "Este refuzată postarea unui mesaj gol.\n" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "Mesajul a fost salvat ca ciornă.\n" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "Mesajul a fost trimis.\n" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "Mesajul a fost postat.\n" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "Mesajul nu a fost mutat." #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "A apărut o eroare la recuperarea acestei părţi: %s/%s\n" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "A apărut o eroare la recuperarea acestei părţi: %s\n" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "Doreşti anexarea semnăturii la acest mesaj ?" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "Foloseşte această semnătură:" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "Set de caractere implicit pentru antetul e-mailurilor:" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "Adresă e-mail preferată" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "Nume preferat afişat în mesajele e-mail" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "Nume preferat afişat în mesajele postate pe forum" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "Mod vizualizare căsuţă poştală" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "Click pe orice notă pentru modificare" #: ../../paging.c:29 msgid "Send instant message" msgstr "Trimite mesaj instantaneu" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "Trimite mesaj instantaneu către: " #: ../../paging.c:51 msgid "Enter message text:" msgstr "Introdu mesaj text:" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "Trimite mesaj" #: ../../paging.c:78 msgid "Message was not sent." msgstr "Mesajul n-a fost trimis" #: ../../paging.c:89 msgid "Message has been sent to " msgstr "Mesajul a fost trimis către " #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "Anulat. Nu a fost schimbat nici un parametru." #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "Configurează ca pagină de start" #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "Configurarea ca pagină de start nu este permisă." #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "Nu mai aveţi nici o pagină de start selectată." #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "Pagină de start preferată" #: ../../roomlist.c:105 msgid "My Folders" msgstr "Dosarele mele" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "Anulat. Modificările nu au fost salvate." #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "Modificările au fost salvate" #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "Utilizatorul %s' a fost dat afară din spaţiul %s'" #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "Utilizatorul '%s' invitat în camera '%s'" #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "Anulat. Nu a fost creat nici un spaţiu nou." #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "Nivelul a fost şters." #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "A fost creat un nou nivel." #: ../../roomops.c:1363 msgid "Room list view" msgstr "Vizualizare listă spaţii" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "Vezi niveluri libere" #: ../../roomtokens.c:570 msgid "file" msgstr "fișier" #: ../../roomtokens.c:572 msgid "files" msgstr "fişiere" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "Forum" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "Dosar poştă" #: ../../roomviews.c:55 msgid "Address Book" msgstr "Carte de adrese" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "Calendar" #: ../../roomviews.c:57 msgid "Task List" msgstr "Listă de sarcini" #: ../../roomviews.c:58 msgid "Notes List" msgstr "Listă note" #: ../../roomviews.c:59 msgid "Wiki" msgstr "Wiki" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "Listă calendar" #: ../../roomviews.c:61 msgid "Journal" msgstr "Jurnal" #: ../../roomviews.c:62 msgid "Drafts" msgstr "Ciorne" #: ../../roomviews.c:63 msgid "Blog" msgstr "Blog" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" "Acest server deserveşte acum numărul maxim admis de utilizatori şi nu poate " "accepta conectări suplimentare în acest moment. Încearcă mai târziu sau " "contactează administratorul sistemului." #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "" #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" "Esti conectat la un server Citadel care rulează Citadel %d.%02d.\n" "Pentru a putea rula această versiune a Webcit ai nevoie de versiunea %d." "%02d sau mai nouă.\n" "\n" "\n" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "Configuraţia sistemului tău a fost actualizată." #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "" "A apărut o eroare la încercarea de a crea sau modifica această poziţie din " "cartea de adrese." #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "Modificările nu au fost salvate" #: ../../useredit.c:778 msgid "A new user has been created." msgstr "A fost creat un nou utilizator" #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" "Tocmai încercați să creați un nou user din Citadel în timp ce rulează în " "modul de autentificare bazată pe host. În acest mod, trebuie să creați useri " "noi pe sistemul host, nu din Citafel" #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "(fără nume)" #: ../../vcard_edit.c:438 msgid " (work)" msgstr " lucru" #: ../../vcard_edit.c:440 msgid " (home)" msgstr " acasă" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr " celulă" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "Adresă:" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "Telefon" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "E-mail:" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "Această listă de adrese este goală." #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "A apărut o eroare internă" #: ../../vcard_edit.c:940 msgid "Error" msgstr "Eroare" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "Modifică informaţiile de contact" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "Prefix" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "Prenume" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "Iniţiala tatălui" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "Nume de familie" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "Sufix" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "Nume afișat:" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "Titlu:" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "Organizație:" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "Căsuță poștală:" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "Localitate:" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "Stare:" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "Cod poştal:" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "Țară:" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "Telefon acasă:" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "Telefon serviciu:" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "Telefon mobil:" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "Fax:" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "Adresă e-mail principală:" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "Aliasuri de Internet e-mail" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "Imposibil de intrat în cameră pentru a salva mesajul" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "Abandon" #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "Nu poate fi decodat foto vcard\n" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "Este necesară autorizarea" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" "Resursa la care doreşti acces necesită un nume de utilizator şi o parolă " "valabile. Nu poţi fi conectat.\n" "%s\n" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" "Acest program nu s-a putut conecta sau n-a putut sta conectat la serverul " "Citadel. Eşti rugat(ă) să raportezi această problemă administratorului de " "sistem." #: ../../webcit.c:688 msgid "Read More..." msgstr "Citeşte mai mult..." #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "'%s' nu este un spaţiu Wiki" #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "Nu există aici nici o pagină numită '%s'." #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "" "Selectaţi linkul în bannerul spaţiului dacă doriţi să " "creaţi acest spaţiu." #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "Dată" #: ../../wiki.c:143 msgid "Author" msgstr "Autor" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "(arată)" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "Versiune curentă" #: ../../wiki.c:184 msgid "(revert)" msgstr "(inversează)" #: ../../wiki.c:246 msgid "Page title" msgstr "Titlul paginii" #: ../../fmt_date.c:306 msgid "Time format" msgstr "Format oră" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "de la" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "Data de început" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "Data de sfârşit" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "Data/ora" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "Observații:" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "precedent" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "următor" #: ../../calendar_view.c:750 msgid "Week" msgstr "Săptămână" #: ../../calendar_view.c:752 msgid "Hours" msgstr "Ore" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "Subiect" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "Eveniment în desfăşurare" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "modifică" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "Nu ştiu cum să afişez " #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "(fără subiect)" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "Lista de aşteptare e goală." #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "Nu ai acces la această resursă." #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "" #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "" #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "Sarcini" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "" #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "" #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "" #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "" #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "" #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 msgid "System Administration Menu" msgstr "" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 msgid "Room Admin Menu" msgstr "" #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 msgid "Fallback smart hosts" msgstr "" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 msgid "RBL hosts" msgstr "" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 msgid "Masqueradable domains" msgstr "" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 msgid "Network services" msgstr "" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "Creați o nouă cameră" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "Numele camerei: " #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "" #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "Vederea implicită pentru cameră: " #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "Tipul camerei:" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "Publică (este automat vizibilă tuturor)" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "Privată - ascunsă (accesibilă oricui îi cunoaște numele)" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "Privată - necesită parolă: " #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "Privată - doar pe bază de invitație" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "Personală (cutie poștală doar pentru dumneavoiastră)" #: ../../i18n_templatelist.c:95 #, fuzzy msgid "Create new room" msgstr "Creați o nouă cameră" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "Deconectare" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "Conectează-te din nou" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 msgid "If you select this option," msgstr "Dacă selectați această opțiune," #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 msgid "will disappear from your room list. Is this what you wish to do?" msgstr "" "va dispărea din lista dumneavoastră de camere. Asta este ceea ce doriți să " "faceți?" #: ../../i18n_templatelist.c:102 msgid "Zap this room" msgstr "" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "Expeditor" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "" #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "Mută" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "Camere părăsite (uitate)" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 msgid "Click on any room to un-zap it and goto that room." msgstr "" #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "Schimbă-ţi parola" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "Vezi/editează filtre mail pe server" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "" #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 msgid "Manage your OpenIDs" msgstr "" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "" #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "Mergeți într-o cameră ascunsă" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" "Dacă știți (sau ghiciți) numele unei camere ascunse sau parolate, puteți " "intra în acea cameră scriindu-i numele mai jos. Odată ce căpătați acces la o " "cameră privată , aceasta va apărea în lista dumneavoastră obișnuită de " "camere, așa că nu va trebui să continuați să reveniți aici." #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "Introduceți numele camerei:" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "introduceți parola camerei:" #: ../../i18n_templatelist.c:144 #, fuzzy msgid "Go there" msgstr "pe " #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "" #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 msgid "Push Email" msgstr "" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 msgid "Funambol server host (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 msgid "Funambol server port " msgstr "" #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 msgid "Funambol sync source" msgstr "" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 msgid "External pager tool (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 msgid "Sunday" msgstr "" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 msgid "Monday" msgstr "" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "" #: ../../i18n_templatelist.c:168 msgid "Change" msgstr "" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "" #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "Nume utilizator" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 msgid "Number of logins" msgstr "" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 msgid "Messages submitted" msgstr "" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 msgid "Access level" msgstr "" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 msgid "User ID number" msgstr "" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 msgid "POP3 fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 msgid "POP3 fastest fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "Vezi lista de plecare SMTP" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "Actualizează această pagină" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 #, fuzzy msgid "Remote Sites:" msgstr "Hostul de la distanță" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 #, fuzzy msgid "Status:" msgstr "Stare:" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 #, fuzzy msgid "Jobs waiting for further processing:" msgstr "continuă procesarea" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 msgid "Message to your Users:" msgstr "" #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "Politica de expirare a mesajelor" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "Serviciul de mailing list" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "Aducere de la distanță" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "" #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 msgid "General site configuration items" msgstr "" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 msgid "Node name" msgstr "" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 msgid "Telephone number" msgstr "" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 #, fuzzy msgid "Networked Room" msgstr "Cameră partajată în rețea" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 msgid "Add a new node" msgstr "" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "" #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 msgid "Port number" msgstr "" #: ../../i18n_templatelist.c:241 msgid "Add node?" msgstr "" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 msgid "(kill)" msgstr "" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 #, fuzzy msgid "Edit configuration" msgstr "Modifică informaţiile de contact" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 #, fuzzy msgid "Edit address book entry" msgstr "Această listă de adrese este goală." #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 #, fuzzy msgid "Minutes" msgstr "minute" #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 #, fuzzy msgid "active" msgstr "Tentativă" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 msgid "(Edit)" msgstr "" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "(Şterge)" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "" #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "" #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "" #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 msgid "Add, change, delete user accounts" msgstr "" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 msgid "(hosts running the ClamAV clamd service)" msgstr "" #: ../../i18n_templatelist.c:270 #, fuzzy msgid "Send" msgstr "Expeditor" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 msgid "Restart Citadel" msgstr "" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 msgid "Post message" msgstr "" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "" #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 #, fuzzy msgid "Delete this message?" msgstr "Şterg acest script ?" #: ../../i18n_templatelist.c:300 #, fuzzy msgid "Room Logo" msgstr "Info spaţiu" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "" #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 msgid "Enter another command" msgstr "" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 msgid "Return to menu" msgstr "" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 msgid "Users currently on" msgstr "" #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "Profil utilizator" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 msgid "Click here to send an instant message to" msgstr "" #: ../../i18n_templatelist.c:308 msgid "Pictures in" msgstr "" #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 msgid "Edit or delete users" msgstr "" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 msgid "You need to be aide to view this." msgstr "" #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 msgid "Add users" msgstr "" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 msgid "Edit or Delete users" msgstr "" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "" #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 msgid "User list for " msgstr "" #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "Nume utilizator" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "Număr" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "Nivel de acces" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "Ultima conectare" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "Număr de conectări" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "Număr de postări" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "" #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "" #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "" #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "" #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 #, fuzzy msgid "Upload failed" msgstr "Încărcare permisă" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 #, fuzzy msgid "Are you shure you want to delete {filename}?" msgstr "Chiar vrei să ştergi acest OpenID ?" #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "Atașați fișier" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 msgid "Remove" msgstr "" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "" #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 msgid "Perform journaling of email messages" msgstr "" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 msgid "Perform journaling of non-email messages" msgstr "" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "Trimite" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" "Această instalare a Citadel a fost făcută fără suport pentru filtrare mail " "dinspre server
    Dacă vă trebuie această facilitate, contactaţi " "administratorul sistemului." #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "mesaje" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "" #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "" "Se obțin mesaje de la aceste conturi POP3 de la distanță și se stochează în " "această cameră:" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 msgid "Remote host" msgstr "Hostul de la distanță" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 msgid "Keep messages on server?" msgstr "Păstrați mesajele pe server?" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 msgid "Interval" msgstr "" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "Adaugă" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "Se obțin următoarele feeduri RSS și se stochează în această cameră:" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "" #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 msgid "New user: " msgstr "" #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "Creează" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "" #: ../../i18n_templatelist.c:426 msgid "Invite" msgstr "" #: ../../i18n_templatelist.c:427 #, fuzzy msgid "User" msgstr "Utilizator Nou" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 msgid "Users" msgstr "" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 #, fuzzy msgid "Addressbook Popup" msgstr "Carte de adrese" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "" #: ../../i18n_templatelist.c:435 #, fuzzy msgid "Delete user" msgstr "Şterge regula" #: ../../i18n_templatelist.c:436 #, fuzzy msgid "Delete this user?" msgstr "Şterg acest script ?" #: ../../i18n_templatelist.c:437 #, fuzzy msgid "Delete File" msgstr "Şterge regula" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "which is already in your calendar." msgstr "Aceasta este o actualizare a '%s', care este deja în calendarul tău." #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "This event would conflict with" msgstr "" "Acest eveniment va intra în conflict cu '%s' care este deja în calendarul " "tău." #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "La primirea unui nou mesaj: " #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "Lasă-l în căsuţa de intrare fără filtrare" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "Filtrează-l după regulile de mai jos" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "" "Filtrează-l folosind un script editat manual (numai pentru utilizatorii " "avansaţi)" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "mesajele pe care le vei primi nu vor fi filtrate după nici un script" #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "Adaugă regulă" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "Scriptul activ este: " #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "Adaugă sau şterge scripturi" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "" #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 msgid "Zap (forget) this room" msgstr "" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "Zap duplicate messages" msgstr "" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "ID mesaj" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "Data şi ora transmiterii" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 #, fuzzy msgid "Next attempt" msgstr "Ultima încercare" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "Destinatari" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "Se citește #" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "de la vechi la noi" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "de la noi la vechi" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "" #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 msgid "Powered by Citadel" msgstr "" #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "" #: ../../i18n_templatelist.c:507 msgid "Go to your email inbox" msgstr "" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "" #: ../../i18n_templatelist.c:509 msgid "Go to your personal calendar" msgstr "" #: ../../i18n_templatelist.c:511 msgid "Go to your personal address book" msgstr "" #: ../../i18n_templatelist.c:513 msgid "Go to your personal notes" msgstr "" #: ../../i18n_templatelist.c:515 msgid "Go to your personal task list" msgstr "" #: ../../i18n_templatelist.c:517 msgid "List all your accessible rooms" msgstr "" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "" #: ../../i18n_templatelist.c:526 msgid "Room and system administration functions" msgstr "" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "Trimite foto" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "Poţi trimite o fotografie direct din computerul tău" #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "Alege o fotografie pentru trimitere:" #: ../../i18n_templatelist.c:545 #, fuzzy msgid "Reset form" msgstr "Format oră" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "Înscriere pe listă" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "Înscriere pe listă / renunţare" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "Cerere de confirmare expediată" #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "" #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 #, fuzzy msgid " to the " msgstr "pe " #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 #, fuzzy msgid " mailing list." msgstr "Serviciul de mailing list" #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "Înapoi..." #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 #, fuzzy msgid "ERROR" msgstr "EROARE:" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 #, fuzzy msgid "from the" msgstr "pe " #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 #, fuzzy msgid "mailing list." msgstr "Serviciul de mailing list" #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 #, fuzzy msgid "Back..." msgstr "Înapoi..." #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 #, fuzzy msgid "Confirmation successful!" msgstr "Cerere de confirmare expediată" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 #, fuzzy msgid "Confirmation failed." msgstr "Cerere de confirmare expediată" #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "" #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 #, fuzzy msgid "Name of list:" msgstr "Numele sarcinii" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 #, fuzzy msgid "Your e-mail address:" msgstr "Adresă e-mail preferată" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "" #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 #, fuzzy msgid "One message at a time" msgstr "Introdu mesaj text:" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 #, fuzzy msgid "Digest format" msgstr "Format oră" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 msgid "name of room: " msgstr "" #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "Cameră director de fișiere" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "Numele direcorului: " #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "Încărcare permisă" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "Descărcare permisă" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "Director vizibil" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 msgid "Network shared room" msgstr "Cameră partajată în rețea" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "Permanentă (nu se auto-curăță)" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "" "Se solicită subiect (utilizatorii sunt obligați să specifice un subiect al " "mesajului)" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "Mesaje anonime" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "Fără mesaje anonime" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "toate mesajele sunt anonime" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "Se întreabă utilizatorul la introducerea mesajelor" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 msgid "Room aide: " msgstr "Admin-ul camerei: " #: ../../i18n_templatelist.c:611 #, fuzzy msgid "Delete this entry?" msgstr "Şterg acest script ?" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 msgid "Remote node name" msgstr "" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 msgid "Remote room name" msgstr "" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 #, fuzzy msgid "resend messages to this node" msgstr "Păstrați mesajele pe server?" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "" #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "" #: ../../i18n_templatelist.c:633 #, fuzzy msgid "Create new floor" msgstr "Creați o nouă cameră" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "Mută regula mai sus" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "Mută regula mai jos" #: ../../i18n_templatelist.c:636 msgid "Delete rule" msgstr "Şterge regula" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "Dacă" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "Către sau copie (cc)" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "Răspuns către" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "Retrimis de la" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "Retrimis către" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "Plic de la" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "Plic către" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "X-Mailer" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "Fanion X-Spam" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "Stare X-spam" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "ID listă" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "Dimensiune mesaj" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "Tot" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "conține" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "nu conține" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "este" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "nu este" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "se potriveşte cu" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "nu se potrivește" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "(Toate mesajele)" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "este mai mare decât" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "este mai mic decât" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 msgid "bytes" msgstr "" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "Păstrează" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "Aruncă în linişte" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "Respinge" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "Mută mesajul în" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "Retrimite către" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "Vacanță" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "Mesaj:" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "şi apoi" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "continuă procesarea" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "stop" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "" #: ../../i18n_templatelist.c:679 #, fuzzy msgid "Change name" msgstr "Schimbă numele spaţiului" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 msgid "Configure automatic expiry of old messages" msgstr "" #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "" #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "" #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 msgid "Default message expire policy for public rooms" msgstr "" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 msgid "Default message expire policy for private mailboxes" msgstr "" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 msgid "Same policy as public rooms" msgstr "" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "" #: ../../i18n_templatelist.c:700 #, fuzzy msgid "Are you sure you want to delete this room?" msgstr "Chiar vrei să ştergi acest OpenID ?" #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 msgid "Set or change the icon for this rooms banner" msgstr "" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 msgid "Edit this rooms Info file" msgstr "" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 msgid "Detected host header is " msgstr "" #: ../../i18n_templatelist.c:709 #, fuzzy msgid "Send command" msgstr "%d comentarii" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "" #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 msgid "Name of room to log pages" msgstr "" #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 msgid "Authentication mode" msgstr "" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 msgid "Self contained" msgstr "" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 msgid "Host based" msgstr "" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 msgid "Allow anonymous guest access" msgstr "" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 msgid "Master user name (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 msgid "Master user password" msgstr "" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 msgid "Initial access level for new users" msgstr "" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "" #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "" #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 msgid "Add, change, or delete floors" msgstr "" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "" #: ../../i18n_templatelist.c:753 #, fuzzy msgid "Delete this note?" msgstr "Şterg acest script ?" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 msgid "Logged in as" msgstr "" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 msgid "Not logged in." msgstr "" #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "" #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "" #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 msgid "Log in using Google" msgstr "" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 #, fuzzy msgid "Log in using Yahoo" msgstr "Conectează-te din nou" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 msgid "Log in using AOL or AIM" msgstr "" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "Adaugă un nou script" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" "Pentru a crea un script nou, introdu numele pe care doreşti să i-l dai în " "caseta de mai jos şi apasă " #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "Nume script: " #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "Modificare scripturi" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "Înapoi la ecranul de modificare scripturi" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "Şterge scripturi" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "" "Pentru a şterge un script existent, selectează din listă numele acestuia şi " "apasă <Şterge>" #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 msgid "Restart Now" msgstr "" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 msgid "Configure Push Email" msgstr "" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 msgid "Notify Funambol server" msgstr "" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 msgid "Send a text message to..." msgstr "" #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "" #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "" #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "" #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "" #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "-1 to disable" msgstr "" #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 msgid "ManageSieve Port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 msgid "General" msgstr "" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 #, fuzzy msgid "Settings" msgstr "Configurare bară pictograme" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 msgid "Access" msgstr "" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 msgid "Directory" msgstr "" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" "Conținutul acestei camere este expediat sub formă de rezumat " "următoarei liste de destinatari:

    " #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 #, fuzzy msgid "List" msgstr "ID listă" #: ../../i18n_templatelist.c:847 #, fuzzy msgid "Digest" msgstr "Format oră" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "AdăugaÈ›i destinatari din Contacte sau din alte liste de adrese" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "" #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "" #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 msgid "Allow self-service subscribe/unsubscribe requests." msgstr "" #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "" #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 #, fuzzy msgid "Set" msgstr "Subiect" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 msgid "Summary page for " msgstr "" #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "Mesaje" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "Astăzi Ã®n agenda ta" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 msgid "Who‘s online now" msgstr "" #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "Despre acest server" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 msgid "running" msgstr "" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 msgid "with" msgstr "" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 msgid "and located in" msgstr "" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 msgid "Your system administrator is" msgstr "" #: ../../i18n_templatelist.c:874 #, fuzzy msgid "Do you really want to kill this session?" msgstr "Chiar vrei să ÅŸtergi acest OpenID ?" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "" #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 msgid "Click on a name to read user info. Click on" msgstr "" #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 msgid "to send an instant message to that user." msgstr "" #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "" #: ../../i18n_templatelist.c:880 msgid "Share" msgstr "" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "Introdu noua parolă" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "Introdu-o din nou, pentru confirmare:" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "Schimbă parola" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "Modifică ecranul sesiunii tale" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" "Acest ecran îţi permite să modifici modul în care sesiunea ta apare în lista " ". Pentru a dezactiva orice nume pe care l-ai " "configurat anterior, apasă pur ÅŸi simplu butonul aferent unei " "casete, fără a scrie nimic în aceasta. " #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "Nume spaÅ£iu" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "Schimbă numele spaÅ£iului" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "Nume gazdă:" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "Schimbă numele gazdei:" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "Schimbă nume utilizator:" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "Confirmă mutarea mesajului" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "Mută acest mesaj în:" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "" #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 msgid "...with unread messages" msgstr "" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 msgid "oops! Back to " msgstr "" #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 msgid "Summary page" msgstr "" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 msgid "(all registered users)" msgstr "" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 msgid "New blog post" msgstr "" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 #, fuzzy msgid "Save changes?" msgstr "Salvează modificările" #~ msgid "" #~ "You are subscribing %s to the %s mailing list. The " #~ "listserver has sent you an e-mail with one additional Web link for you to " #~ "click on to confirm your subscription. This extra step is for your " #~ "protection, as it prevents others from being able to subscribe you to " #~ "lists without your consent.

    Please click on the link which is " #~ "being e-mailed to you and your subscription will be confirmed.
    \n" #~ msgstr "" #~ "Te-ai înscris %s pe lista de mail %s. Serverul Å£i-a " #~ "trimis un e-mail cu o adresă web adiÅ£ională pe care trebuie să faci click " #~ "ca să-Å£i confirmi înscrierea. Acest pas suplimentar te protejează, în " #~ "sensul că îi împiedică pe unii să te înscrie în liste fără ca tu să fii " #~ "de acord.\n" #~ msgid "" #~ "WARNING: Failed to parse Server Config; do you run a to new citserver?" #~ msgstr "" #~ "Analiza configuraÅ£iei serverului este imposibilă; rulaÅ£i cumva un nou " #~ "server Citadel ?" #~ msgid "There is no room called '%s'." #~ msgstr "Nu există nici un spaÅ£iu numit '%s'" #~ msgid "A script by that name already exists." #~ msgstr "Deja există un script cu acest nume" #~ msgid "" #~ "A new script has been created. Return to the script editing screen to " #~ "edit and activate it." #~ msgstr "" #~ "A fost creat un nou script. ÃŽntoarce-te la ecranul de editare a " #~ "scripturilor pentru a-l modifica ÅŸi activa." #~ msgid "Delete script" #~ msgstr "Åžterge script" webcit-9.01-dfsg/po/webcit/ru.po000066400000000000000000004334201254743150300165340ustar00rootroot00000000000000# translation of webcit.po to Russian # Copyright (C) 2008 - 2009 The Citadel Project - http://www.citadel.org # # WebCit messages for Russian # Copyright (C) 2009 Andrey N. Oktyabrski # This file is distributed under the revised BSD license # msgid "" msgstr "" "Project-Id-Version: WebCit\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2011-01-31 08:31+0000\n" "Last-Translator: Andrey Olykainen \n" "Language-Team: \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-12 04:32+0000\n" "X-Generator: Launchpad (build 16251)\n" "X-Language: ru_RU\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "доÑтупноÑть не извеÑтна" #: ../../availability.c:169 msgid "free" msgstr "Ñвободно" #: ../../availability.c:179 msgid "BUSY" msgstr "ЗанÑÑ‚" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "Загрузка графики была отменена." #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "Ð’Ñ‹ не загрузили файл" #: ../../graphics.c:106 msgid "your photo" msgstr "ваше фото" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "Значёк комнаты" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "Значек Ð´Ð»Ñ Ñтажа" #: ../../tasks.c:93 msgid "Completed?" msgstr "Завершено?" #: ../../tasks.c:95 msgid "Name of task" msgstr "Ðазвание задачи" #: ../../tasks.c:97 msgid "Date due" msgstr "" #: ../../tasks.c:99 msgid "Category" msgstr "КатегориÑ" #: ../../tasks.c:101 msgid "Show All" msgstr "Показать вÑе" #: ../../tasks.c:224 msgid "Edit task" msgstr "Редактировать задачу" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "Итого:" #: ../../tasks.c:259 msgid "Start date:" msgstr "Дата начала:" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "Без даты" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "или" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "" #: ../../tasks.c:289 msgid "Due date:" msgstr "" #: ../../tasks.c:318 msgid "Completed:" msgstr "Выполнено:" #: ../../tasks.c:329 msgid "Category:" msgstr "КатегориÑ:" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "ОпиÑание:" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "Сохранить" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "Удалить" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "Отмена" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "Задание без заголовка" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, c-format msgid "%d comments" msgstr "%d комментариев" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "ПоÑтоÑÐ½Ð½Ð°Ñ ÑÑылка" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "новые ÑообщениÑ" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "Ñтарые ÑообщениÑ" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "Изменить %s" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "Сохранить изменениÑ" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "Отменено. %s не было Ñохранено." #: ../../sysmsgs.c:103 #, fuzzy msgid " has been saved." msgstr "%s было Ñохранено." #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ комнате" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "ЧаÑÑ‹: " #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "Минуты: " #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "(ÑÑ‚Ð°Ñ‚ÑƒÑ Ð½ÐµÐ¸Ð·Ð²ÐµÑтен)" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "(требуетÑÑ Ð´ÐµÐ¹Ñтвие)" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "(принÑто)" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "(отклонено)" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "(делегировано)" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "(завершено)" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "(в процеÑÑе)" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "(не указан)" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "Ð’Ñ‹ дейÑтвительно хотите удалить OpenID?" #: ../../openid.c:47 msgid "(delete)" msgstr "(удалить)" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "Добавить OpenID: " #: ../../openid.c:58 msgid "Attach" msgstr "Прикрепить" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "" #: ../../summary.c:128 msgid "(None)" msgstr "(не указано)" #: ../../summary.c:184 msgid "(Nothing)" msgstr "(Ðичего)" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "Перейти на Ñтраницу: " #: ../../bbsview_renderer.c:354 msgid "First" msgstr "Первый" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "ПоÑледний" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "Удалённый" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "Ðовый пользователь" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "Ðеблагонадёжный пользователь" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "Локальный пользователь" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "Сетевой пользователь" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "Привилегированный пользователь" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "ÐдминиÑтратор" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "Произошла ошибка." #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "Ðовые пользователи" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "" "Ðа данный момент нет новых пользователей, требующих Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ " "региÑтрации." #: ../../auth.c:617 msgid "very weak" msgstr "Ñлишком проÑтой" #: ../../auth.c:620 msgid "weak" msgstr "проÑтой" #: ../../auth.c:623 msgid "ok" msgstr "хороший" #: ../../auth.c:627 msgid "strong" msgstr "очень хороший" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "Уровень доÑтупа %d (%s)\n" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "Уровень доÑтупа Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ:" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "Смена Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¾Ñ‚Ð¼ÐµÐ½ÑетÑÑ, он оÑталÑÑ Ð¿Ñ€ÐµÐ¶Ð½Ð¸Ð¼." #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "Ð’Ñ‹ ввели разные пароли, оÑтавлÑем прежний." #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "Пароль не должен быть пуÑтым" #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "Опубликованное Ñобытие" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "" #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "РаÑположение:" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "Дата:" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "Дата/Ð²Ñ€ÐµÐ¼Ñ Ð½Ð°Ñ‡Ð°Ð»Ð°:" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "Дата/Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ:" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "Повторение" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "ПовторÑющееÑÑ Ñобытие" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "" #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "Данное Ñобытие может конфликтовать Ñ '%s' в вашем календаре." #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "Обновление:" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "Конфликт:" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "Как желаете ответить на данное приглашение?" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "ПринÑть" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "Отклонить" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "Ðажмите Update Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð½ÑÑ‚Ð¸Ñ Ð¾Ñ‚Ð²ÐµÑ‚Ð° и Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ°Ð»ÐµÐ½Ð´Ð°Ñ€Ñ." #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "Обновить" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "Игнорировать" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "" #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "Ð’Ñ‹ принÑли приглашение на вÑтречу. Она была добавлена в ваш календарь." #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "" #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "" "Ð’Ñ‹ отклонили приглашение на вÑтречу. Она не была добавлена в ваш " "календарь." #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "A reply has been sent to the meeting organiser." #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "" #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "" #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "ÐÐµÐ´ÐµÐ»Ñ Ð½Ð°Ñ‡Ð¸Ð½Ð°ÐµÑ‚ÑÑ Ñ:" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "" #: ../../event.c:71 msgid "seconds" msgstr "Ñекунд(Ñ‹)" #: ../../event.c:72 msgid "minutes" msgstr "минут(Ñ‹)" #: ../../event.c:73 msgid "hours" msgstr "чаÑа(ов)" #: ../../event.c:74 msgid "days" msgstr "днÑ(ей)" #: ../../event.c:75 msgid "weeks" msgstr "недели(ль)" #: ../../event.c:76 msgid "months" msgstr "меÑÑца(ев)" #: ../../event.c:77 msgid "years" msgstr "года(лет)" #: ../../event.c:78 msgid "never" msgstr "никогда" #: ../../event.c:82 msgid "first" msgstr "первый" #: ../../event.c:83 msgid "second" msgstr "второй" #: ../../event.c:84 msgid "third" msgstr "третий" #: ../../event.c:85 msgid "fourth" msgstr "четвёртый" #: ../../event.c:86 msgid "fifth" msgstr "пÑтый" #: ../../event.c:89 msgid "Event" msgstr "Событие" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "" #: ../../event.c:168 msgid "Add or edit an event" msgstr "Добавить или редактировать Ñобытие" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "Сводка" #: ../../event.c:222 msgid "Location" msgstr "РаÑположение" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "Ðачало" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "Событие на веÑÑŒ день" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "Завершение" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "Заметки" #: ../../event.c:374 msgid "Organizer" msgstr "Organiser" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "(you are the organiser)" #: ../../event.c:397 msgid "Show time as:" msgstr "Отображать Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº:" #: ../../event.c:420 msgid "Free" msgstr "Свободно" #: ../../event.c:428 msgid "Busy" msgstr "ЗанÑто" #: ../../event.c:445 msgid "(One per line)" msgstr "" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "Контакты" #: ../../event.c:518 msgid "Recurrence rule" msgstr "" #: ../../event.c:522 msgid "Repeats every" msgstr "ПовторÑть каждый(ые)" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "" #: ../../event.c:631 msgid "of the month" msgstr "" #: ../../event.c:660 msgid "every " msgstr "каждый(ые) " #: ../../event.c:661 msgid "year on this date" msgstr "" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "из" #: ../../event.c:717 msgid "Recurrence range" msgstr "" #: ../../event.c:725 msgid "No ending date" msgstr "Ðет даты окончаниÑ" #: ../../event.c:732 msgid "Repeat this event" msgstr "повторÑть Ñто Ñобытие" #: ../../event.c:735 msgid "times" msgstr "раз(а)" #: ../../event.c:743 msgid "Repeat this event until " msgstr "ПовторÑть Ñто Ñобытие до " #: ../../event.c:771 msgid "Check attendee availability" msgstr "" #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "ÐаÑтройка панели иконок" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "" #: ../../inetconf.c:126 #, fuzzy msgid " has been deleted." msgstr "%s было удалено." #. added status message #: ../../inetconf.c:144 #, fuzzy msgid " added." msgstr "добавлено." #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "ТребуетÑÑ Ð±Ð¾Ð»ÑŒÑˆÐµ прав Ð´Ð»Ñ Ð´Ð¾Ñтупа к Ñтой функции." #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "" #: ../../listsub.c:38 ../../listsub.c:76 #, fuzzy msgid "You need to specify the email address you'd like to subscribe with." msgstr "Укажите Ваш ник (короткое имÑ)." #: ../../messages.c:73 msgid "ERROR:" msgstr "ОШИБКÐ:" #: ../../messages.c:91 msgid "Empty message" msgstr "ПуÑтое Ñообщение" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "Отменено. Сообщение не было опубликовано" #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "ÐвтоматичеÑки отменено по Ñкольку Ñообщение уже Ñохранено." #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "" #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "Сообщение было Ñохранено в черновики.\n" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "Сообщение отправлено.\n" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "Сообщение опубликовано.\n" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "Сообщение небыло перемещено." #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "Прикрепить подпиÑÑŒ к Ñообщению?" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "ИÑпользовать подпиÑÑŒ:" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "Стандартный набор Ñимволов Ð´Ð»Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð² пиÑьма:" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "Предпочитаемый Ð°Ð´Ñ€ÐµÑ Ñл.почты" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "Щёлкните на любой заметке, еÑли хотите внеÑти в неё изменениÑ." #: ../../paging.c:29 msgid "Send instant message" msgstr "Отправить Ñообщение" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "" #: ../../paging.c:51 msgid "Enter message text:" msgstr "Введите текÑÑ‚ ÑообщениÑ:" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "Отправить Ñообщение" #: ../../paging.c:78 msgid "Message was not sent." msgstr "Сообщение не было отправлено." #: ../../paging.c:89 msgid "Message has been sent to " msgstr "" #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "Отменено. ÐаÑтройки не были изменены." #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "Сделать Ñтартовой Ñтраницей" #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "" #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "" #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "ÐŸÑ€ÐµÐ´Ð¿Ð¾Ñ‡Ð¸Ñ‚Ð°ÐµÐ¼Ð°Ñ ÑÑ‚Ð°Ñ€Ñ‚Ð¾Ð²Ð°Ñ Ñтранице" #: ../../roomlist.c:105 msgid "My Folders" msgstr "Мои папки" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "Отменено. Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ðµ Ñохранены." #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "Ваши Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñохранены." #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "Пользователь '%s' был удалён из комнаты '%s'." #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "Пользователь '%s' приглашен в комнату '%s'." #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "Отменено. ÐÐ¾Ð²Ð°Ñ ÐºÐ¾Ð¼Ð½Ð°Ñ‚Ð° не была Ñоздана." #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "Этаж был удален" #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "Создан новый Ñтаж" #: ../../roomops.c:1363 msgid "Room list view" msgstr "" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "Показать пуÑтые Ñтажи" #: ../../roomtokens.c:570 msgid "file" msgstr "файл" #: ../../roomtokens.c:572 msgid "files" msgstr "файлы" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "ДоÑка объÑвлений" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "ÐŸÐ¾Ñ‡Ñ‚Ð¾Ð²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°" #: ../../roomviews.c:55 msgid "Address Book" msgstr "ÐдреÑÐ½Ð°Ñ ÐºÐ½Ð¸Ð³Ð°" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "Календарь" #: ../../roomviews.c:57 msgid "Task List" msgstr "СпиÑок задач" #: ../../roomviews.c:58 msgid "Notes List" msgstr "СпиÑок Заметок" #: ../../roomviews.c:59 msgid "Wiki" msgstr "Вики" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "" #: ../../roomviews.c:61 msgid "Journal" msgstr "Журнал" #: ../../roomviews.c:62 msgid "Drafts" msgstr "Черновики" #: ../../roomviews.c:63 msgid "Blog" msgstr "Блог" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "" #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "ÐаÑтройки ÑиÑтемы обновлены." #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "" "Произошла ошибка во Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ¸ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи " "адреÑной книги." #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ðµ были Ñохранены." #: ../../useredit.c:778 msgid "A new user has been created." msgstr "Создан новый пользователь." #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "(без названиÑ)" #: ../../vcard_edit.c:438 msgid " (work)" msgstr "" #: ../../vcard_edit.c:440 msgid " (home)" msgstr "" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr " (mobile)" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "ÐдреÑ:" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "Телефон:" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "Эл. почта:" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "ÐдреÑÐ½Ð°Ñ ÐºÐ½Ð¸Ð³Ð° пуÑта." #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "Произошла внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°." #: ../../vcard_edit.c:940 msgid "Error" msgstr "Ошибка" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "Изменить ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ контакте" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "ПрефикÑ" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "ИмÑ" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "ОтчеÑтво" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "ФамилиÑ" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "СуффикÑ" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "Отображаемое имÑ:" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "Заголовок:" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "ОрганизациÑ:" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "ÐбонентÑкий Ñщик:" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "Город:" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "Штат:" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "Почтовый индекÑ:" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "Страна:" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "Домашний телефон:" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "Рабочий телефон:" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "Мобильный телефон:" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "Ðомер факÑа:" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "ОÑновной Ñщик Ñлектронной почты" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "Ðевозможно войти в комнату Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ ÑообщениÑ" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "Отмена." #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "ТребуетÑÑ Ð°Ð²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" "Эта программа не может ÑоединитьÑÑ, или уже Ñоединена Ñ Ñервером Citadel. " "ПожалуйÑта, Ñообщите об Ñтом Вашему админиÑтратору." #: ../../webcit.c:688 msgid "Read More..." msgstr "Далее..." #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "'%s' не комната Вики." #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "Ðет Ñтраницы Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ '%s'." #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "" #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "Дата" #: ../../wiki.c:143 msgid "Author" msgstr "Ðвтор" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "(показать)" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ð²ÐµÑ€ÑиÑ" #: ../../wiki.c:184 msgid "(revert)" msgstr "" #: ../../wiki.c:246 msgid "Page title" msgstr "Заголовок Ñтраницы" #: ../../fmt_date.c:306 msgid "Time format" msgstr "Формат времени" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "От" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "Дата начала:" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "Дата завершениÑ:" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "Дата/времÑ:" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "Заметки:" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "пред." #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "Ñлед." #: ../../calendar_view.c:750 msgid "Week" msgstr "ÐеделÑ" #: ../../calendar_view.c:752 msgid "Hours" msgstr "ЧаÑа(ов)" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "Тема" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "изменить" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "" #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "(без темы)" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "" #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "У Ð²Ð°Ñ Ð½ÐµÑ‚ разрешений Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра реÑурÑа." #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "Customise the icon bar" #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 #, fuzzy msgid "Display icons as:" msgstr "Отображаемое имÑ:" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "картинки и текÑÑ‚" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "только картинки" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "только текÑÑ‚" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "" #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "Да" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "Ðет" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "Логотип Ñайта" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "Задачи" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "Комнаты" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "" #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "Кто онлайн?" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "" #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "Чат" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "" #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "РаÑширенные наÑтройки" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "" #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "" #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 #, fuzzy msgid "System Administration Menu" msgstr "ÐдминиÑтрациÑ" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 #, fuzzy msgid "Room Admin Menu" msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ комнате" #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 msgid "Fallback smart hosts" msgstr "" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 msgid "RBL hosts" msgstr "" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 msgid "Masqueradable domains" msgstr "" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 #, fuzzy msgid "Network services" msgstr "Сетевой пользователь" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "Создать комнату" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "Ð˜Ð¼Ñ ÐºÐ¾Ð¼Ð½Ð°Ñ‚Ñ‹: " #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "" #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "" #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "Тип комнаты:" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 #, fuzzy msgid "Private - require password: " msgstr "Введите новый пароль:" #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "" #: ../../i18n_templatelist.c:95 #, fuzzy msgid "Create new room" msgstr "Создать комнату" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "Выйти" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "Войти Ñнова" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 msgid "If you select this option," msgstr "" #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 msgid "will disappear from your room list. Is this what you wish to do?" msgstr "" #: ../../i18n_templatelist.c:102 #, fuzzy msgid "Zap this room" msgstr "ПропуÑтить комнату" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "Комната" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 #, fuzzy msgid "From host" msgstr "От" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "Отправитель" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "Загрузка Ñообщений Ñ Ñервера, подождите" #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "Открыть в новом окне" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "ПеремеÑтить" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "Копировать" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "Печать" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 msgid "Click on any room to un-zap it and goto that room." msgstr "" #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "Смените пароль" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 #, fuzzy msgid "Edit your online photo" msgstr "ваше фото" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "" #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 #, fuzzy msgid "Manage your OpenIDs" msgstr "Ваш OpenID" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "" #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "Скачать" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "Введите название комнаты:" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "Введите пароль комнаты:" #: ../../i18n_templatelist.c:144 #, fuzzy msgid "Go there" msgstr "Перейти на Ñтраницу: " #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "от " #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "Кому" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "КопиÑ:" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "Тема:" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 msgid "Push Email" msgstr "" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 msgid "Funambol server host (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 msgid "Funambol server port " msgstr "" #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 msgid "Funambol sync source" msgstr "" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 msgid "External pager tool (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 #, fuzzy msgid "24 hour" msgstr "чаÑа(ов)" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 msgid "Sunday" msgstr "ВоÑкреÑенье" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 msgid "Monday" msgstr "Понедельник" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 #, fuzzy msgid "No signature" msgstr "ИÑпользовать подпиÑÑŒ:" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "" #: ../../i18n_templatelist.c:168 msgid "Change" msgstr "" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "ОÑновные команды" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "" #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ:" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "Пароль" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 #, fuzzy msgid "Number of logins" msgstr "КоличеÑтво комнат" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 #, fuzzy msgid "Messages submitted" msgstr "Размер ÑообщениÑ" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 #, fuzzy msgid "Access level" msgstr "Уровень доÑтупа" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 #, fuzzy msgid "User ID number" msgstr "ИмÑ:" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 msgid "POP3 fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 msgid "POP3 fastest fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "Обновить Ñтраницу" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 msgid "Remote Sites:" msgstr "" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 #, fuzzy msgid "Status:" msgstr "Штат:" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 msgid "Jobs waiting for further processing:" msgstr "" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 #, fuzzy msgid "Message to your Users:" msgstr "Сообщение не было отправлено." #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "ÐдминиÑтрациÑ" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "КонфигурациÑ" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 #, fuzzy msgid "Message expire policy" msgstr "Размер ÑообщениÑ" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "" #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 msgid "General site configuration items" msgstr "" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 #, fuzzy msgid "Node name" msgstr "ИмÑ:" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 #, fuzzy msgid "Telephone number" msgstr "Телефон:" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 #, fuzzy msgid "Networked Room" msgstr "Сетевой пользователь" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 #, fuzzy msgid "Add a new node" msgstr "Добавить новую заметку" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "" #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 #, fuzzy msgid "Port number" msgstr "Ðомер Ñтажа" #: ../../i18n_templatelist.c:241 #, fuzzy msgid "Add node?" msgstr "Добавить новую заметку" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 #, fuzzy msgid "(kill)" msgstr " (mobile)" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 #, fuzzy msgid "Edit configuration" msgstr "КонфигурациÑ" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 #, fuzzy msgid "Edit address book entry" msgstr "ÐдреÑÐ½Ð°Ñ ÐºÐ½Ð¸Ð³Ð° пуÑта." #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 #, fuzzy msgid "Minutes" msgstr "минут(Ñ‹)" #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 msgid "active" msgstr "" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 msgid "(Edit)" msgstr "(редактировать)" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "(Удалить)" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "Ðет новых Ñообщений." #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "ÐÐ¾Ð²Ð°Ñ ÑÑ‚Ð°Ñ€Ñ‚Ð¾Ð²Ð°Ñ Ñтраница" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "Ð¡Ñ‚Ð°Ñ€Ñ‚Ð¾Ð²Ð°Ñ Ñтраница изменена." #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "Опубликовать комментарий" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "Подтвердить удаление" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "Ð’Ñ‹ дейÑтвительно хотите удалить " #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 #, fuzzy msgid "Add, change, delete user accounts" msgstr "Добавить/изменить/удалить Ñтажи" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 msgid "(hosts running the ClamAV clamd service)" msgstr "" #: ../../i18n_templatelist.c:270 #, fuzzy msgid "Send" msgstr "Отправитель" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 #, fuzzy msgid "Restart Citadel" msgstr "ÐÐ¾Ð²Ð°Ñ ÑÑ‚Ð°Ñ€Ñ‚Ð¾Ð²Ð°Ñ Ñтраница" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "от" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "Ðнонимный" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "в" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "Кому:" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "Ð¡ÐºÑ€Ñ‹Ñ‚Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ:" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "Тема(опционально):" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 #, fuzzy msgid "Post message" msgstr "Ðовый пользователь" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "" #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "ВложениÑ:" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 #, fuzzy msgid "Delete this message?" msgstr "Удалить комнату" #: ../../i18n_templatelist.c:300 #, fuzzy msgid "Room Logo" msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ комнате" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "ПоиÑк: " #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 msgid "Enter another command" msgstr "" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 msgid "Return to menu" msgstr "" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 msgid "Users currently on" msgstr "" #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "Профиль пользователÑ" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 msgid "Click here to send an instant message to" msgstr "" #: ../../i18n_templatelist.c:308 #, fuzzy msgid "Pictures in" msgstr "только картинки" #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 #, fuzzy msgid "Edit or delete users" msgstr "Добавить или удалить Ñкрипты" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 #, fuzzy msgid "You need to be aide to view this." msgstr "У Ð²Ð°Ñ Ð½ÐµÑ‚ разрешений Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра реÑурÑа." #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 #, fuzzy msgid "Add users" msgstr "Добавить правило" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 #, fuzzy msgid "Edit or Delete users" msgstr "Удалённый" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "" #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 #, fuzzy msgid "User list for " msgstr "СпиÑок папок" #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "Ðомер" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "Уровень доÑтупа" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "ПоÑледний вход" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "Ð’Ñего входов" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "Ð’Ñего Ñообщений" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "Загрузка" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "Ваш OpenID" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "" #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "" #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "Укажите Ваш ник (короткое имÑ)." #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "Выход" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 #, fuzzy msgid "Expire by message count" msgstr "ПуÑтое Ñообщение" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 #, fuzzy msgid "Expire by message age" msgstr "ПуÑтое Ñообщение" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "" #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "ИÑпользовать Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "Закрыть окно" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 #, fuzzy msgid "Upload failed" msgstr "Загрузить файл:" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 #, fuzzy msgid "Are you shure you want to delete {filename}?" msgstr "Ð’Ñ‹ дейÑтвительно хотите удалить " #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "Вложить файл" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 msgid "Remove" msgstr "Удалить" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "" #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 msgid "Perform journaling of email messages" msgstr "" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 msgid "Perform journaling of non-email messages" msgstr "" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "Файлы доÑтупны Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ на" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "Загрузить файл:" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "Загрузить" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "Размер" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "Содержимое" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "ОпиÑание" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "ÑообщениÑ" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "выбор Ñтраницы: " #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 msgid "Remote host" msgstr "" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 msgid "Keep messages on server?" msgstr "СохранÑть ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½Ð° Ñервере?" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 msgid "Interval" msgstr "Интервал" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "Добавить" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 #, fuzzy msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "Ð”Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñкрипта, выберите Ñкрипт из ÑпиÑка и нажмите \"Удалить\"." #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 #, fuzzy msgid "New user: " msgstr "Ðовый пользователь" #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "Создать" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "(удалить)" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "Приглашение:" #: ../../i18n_templatelist.c:426 #, fuzzy msgid "Invite" msgstr "Приглашение:" #: ../../i18n_templatelist.c:427 #, fuzzy msgid "User" msgstr "Пользователи" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 msgid "Users" msgstr "Пользователи" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 #, fuzzy msgid "Addressbook Popup" msgstr "ÐдреÑÐ½Ð°Ñ ÐºÐ½Ð¸Ð³Ð°" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 #, fuzzy msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "Ð”Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñкрипта, выберите Ñкрипт из ÑпиÑка и нажмите \"Удалить\"." #: ../../i18n_templatelist.c:435 #, fuzzy msgid "Delete user" msgstr "Удалить правило" #: ../../i18n_templatelist.c:436 #, fuzzy msgid "Delete this user?" msgstr "Удалить Ñкрипт:" #: ../../i18n_templatelist.c:437 #, fuzzy msgid "Delete File" msgstr "Удалённый" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "Слайд-шоу" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "which is already in your calendar." msgstr "Данное Ñобытие может конфликтовать Ñ '%s' в вашем календаре." #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "This event would conflict with" msgstr "Данное Ñобытие может конфликтовать Ñ '%s' в вашем календаре." #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "При получении нового пиÑьма: " #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "ОÑтавить во входÑщих без фильтрации" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "" #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "Добавить правило" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "Текущий активный фильтр: " #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "Добавить или удалить Ñкрипты" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "" #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 #, fuzzy msgid "Edit or delete this room" msgstr "Добавить или удалить Ñкрипты" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 #, fuzzy msgid "Zap (forget) this room" msgstr "ПропуÑтить комнату" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 #, fuzzy msgid "Zap duplicate messages" msgstr "Читать новые ÑообщениÑ" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "ID ÑообщениÑ" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 msgid "Next attempt" msgstr "" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "Получатели" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "Чтение #" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "от Ñтарых к новым" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "от новых к Ñтаным" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "" #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "Изменить" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "Ответить" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "Вперёд" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "Заголовки" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 #, fuzzy msgid "Powered by Citadel" msgstr "ÐÐ¾Ð²Ð°Ñ ÑÑ‚Ð°Ñ€Ñ‚Ð¾Ð²Ð°Ñ Ñтраница" #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "Язык:" #: ../../i18n_templatelist.c:507 msgid "Go to your email inbox" msgstr "" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "Почта" #: ../../i18n_templatelist.c:509 msgid "Go to your personal calendar" msgstr "" #: ../../i18n_templatelist.c:511 msgid "Go to your personal address book" msgstr "" #: ../../i18n_templatelist.c:513 msgid "Go to your personal notes" msgstr "" #: ../../i18n_templatelist.c:515 msgid "Go to your personal task list" msgstr "" #: ../../i18n_templatelist.c:517 msgid "List all your accessible rooms" msgstr "" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "Пользователи на Ñайте" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "Дополнительно" #: ../../i18n_templatelist.c:526 #, fuzzy msgid "Room and system administration functions" msgstr "ÐдминиÑтрациÑ" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "customise this menu" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "Вход" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "Мои папки" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "Загрузить изображение" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "Можете загрузить изображение Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ компьютера" #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "Выберите файл Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸:" #: ../../i18n_templatelist.c:545 msgid "Reset form" msgstr "ОчиÑтить форму" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° подтверждение поÑлан" #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "" #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 #, fuzzy msgid " to the " msgstr "Перейти на Ñтраницу: " #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 msgid " mailing list." msgstr "" #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "Ðазад..." #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 #, fuzzy msgid "ERROR" msgstr "ОШИБКÐ:" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 #, fuzzy msgid "from the" msgstr "от " #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 msgid "mailing list." msgstr "" #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 #, fuzzy msgid "Back..." msgstr "Ðазад..." #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 #, fuzzy msgid "Confirmation successful!" msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° подтверждение поÑлан" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 #, fuzzy msgid "Confirmation failed." msgstr "КонфигурациÑ" #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "" #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 #, fuzzy msgid "Name of list:" msgstr "Ðазвание задачи" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 #, fuzzy msgid "Your e-mail address:" msgstr "Предпочитаемый Ð°Ð´Ñ€ÐµÑ Ñл.почты" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "" #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 #, fuzzy msgid "One message at a time" msgstr "Введите текÑÑ‚ ÑообщениÑ:" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 #, fuzzy msgid "Digest format" msgstr "Формат времени" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 msgid "name of room: " msgstr "Ð¸Ð¼Ñ ÐºÐ¾Ð¼Ð½Ð°Ñ‚Ñ‹: " #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 #, fuzzy msgid "Preferred users only" msgstr "Привилегированный пользователь" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 #, fuzzy msgid "Directory name: " msgstr "Ð˜Ð¼Ñ Ñкрипта: " #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "Загрузка разрешена" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 #, fuzzy msgid "Network shared room" msgstr "Сетевой пользователь" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 #, fuzzy msgid "Anonymous messages" msgstr "Ðовый пользователь" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 #, fuzzy msgid "No anonymous messages" msgstr "Ðет новых Ñообщений." #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 #, fuzzy msgid "All messages are anonymous" msgstr "(Ð’Ñе ÑообщениÑ)" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 #, fuzzy msgid "Room aide: " msgstr "Ðазвание комнаты:" #: ../../i18n_templatelist.c:611 #, fuzzy msgid "Delete this entry?" msgstr "Удалить комнату" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 #, fuzzy msgid "Remote node name" msgstr "ИмÑ:" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 #, fuzzy msgid "Remote room name" msgstr "Ðазвание комнаты:" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "ДейÑтвиÑ" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 #, fuzzy msgid "resend messages to this node" msgstr "СохранÑть ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½Ð° Ñервере?" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "Добавить/изменить/удалить Ñтажи" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "Ðомер Ñтажа" #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "Ðазвание Ñтажа" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "КоличеÑтво комнат" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "" #: ../../i18n_templatelist.c:633 #, fuzzy msgid "Create new floor" msgstr "Создать комнату" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "" #: ../../i18n_templatelist.c:636 msgid "Delete rule" msgstr "Удалить правило" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "ЕÑли" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "X-Mailer" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "Размер ÑообщениÑ" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "Ð’Ñе" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "Ñодержит" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "не Ñодержит" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "не" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "Ñовпадает" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "не Ñовпадает" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "(Ð’Ñе ÑообщениÑ)" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "больше чем" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "меньше чем" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 #, fuzzy msgid "bytes" msgstr "года(лет)" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "Отклонить" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "ПеремеÑтить Ñообщение в" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "ПереадреÑовать" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "Сообщение:" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "Ñтоп" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "ÐаÑтройка Ñети" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "(удалить Ñтаж)" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "" #: ../../i18n_templatelist.c:679 #, fuzzy msgid "Change name" msgstr "Изменить название комнаты" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 #, fuzzy msgid "Configure automatic expiry of old messages" msgstr "Подтвердить перемещение ÑообщениÑ" #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "" #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "" #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 msgid "Default message expire policy for public rooms" msgstr "" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 msgid "Default message expire policy for private mailboxes" msgstr "" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 msgid "Same policy as public rooms" msgstr "" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "" #: ../../i18n_templatelist.c:700 #, fuzzy msgid "Are you sure you want to delete this room?" msgstr "Ð’Ñ‹ дейÑтвительно хотите удалить " #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "Удалить комнату" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 msgid "Set or change the icon for this rooms banner" msgstr "" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 msgid "Edit this rooms Info file" msgstr "" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 msgid "Detected host header is " msgstr "" #: ../../i18n_templatelist.c:709 #, fuzzy msgid "Send command" msgstr "ОÑновные команды" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "" #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 #, fuzzy msgid "Name of room to log pages" msgstr "КоличеÑтво комнат" #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 msgid "Authentication mode" msgstr "" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 #, fuzzy msgid "Self contained" msgstr "Ñодержит" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 msgid "Host based" msgstr "" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 msgid "Allow anonymous guest access" msgstr "" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 msgid "Master user name (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 #, fuzzy msgid "Master user password" msgstr "Введите новый пароль:" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 #, fuzzy msgid "Initial access level for new users" msgstr "Уровень доÑтупа Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ:" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "" #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "" #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 #, fuzzy msgid "Add, change, or delete floors" msgstr "Добавить/изменить/удалить Ñтажи" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "" #: ../../i18n_templatelist.c:753 #, fuzzy msgid "Delete this note?" msgstr "Удалить комнату" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 msgid "Logged in as" msgstr "Ð’Ñ‹ вошли как" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 msgid "Not logged in." msgstr "Вход не выполнен." #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "Ð’Ñ‹ должны войти в ÑиÑтему Ð´Ð»Ñ Ð´Ð¾Ñтупа к Ñтой Ñтранице." #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "Войдите иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ пароль" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "Пароль:" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "Ðовый пользователь? ЗарегиÑтрируйтеÑÑŒ ÑейчаÑ" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "" #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "Войдите иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ OpenID" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "OpenID URL:" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 #, fuzzy msgid "Log in using Google" msgstr "Войдите иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ OpenID" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 #, fuzzy msgid "Log in using Yahoo" msgstr "Войдите иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ OpenID" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 #, fuzzy msgid "Log in using AOL or AIM" msgstr "Войдите иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ OpenID" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "Добавить новый Ñкрипт" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "Ð˜Ð¼Ñ Ñкрипта: " #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "Изменить Ñкрипты" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "Удалить Ñкрипты" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "Ð”Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñкрипта, выберите Ñкрипт из ÑпиÑка и нажмите \"Удалить\"." #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 msgid "Restart Now" msgstr "Перезагрузить ÑейчаÑ" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 msgid "Configure Push Email" msgstr "" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 msgid "Notify Funambol server" msgstr "" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 #, fuzzy msgid "Send a text message to..." msgstr "Отправить Ñообщение" #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "" #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "" #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "" #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "" #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "-1 to disable" msgstr "" #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 msgid "ManageSieve Port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 #, fuzzy msgid "General" msgstr "Отправитель" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 #, fuzzy msgid "Settings" msgstr "ÐаÑтройка панели иконок" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 #, fuzzy msgid "Access" msgstr "Уровень доÑтупа" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 #, fuzzy msgid "Directory" msgstr "ИÑториÑ" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 #, fuzzy msgid "List" msgstr "СпиÑок задач" #: ../../i18n_templatelist.c:847 #, fuzzy msgid "Digest" msgstr "Формат времени" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "" #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "" #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 msgid "Allow self-service subscribe/unsubscribe requests." msgstr "" #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "" #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 #, fuzzy msgid "Set" msgstr "Тема" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 #, fuzzy msgid "Summary page for " msgstr "Итого:" #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "СообщениÑ" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 msgid "Who‘s online now" msgstr "" #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "О Ñервере" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 msgid "running" msgstr "" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 #, fuzzy msgid "with" msgstr "пÑтый" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 msgid "and located in" msgstr "" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 #, fuzzy msgid "Your system administrator is" msgstr "ÐдминиÑтрациÑ" #: ../../i18n_templatelist.c:874 #, fuzzy msgid "Do you really want to kill this session?" msgstr "Ð’Ñ‹ дейÑтвительно хотите удалить OpenID?" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "" #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 msgid "Click on a name to read user info. Click on" msgstr "" #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 msgid "to send an instant message to that user." msgstr "" #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "Старые ÑообщениÑ" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "Ðовые ÑообщениÑ" #: ../../i18n_templatelist.c:880 msgid "Share" msgstr "" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "Введите новый пароль:" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "Введите его ещё раз, Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸:" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "Сменить пароль" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "Ðазвание комнаты:" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "Изменить название комнаты" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "Ð˜Ð¼Ñ Ñ…Ð¾Ñта:" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "Изменить Ð¸Ð¼Ñ Ñ…Ð¾Ñта" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "Изменить Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "Подтвердить перемещение ÑообщениÑ" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "ПеремеÑтить Ñообщение в:" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "" #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "Перейти к Ñледующей комнате" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 msgid "...with unread messages" msgstr "" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 #, fuzzy msgid "Skip to next room" msgstr "ПропуÑтить комнату" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 msgid "oops! Back to " msgstr "УпÑ! Ðазад в " #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "Читать новые ÑообщениÑ" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 #, fuzzy msgid "...in this room" msgstr "ПропуÑтить комнату" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "Читать вÑе ÑообщениÑ" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "Введите Ñообщение" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 #, fuzzy msgid "(post in this room)" msgstr "ПропуÑтить комнату" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 #, fuzzy msgid "Summary page" msgstr "Итого:" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "СпиÑок пользователей" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 #, fuzzy msgid "(all registered users)" msgstr "Ðовые пользователи" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "Добавить новый контакт" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "Добавить новое Ñобытие" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "Добавить новое задание" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "ПроÑмотр заметок" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "Добавить новую заметку" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "Обновить ÑпиÑок Ñообщений" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "ÐапиÑать пиÑьмо" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "ДомашнÑÑ Ð’Ð¸ÐºÐ¸" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "Редактировать Ñтраницу" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "ИÑториÑ" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 #, fuzzy msgid "New blog post" msgstr "новые ÑообщениÑ" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "ПропуÑтить комнату" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 #, fuzzy msgid "Save changes?" msgstr "Сохранить изменениÑ" #~ msgid "There is no room called '%s'." #~ msgstr "Ðе комнаты под названием '%s'." #, fuzzy #~ msgid "Network" #~ msgstr "Сетевой пользователь" #~ msgid "A script by that name already exists." #~ msgstr "Скрипт Ñ Ñ‚Ð°ÐºÐ¸Ð¼ именем уже ÑущеÑтвует" #~ msgid "Delete script" #~ msgstr "Удалить Ñкрипт" #~ msgid "Room list" #~ msgstr "СпиÑок комнат" #~ msgid " - powered by Citadel" #~ msgstr " - powered by Citadel" #, fuzzy #~ msgid "uname" #~ msgstr "Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "text" #~ msgstr "Ñлед." #, fuzzy #~ msgid "name" #~ msgstr "Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "pname" #~ msgstr "Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°" #, fuzzy #~ msgid "password" #~ msgstr "Пароль:" #, fuzzy #~ msgid "pass" #~ msgstr "Задачи" #, fuzzy #~ msgid "display: none" #~ msgstr "Отображаемое имÑ:" #~ msgid "Your password was not accepted." #~ msgstr "Ðеверный пароль" #, fuzzy #~ msgid "Log off now?" #~ msgstr "Выйти" #~ msgid "Customize this menu" #~ msgstr "Customise this menu" webcit-9.01-dfsg/po/webcit/sl.po000066400000000000000000003650661254743150300165360ustar00rootroot00000000000000# Slovenian translation for citadel # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the citadel package. # FIRST AUTHOR , 2011. # msgid "" msgstr "" "Project-Id-Version: citadel\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2011-04-30 01:30+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Slovenian \n" "Language: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-08-01 04:34+0000\n" "X-Generator: Launchpad (build 15719)\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "" #: ../../availability.c:169 msgid "free" msgstr "" #: ../../availability.c:179 msgid "BUSY" msgstr "" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "" #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "" #: ../../graphics.c:106 msgid "your photo" msgstr "" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "" #: ../../tasks.c:93 msgid "Completed?" msgstr "" #: ../../tasks.c:95 msgid "Name of task" msgstr "" #: ../../tasks.c:97 msgid "Date due" msgstr "" #: ../../tasks.c:99 msgid "Category" msgstr "" #: ../../tasks.c:101 msgid "Show All" msgstr "" #: ../../tasks.c:224 msgid "Edit task" msgstr "" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "" #: ../../tasks.c:259 msgid "Start date:" msgstr "" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "" #: ../../tasks.c:289 msgid "Due date:" msgstr "" #: ../../tasks.c:318 msgid "Completed:" msgstr "" #: ../../tasks.c:329 msgid "Category:" msgstr "" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, c-format msgid "%d comments" msgstr "" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "" #: ../../sysmsgs.c:103 msgid " has been saved." msgstr "" #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "" #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "" #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "" #: ../../openid.c:47 msgid "(delete)" msgstr "" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "" #: ../../openid.c:58 msgid "Attach" msgstr "" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "" #: ../../summary.c:128 msgid "(None)" msgstr "" #: ../../summary.c:184 msgid "(Nothing)" msgstr "" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "" #: ../../bbsview_renderer.c:354 msgid "First" msgstr "" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "" #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "" #: ../../auth.c:617 msgid "very weak" msgstr "" #: ../../auth.c:620 msgid "weak" msgstr "" #: ../../auth.c:623 msgid "ok" msgstr "" #: ../../auth.c:627 msgid "strong" msgstr "" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "" #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "" #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "" #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "" #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "" #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "" #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "" #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "" #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "" #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "" #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "" #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "" #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "" #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "" #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "" #: ../../event.c:71 msgid "seconds" msgstr "" #: ../../event.c:72 msgid "minutes" msgstr "" #: ../../event.c:73 msgid "hours" msgstr "" #: ../../event.c:74 msgid "days" msgstr "" #: ../../event.c:75 msgid "weeks" msgstr "" #: ../../event.c:76 msgid "months" msgstr "" #: ../../event.c:77 msgid "years" msgstr "" #: ../../event.c:78 msgid "never" msgstr "" #: ../../event.c:82 msgid "first" msgstr "" #: ../../event.c:83 msgid "second" msgstr "" #: ../../event.c:84 msgid "third" msgstr "" #: ../../event.c:85 msgid "fourth" msgstr "" #: ../../event.c:86 msgid "fifth" msgstr "" #: ../../event.c:89 msgid "Event" msgstr "" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "" #: ../../event.c:168 msgid "Add or edit an event" msgstr "" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "" #: ../../event.c:222 msgid "Location" msgstr "" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "" #: ../../event.c:374 msgid "Organizer" msgstr "" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "" #: ../../event.c:397 msgid "Show time as:" msgstr "" #: ../../event.c:420 msgid "Free" msgstr "" #: ../../event.c:428 msgid "Busy" msgstr "" #: ../../event.c:445 msgid "(One per line)" msgstr "" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "" #: ../../event.c:518 msgid "Recurrence rule" msgstr "" #: ../../event.c:522 msgid "Repeats every" msgstr "" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "" #: ../../event.c:631 msgid "of the month" msgstr "" #: ../../event.c:660 msgid "every " msgstr "" #: ../../event.c:661 msgid "year on this date" msgstr "" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "" #: ../../event.c:717 msgid "Recurrence range" msgstr "" #: ../../event.c:725 msgid "No ending date" msgstr "" #: ../../event.c:732 msgid "Repeat this event" msgstr "" #: ../../event.c:735 msgid "times" msgstr "" #: ../../event.c:743 msgid "Repeat this event until " msgstr "" #: ../../event.c:771 msgid "Check attendee availability" msgstr "" #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "" #: ../../inetconf.c:126 msgid " has been deleted." msgstr "" #. added status message #: ../../inetconf.c:144 msgid " added." msgstr "" #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "" #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "" #: ../../listsub.c:38 ../../listsub.c:76 msgid "You need to specify the email address you'd like to subscribe with." msgstr "" #: ../../messages.c:73 msgid "ERROR:" msgstr "" #: ../../messages.c:91 msgid "Empty message" msgstr "" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "" #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "" #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "" #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "" #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "" #: ../../paging.c:29 msgid "Send instant message" msgstr "" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "" #: ../../paging.c:51 msgid "Enter message text:" msgstr "" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "" #: ../../paging.c:78 msgid "Message was not sent." msgstr "" #: ../../paging.c:89 msgid "Message has been sent to " msgstr "" #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "" #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "" #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "" #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "" #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "" #: ../../roomlist.c:105 msgid "My Folders" msgstr "" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "" #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "" #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "" #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "" #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "" #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "" #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "" #: ../../roomops.c:1363 msgid "Room list view" msgstr "" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "" #: ../../roomtokens.c:570 msgid "file" msgstr "" #: ../../roomtokens.c:572 msgid "files" msgstr "" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "" #: ../../roomviews.c:55 msgid "Address Book" msgstr "" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "" #: ../../roomviews.c:57 msgid "Task List" msgstr "" #: ../../roomviews.c:58 msgid "Notes List" msgstr "" #: ../../roomviews.c:59 msgid "Wiki" msgstr "" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "" #: ../../roomviews.c:61 msgid "Journal" msgstr "" #: ../../roomviews.c:62 msgid "Drafts" msgstr "" #: ../../roomviews.c:63 msgid "Blog" msgstr "" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "" #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "" #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "" #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "" #: ../../useredit.c:778 msgid "A new user has been created." msgstr "" #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "" #: ../../vcard_edit.c:438 msgid " (work)" msgstr "" #: ../../vcard_edit.c:440 msgid " (home)" msgstr "" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr "" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "" #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "" #: ../../vcard_edit.c:940 msgid "Error" msgstr "" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "" #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" #: ../../webcit.c:688 msgid "Read More..." msgstr "" #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "" #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "" #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "" #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "" #: ../../wiki.c:143 msgid "Author" msgstr "" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "" #: ../../wiki.c:184 msgid "(revert)" msgstr "" #: ../../wiki.c:246 msgid "Page title" msgstr "" #: ../../fmt_date.c:306 msgid "Time format" msgstr "" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "" #: ../../calendar_view.c:750 msgid "Week" msgstr "" #: ../../calendar_view.c:752 msgid "Hours" msgstr "" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "" #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "" #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "" #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "" #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "" #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "" #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "" #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "" #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "" #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "" #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 msgid "System Administration Menu" msgstr "" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 msgid "Room Admin Menu" msgstr "" #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 msgid "Fallback smart hosts" msgstr "" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 msgid "RBL hosts" msgstr "" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 msgid "Masqueradable domains" msgstr "" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 msgid "Network services" msgstr "" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "" #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "" #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "" #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "" #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "" #: ../../i18n_templatelist.c:95 msgid "Create new room" msgstr "" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 msgid "If you select this option," msgstr "" #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 msgid "will disappear from your room list. Is this what you wish to do?" msgstr "" #: ../../i18n_templatelist.c:102 msgid "Zap this room" msgstr "" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "" #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 msgid "Click on any room to un-zap it and goto that room." msgstr "" #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "" #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 msgid "Manage your OpenIDs" msgstr "" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "" #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "" #: ../../i18n_templatelist.c:144 msgid "Go there" msgstr "" #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "" #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 msgid "Push Email" msgstr "" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 msgid "Funambol server host (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 msgid "Funambol server port " msgstr "" #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 msgid "Funambol sync source" msgstr "" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 msgid "External pager tool (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 msgid "Sunday" msgstr "" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 msgid "Monday" msgstr "" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "" #: ../../i18n_templatelist.c:168 msgid "Change" msgstr "" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "" #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 msgid "Number of logins" msgstr "" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 msgid "Messages submitted" msgstr "" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 msgid "Access level" msgstr "" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 msgid "User ID number" msgstr "" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 msgid "POP3 fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 msgid "POP3 fastest fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 msgid "Remote Sites:" msgstr "" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 msgid "Status:" msgstr "" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 msgid "Jobs waiting for further processing:" msgstr "" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 msgid "Message to your Users:" msgstr "" #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "" #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 msgid "General site configuration items" msgstr "" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 msgid "Node name" msgstr "" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 msgid "Telephone number" msgstr "" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 msgid "Networked Room" msgstr "" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 msgid "Add a new node" msgstr "" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "" #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 msgid "Port number" msgstr "" #: ../../i18n_templatelist.c:241 msgid "Add node?" msgstr "" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 msgid "(kill)" msgstr "" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 msgid "Edit configuration" msgstr "" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 msgid "Edit address book entry" msgstr "" #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 msgid "Minutes" msgstr "" #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 msgid "active" msgstr "" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 msgid "(Edit)" msgstr "" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "" #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "" #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "" #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 msgid "Add, change, delete user accounts" msgstr "" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 msgid "(hosts running the ClamAV clamd service)" msgstr "" #: ../../i18n_templatelist.c:270 msgid "Send" msgstr "" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 msgid "Restart Citadel" msgstr "" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 msgid "Post message" msgstr "" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "" #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 msgid "Delete this message?" msgstr "" #: ../../i18n_templatelist.c:300 msgid "Room Logo" msgstr "" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "" #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 msgid "Enter another command" msgstr "" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 msgid "Return to menu" msgstr "" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 msgid "Users currently on" msgstr "" #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 msgid "Click here to send an instant message to" msgstr "" #: ../../i18n_templatelist.c:308 msgid "Pictures in" msgstr "" #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 msgid "Edit or delete users" msgstr "" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 msgid "You need to be aide to view this." msgstr "" #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 msgid "Add users" msgstr "" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 msgid "Edit or Delete users" msgstr "" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "" #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 msgid "User list for " msgstr "" #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "" #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "" #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "" #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "" #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 msgid "Upload failed" msgstr "" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 msgid "Are you shure you want to delete {filename}?" msgstr "" #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 msgid "Remove" msgstr "" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "" #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 msgid "Perform journaling of email messages" msgstr "" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 msgid "Perform journaling of non-email messages" msgstr "" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "" #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 msgid "Remote host" msgstr "" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 msgid "Keep messages on server?" msgstr "" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 msgid "Interval" msgstr "" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "" #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 msgid "New user: " msgstr "" #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "" #: ../../i18n_templatelist.c:426 msgid "Invite" msgstr "" #: ../../i18n_templatelist.c:427 msgid "User" msgstr "" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 msgid "Users" msgstr "" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 msgid "Addressbook Popup" msgstr "" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "" #: ../../i18n_templatelist.c:435 msgid "Delete user" msgstr "" #: ../../i18n_templatelist.c:436 msgid "Delete this user?" msgstr "" #: ../../i18n_templatelist.c:437 msgid "Delete File" msgstr "" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 msgid "which is already in your calendar." msgstr "" #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 msgid "This event would conflict with" msgstr "" #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "" #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "" #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "" #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "" #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 msgid "Zap (forget) this room" msgstr "" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "Zap duplicate messages" msgstr "" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 msgid "Next attempt" msgstr "" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "" #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 msgid "Powered by Citadel" msgstr "" #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "" #: ../../i18n_templatelist.c:507 msgid "Go to your email inbox" msgstr "" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "" #: ../../i18n_templatelist.c:509 msgid "Go to your personal calendar" msgstr "" #: ../../i18n_templatelist.c:511 msgid "Go to your personal address book" msgstr "" #: ../../i18n_templatelist.c:513 msgid "Go to your personal notes" msgstr "" #: ../../i18n_templatelist.c:515 msgid "Go to your personal task list" msgstr "" #: ../../i18n_templatelist.c:517 msgid "List all your accessible rooms" msgstr "" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "" #: ../../i18n_templatelist.c:526 msgid "Room and system administration functions" msgstr "" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "" #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "" #: ../../i18n_templatelist.c:545 msgid "Reset form" msgstr "" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "" #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "" #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 msgid " to the " msgstr "" #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 msgid " mailing list." msgstr "" #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "" #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 msgid "ERROR" msgstr "" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 msgid "from the" msgstr "" #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 msgid "mailing list." msgstr "" #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 msgid "Back..." msgstr "" #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 msgid "Confirmation successful!" msgstr "" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 msgid "Confirmation failed." msgstr "" #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "" #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 msgid "Name of list:" msgstr "" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 msgid "Your e-mail address:" msgstr "" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "" #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 msgid "One message at a time" msgstr "" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 msgid "Digest format" msgstr "" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 msgid "name of room: " msgstr "" #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "" #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 msgid "Network shared room" msgstr "" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 msgid "Room aide: " msgstr "" #: ../../i18n_templatelist.c:611 msgid "Delete this entry?" msgstr "" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 msgid "Remote node name" msgstr "" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 msgid "Remote room name" msgstr "" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 msgid "resend messages to this node" msgstr "" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "" #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "" #: ../../i18n_templatelist.c:633 msgid "Create new floor" msgstr "" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "" #: ../../i18n_templatelist.c:636 msgid "Delete rule" msgstr "" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 msgid "bytes" msgstr "" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "" #: ../../i18n_templatelist.c:679 msgid "Change name" msgstr "" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 msgid "Configure automatic expiry of old messages" msgstr "" #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "" #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "" #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 msgid "Default message expire policy for public rooms" msgstr "" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 msgid "Default message expire policy for private mailboxes" msgstr "" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 msgid "Same policy as public rooms" msgstr "" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "" #: ../../i18n_templatelist.c:700 msgid "Are you sure you want to delete this room?" msgstr "" #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 msgid "Set or change the icon for this rooms banner" msgstr "" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 msgid "Edit this rooms Info file" msgstr "" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 msgid "Detected host header is " msgstr "" #: ../../i18n_templatelist.c:709 msgid "Send command" msgstr "" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "" #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 msgid "Name of room to log pages" msgstr "" #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 msgid "Authentication mode" msgstr "" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 msgid "Self contained" msgstr "" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 msgid "Host based" msgstr "" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 msgid "Allow anonymous guest access" msgstr "" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 msgid "Master user name (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 msgid "Master user password" msgstr "" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 msgid "Initial access level for new users" msgstr "" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "" #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "" #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 msgid "Add, change, or delete floors" msgstr "" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "" #: ../../i18n_templatelist.c:753 msgid "Delete this note?" msgstr "" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 msgid "Logged in as" msgstr "" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 msgid "Not logged in." msgstr "" #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "" #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "" #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 msgid "Log in using Google" msgstr "" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 msgid "Log in using Yahoo" msgstr "" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 msgid "Log in using AOL or AIM" msgstr "" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "" #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "" #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 msgid "Restart Now" msgstr "" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 msgid "Configure Push Email" msgstr "" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 msgid "Notify Funambol server" msgstr "" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 msgid "Send a text message to..." msgstr "" #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "" #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "" #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "" #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "" #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "-1 to disable" msgstr "" #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 msgid "ManageSieve Port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 msgid "General" msgstr "" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 msgid "Settings" msgstr "" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 msgid "Access" msgstr "" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 msgid "Directory" msgstr "" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 msgid "List" msgstr "" #: ../../i18n_templatelist.c:847 msgid "Digest" msgstr "" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "" #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "" #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 msgid "Allow self-service subscribe/unsubscribe requests." msgstr "" #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "" #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 msgid "Set" msgstr "" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 msgid "Summary page for " msgstr "" #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 msgid "Who‘s online now" msgstr "" #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 msgid "running" msgstr "" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 msgid "with" msgstr "" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 msgid "and located in" msgstr "" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 msgid "Your system administrator is" msgstr "" #: ../../i18n_templatelist.c:874 msgid "Do you really want to kill this session?" msgstr "" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "" #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 msgid "Click on a name to read user info. Click on" msgstr "" #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 msgid "to send an instant message to that user." msgstr "" #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "" #: ../../i18n_templatelist.c:880 msgid "Share" msgstr "" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "" #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 msgid "...with unread messages" msgstr "" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 msgid "oops! Back to " msgstr "" #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 msgid "Summary page" msgstr "" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 msgid "(all registered users)" msgstr "" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 msgid "New blog post" msgstr "" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 msgid "Save changes?" msgstr "" webcit-9.01-dfsg/po/webcit/sv.po000066400000000000000000003675131254743150300165470ustar00rootroot00000000000000# Swedish translation for citadel # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the citadel package. # Henric, 2010. # Mikael Mustonen # msgid "" msgstr "" "Project-Id-Version: citadel\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2013-06-11 20:01+0000\n" "Last-Translator: Mikael Mustonen \n" "Language-Team: Swedish \n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2013-06-12 05:10+0000\n" "X-Generator: Launchpad (build 16667)\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "" #: ../../availability.c:169 msgid "free" msgstr "" #: ../../availability.c:179 msgid "BUSY" msgstr "" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "" #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "" #: ../../graphics.c:106 msgid "your photo" msgstr "" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "bilden pÃ¥ rubriken vid utloggning" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "" #: ../../tasks.c:93 msgid "Completed?" msgstr "" #: ../../tasks.c:95 msgid "Name of task" msgstr "" #: ../../tasks.c:97 msgid "Date due" msgstr "" #: ../../tasks.c:99 msgid "Category" msgstr "Kategori" #: ../../tasks.c:101 msgid "Show All" msgstr "Visa alla" #: ../../tasks.c:224 msgid "Edit task" msgstr "Redigera aktivitet" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "Sammanfattning:" #: ../../tasks.c:259 msgid "Start date:" msgstr "Startdatum:" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "Inget datum" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "eller" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "Tid kopplad till" #: ../../tasks.c:289 msgid "Due date:" msgstr "Förfallodag:" #: ../../tasks.c:318 msgid "Completed:" msgstr "Klar:" #: ../../tasks.c:329 msgid "Category:" msgstr "" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, c-format msgid "%d comments" msgstr "%d kommentarer" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "permalänk" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "nyare tjänster" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "äldre inlägg" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "" #: ../../sysmsgs.c:103 msgid " has been saved." msgstr "" #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "" #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "" #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "(accepterad)" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "" #: ../../openid.c:47 msgid "(delete)" msgstr "" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "" #: ../../openid.c:58 msgid "Attach" msgstr "" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "" #: ../../summary.c:128 msgid "(None)" msgstr "" #: ../../summary.c:184 msgid "(Nothing)" msgstr "" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "" #: ../../bbsview_renderer.c:354 msgid "First" msgstr "Första" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "Sista" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "Raderad" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "Ny Användare" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "Oönskad användare" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "Lokal Användare" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "Nätverks Användare" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "Moderator" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "Chef" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "" #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "" #: ../../auth.c:617 msgid "very weak" msgstr "" #: ../../auth.c:620 msgid "weak" msgstr "" #: ../../auth.c:623 msgid "ok" msgstr "" #: ../../auth.c:627 msgid "strong" msgstr "" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "" #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "" #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "Tomt lösenord är inte tillÃ¥tet." #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "" #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "" #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "" #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "" #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "" #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "" #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "" #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "" #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "" #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "" #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "" #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "" #: ../../event.c:71 msgid "seconds" msgstr "" #: ../../event.c:72 msgid "minutes" msgstr "" #: ../../event.c:73 msgid "hours" msgstr "" #: ../../event.c:74 msgid "days" msgstr "" #: ../../event.c:75 msgid "weeks" msgstr "" #: ../../event.c:76 msgid "months" msgstr "" #: ../../event.c:77 msgid "years" msgstr "" #: ../../event.c:78 msgid "never" msgstr "" #: ../../event.c:82 msgid "first" msgstr "" #: ../../event.c:83 msgid "second" msgstr "" #: ../../event.c:84 msgid "third" msgstr "" #: ../../event.c:85 msgid "fourth" msgstr "" #: ../../event.c:86 msgid "fifth" msgstr "" #: ../../event.c:89 msgid "Event" msgstr "" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "" #: ../../event.c:168 msgid "Add or edit an event" msgstr "" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "" #: ../../event.c:222 msgid "Location" msgstr "" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "" #: ../../event.c:374 msgid "Organizer" msgstr "" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "" #: ../../event.c:397 msgid "Show time as:" msgstr "" #: ../../event.c:420 msgid "Free" msgstr "" #: ../../event.c:428 msgid "Busy" msgstr "" #: ../../event.c:445 msgid "(One per line)" msgstr "" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "" #: ../../event.c:518 msgid "Recurrence rule" msgstr "" #: ../../event.c:522 msgid "Repeats every" msgstr "" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "" #: ../../event.c:631 msgid "of the month" msgstr "" #: ../../event.c:660 msgid "every " msgstr "" #: ../../event.c:661 msgid "year on this date" msgstr "" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "" #: ../../event.c:717 msgid "Recurrence range" msgstr "" #: ../../event.c:725 msgid "No ending date" msgstr "" #: ../../event.c:732 msgid "Repeat this event" msgstr "" #: ../../event.c:735 msgid "times" msgstr "" #: ../../event.c:743 msgid "Repeat this event until " msgstr "" #: ../../event.c:771 msgid "Check attendee availability" msgstr "" #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "" #: ../../inetconf.c:126 msgid " has been deleted." msgstr "" #. added status message #: ../../inetconf.c:144 msgid " added." msgstr "" #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "" #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "" #: ../../listsub.c:38 ../../listsub.c:76 msgid "You need to specify the email address you'd like to subscribe with." msgstr "" #: ../../messages.c:73 msgid "ERROR:" msgstr "" #: ../../messages.c:91 msgid "Empty message" msgstr "" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "" #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "" #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "" #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "" #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "" #: ../../paging.c:29 msgid "Send instant message" msgstr "" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "" #: ../../paging.c:51 msgid "Enter message text:" msgstr "" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "" #: ../../paging.c:78 msgid "Message was not sent." msgstr "" #: ../../paging.c:89 msgid "Message has been sent to " msgstr "" #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "" #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "" #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "" #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "" #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "" #: ../../roomlist.c:105 msgid "My Folders" msgstr "" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "Avbruten. Ändringarna sparades ej." #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "Dina ändringar har sparats." #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "Användaren '%s' har sparkats ut frÃ¥n rum '%s'." #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "Användaren '%s' är inbjuden till rum '%s'." #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "Avbruten. Inget nytt rum skapades." #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "VÃ¥ningen har raderats." #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "Ny vÃ¥ning har skapats." #: ../../roomops.c:1363 msgid "Room list view" msgstr "Rums lista" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "Visa tomma vÃ¥ningar." #: ../../roomtokens.c:570 msgid "file" msgstr "" #: ../../roomtokens.c:572 msgid "files" msgstr "" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "Anslagstavla" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "Mailkatalog" #: ../../roomviews.c:55 msgid "Address Book" msgstr "Adressbok" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "Kalender" #: ../../roomviews.c:57 msgid "Task List" msgstr "Aktivitetsfält" #: ../../roomviews.c:58 msgid "Notes List" msgstr "" #: ../../roomviews.c:59 msgid "Wiki" msgstr "Wiki" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "" #: ../../roomviews.c:61 msgid "Journal" msgstr "Dagbok" #: ../../roomviews.c:62 msgid "Drafts" msgstr "Utkast" #: ../../roomviews.c:63 msgid "Blog" msgstr "Blogg" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "" #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "" #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "" #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "" #: ../../useredit.c:778 msgid "A new user has been created." msgstr "En ny användare har skapats." #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "" #: ../../vcard_edit.c:438 msgid " (work)" msgstr "" #: ../../vcard_edit.c:440 msgid " (home)" msgstr "" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr "" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "" #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "" #: ../../vcard_edit.c:940 msgid "Error" msgstr "" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "" #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" #: ../../webcit.c:688 msgid "Read More..." msgstr "" #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "" #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "" #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "" #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "" #: ../../wiki.c:143 msgid "Author" msgstr "" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "" #: ../../wiki.c:184 msgid "(revert)" msgstr "" #: ../../wiki.c:246 msgid "Page title" msgstr "" #: ../../fmt_date.c:306 msgid "Time format" msgstr "Tidsformat" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "" #: ../../calendar_view.c:750 msgid "Week" msgstr "" #: ../../calendar_view.c:752 msgid "Hours" msgstr "" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "" #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "" #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "" #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "" #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "" #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "" #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "" #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "" #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "" #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "" #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 msgid "System Administration Menu" msgstr "" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 msgid "Room Admin Menu" msgstr "" #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 msgid "Fallback smart hosts" msgstr "" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 msgid "RBL hosts" msgstr "" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 msgid "Masqueradable domains" msgstr "" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 #, fuzzy msgid "Network services" msgstr "Nätverks Användare" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "" #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "" #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "" #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "" #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "" #: ../../i18n_templatelist.c:95 msgid "Create new room" msgstr "" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 msgid "If you select this option," msgstr "" #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 msgid "will disappear from your room list. Is this what you wish to do?" msgstr "" #: ../../i18n_templatelist.c:102 msgid "Zap this room" msgstr "" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "" #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 msgid "Click on any room to un-zap it and goto that room." msgstr "" #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "" #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 msgid "Manage your OpenIDs" msgstr "" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "" #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "" #: ../../i18n_templatelist.c:144 msgid "Go there" msgstr "" #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "" #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 msgid "Push Email" msgstr "" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 msgid "Funambol server host (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 msgid "Funambol server port " msgstr "" #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 msgid "Funambol sync source" msgstr "" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 msgid "External pager tool (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 msgid "Sunday" msgstr "" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 msgid "Monday" msgstr "" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "" #: ../../i18n_templatelist.c:168 msgid "Change" msgstr "" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "" #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 msgid "Number of logins" msgstr "" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 msgid "Messages submitted" msgstr "" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 msgid "Access level" msgstr "" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 msgid "User ID number" msgstr "" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 msgid "POP3 fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 msgid "POP3 fastest fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 msgid "Remote Sites:" msgstr "" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 msgid "Status:" msgstr "" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 msgid "Jobs waiting for further processing:" msgstr "" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 msgid "Message to your Users:" msgstr "" #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "" #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 msgid "General site configuration items" msgstr "" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 msgid "Node name" msgstr "" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 msgid "Telephone number" msgstr "" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 #, fuzzy msgid "Networked Room" msgstr "Nätverks Användare" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 msgid "Add a new node" msgstr "" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "" #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 msgid "Port number" msgstr "" #: ../../i18n_templatelist.c:241 msgid "Add node?" msgstr "" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 msgid "(kill)" msgstr "" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 msgid "Edit configuration" msgstr "" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 msgid "Edit address book entry" msgstr "" #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 msgid "Minutes" msgstr "" #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 msgid "active" msgstr "" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 msgid "(Edit)" msgstr "" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "" #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "" #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "Skriv en kommentar" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "" #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 msgid "Add, change, delete user accounts" msgstr "" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 msgid "(hosts running the ClamAV clamd service)" msgstr "" #: ../../i18n_templatelist.c:270 msgid "Send" msgstr "" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 msgid "Restart Citadel" msgstr "" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 msgid "Post message" msgstr "" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "" #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 msgid "Delete this message?" msgstr "" #: ../../i18n_templatelist.c:300 msgid "Room Logo" msgstr "" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "" #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 msgid "Enter another command" msgstr "" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 msgid "Return to menu" msgstr "" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 msgid "Users currently on" msgstr "" #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 msgid "Click here to send an instant message to" msgstr "" #: ../../i18n_templatelist.c:308 msgid "Pictures in" msgstr "" #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 msgid "Edit or delete users" msgstr "" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 msgid "You need to be aide to view this." msgstr "" #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 msgid "Add users" msgstr "" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 msgid "Edit or Delete users" msgstr "" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "" #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 msgid "User list for " msgstr "" #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "" #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "" #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "" #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "" #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 msgid "Upload failed" msgstr "" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 msgid "Are you shure you want to delete {filename}?" msgstr "" #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 msgid "Remove" msgstr "" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "" #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 msgid "Perform journaling of email messages" msgstr "" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 msgid "Perform journaling of non-email messages" msgstr "" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "" #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 msgid "Remote host" msgstr "" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 msgid "Keep messages on server?" msgstr "" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 msgid "Interval" msgstr "" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "äLägg till" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "" #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 #, fuzzy msgid "New user: " msgstr "Ny Användare" #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "" #: ../../i18n_templatelist.c:426 msgid "Invite" msgstr "" #: ../../i18n_templatelist.c:427 #, fuzzy msgid "User" msgstr "Ny Användare" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 #, fuzzy msgid "Users" msgstr "Ny Användare" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 #, fuzzy msgid "Addressbook Popup" msgstr "Adressbok" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "" #: ../../i18n_templatelist.c:435 #, fuzzy msgid "Delete user" msgstr "Raderad" #: ../../i18n_templatelist.c:436 msgid "Delete this user?" msgstr "" #: ../../i18n_templatelist.c:437 #, fuzzy msgid "Delete File" msgstr "Raderad" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 msgid "which is already in your calendar." msgstr "" #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 msgid "This event would conflict with" msgstr "" #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "" #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "" #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "" #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "" #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 msgid "Zap (forget) this room" msgstr "" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "Zap duplicate messages" msgstr "" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 msgid "Next attempt" msgstr "" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "" #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 msgid "Powered by Citadel" msgstr "" #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "" #: ../../i18n_templatelist.c:507 msgid "Go to your email inbox" msgstr "" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "" #: ../../i18n_templatelist.c:509 msgid "Go to your personal calendar" msgstr "" #: ../../i18n_templatelist.c:511 msgid "Go to your personal address book" msgstr "" #: ../../i18n_templatelist.c:513 msgid "Go to your personal notes" msgstr "" #: ../../i18n_templatelist.c:515 msgid "Go to your personal task list" msgstr "" #: ../../i18n_templatelist.c:517 msgid "List all your accessible rooms" msgstr "" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "" #: ../../i18n_templatelist.c:526 msgid "Room and system administration functions" msgstr "" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "" #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "" #: ../../i18n_templatelist.c:545 msgid "Reset form" msgstr "" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "" #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "" #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 msgid " to the " msgstr "" #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 msgid " mailing list." msgstr "" #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "" #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 msgid "ERROR" msgstr "" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 msgid "from the" msgstr "" #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 msgid "mailing list." msgstr "" #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 msgid "Back..." msgstr "" #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 msgid "Confirmation successful!" msgstr "" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 msgid "Confirmation failed." msgstr "" #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "" #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 msgid "Name of list:" msgstr "" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 msgid "Your e-mail address:" msgstr "" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "" #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 msgid "One message at a time" msgstr "" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 msgid "Digest format" msgstr "" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 msgid "name of room: " msgstr "" #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "" #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 #, fuzzy msgid "Network shared room" msgstr "Nätverks Användare" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 msgid "Room aide: " msgstr "" #: ../../i18n_templatelist.c:611 msgid "Delete this entry?" msgstr "" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 msgid "Remote node name" msgstr "" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 msgid "Remote room name" msgstr "" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 msgid "resend messages to this node" msgstr "" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "" #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "" #: ../../i18n_templatelist.c:633 msgid "Create new floor" msgstr "" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "" #: ../../i18n_templatelist.c:636 #, fuzzy msgid "Delete rule" msgstr "Raderad" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 msgid "bytes" msgstr "" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "" #: ../../i18n_templatelist.c:679 msgid "Change name" msgstr "" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 msgid "Configure automatic expiry of old messages" msgstr "" #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "" #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "" #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 msgid "Default message expire policy for public rooms" msgstr "" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 msgid "Default message expire policy for private mailboxes" msgstr "" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 msgid "Same policy as public rooms" msgstr "" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "" #: ../../i18n_templatelist.c:700 msgid "Are you sure you want to delete this room?" msgstr "" #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 msgid "Set or change the icon for this rooms banner" msgstr "" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 msgid "Edit this rooms Info file" msgstr "" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 msgid "Detected host header is " msgstr "" #: ../../i18n_templatelist.c:709 #, fuzzy msgid "Send command" msgstr "%d kommentarer" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "" #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 msgid "Name of room to log pages" msgstr "" #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 msgid "Authentication mode" msgstr "" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 msgid "Self contained" msgstr "" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 msgid "Host based" msgstr "" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 msgid "Allow anonymous guest access" msgstr "" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 msgid "Master user name (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 msgid "Master user password" msgstr "" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 msgid "Initial access level for new users" msgstr "" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "" #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "" #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 msgid "Add, change, or delete floors" msgstr "" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "" #: ../../i18n_templatelist.c:753 msgid "Delete this note?" msgstr "" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 msgid "Logged in as" msgstr "" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 msgid "Not logged in." msgstr "" #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "Du måste vara inloggad för att nå denna sida." #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "Ny användare? Registrera dig nu" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "" #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 msgid "Log in using Google" msgstr "" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 msgid "Log in using Yahoo" msgstr "" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 msgid "Log in using AOL or AIM" msgstr "" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "" #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "" #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 msgid "Restart Now" msgstr "" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 msgid "Configure Push Email" msgstr "" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 msgid "Notify Funambol server" msgstr "" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 msgid "Send a text message to..." msgstr "" #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "" #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "" #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "" #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "" #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "-1 to disable" msgstr "" #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 msgid "ManageSieve Port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 msgid "General" msgstr "" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 msgid "Settings" msgstr "" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 msgid "Access" msgstr "" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 msgid "Directory" msgstr "" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 #, fuzzy msgid "List" msgstr "Aktivitetsfält" #: ../../i18n_templatelist.c:847 msgid "Digest" msgstr "" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "" #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "" #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 msgid "Allow self-service subscribe/unsubscribe requests." msgstr "" #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "" #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 msgid "Set" msgstr "" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 msgid "Summary page for " msgstr "" #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 msgid "Who‘s online now" msgstr "" #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 msgid "running" msgstr "" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 msgid "with" msgstr "" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 msgid "and located in" msgstr "" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 msgid "Your system administrator is" msgstr "" #: ../../i18n_templatelist.c:874 msgid "Do you really want to kill this session?" msgstr "" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "" #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 msgid "Click on a name to read user info. Click on" msgstr "" #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 msgid "to send an instant message to that user." msgstr "" #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "" #: ../../i18n_templatelist.c:880 msgid "Share" msgstr "" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "" #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 msgid "...with unread messages" msgstr "" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 msgid "oops! Back to " msgstr "" #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 msgid "Summary page" msgstr "" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 msgid "(all registered users)" msgstr "" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 #, fuzzy msgid "New blog post" msgstr "nyare tjänster" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 msgid "Save changes?" msgstr "" #, fuzzy #~ msgid "Network" #~ msgstr "Nätverks Användare" #~ msgid "Your password was not accepted." #~ msgstr "Ditt lösenord accepterades inte." webcit-9.01-dfsg/po/webcit/tr.po000066400000000000000000003665001254743150300165370ustar00rootroot00000000000000# Turkish translation for citadel # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the citadel package. # FIRST AUTHOR , 2011. # msgid "" msgstr "" "Project-Id-Version: citadel\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2011-12-19 07:18+0000\n" "Last-Translator: Dennis T Kaplan \n" "Language-Team: Turkish \n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2011-12-20 04:36+0000\n" "X-Generator: Launchpad (build 14538)\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "" #: ../../availability.c:169 msgid "free" msgstr "" #: ../../availability.c:179 msgid "BUSY" msgstr "" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "" #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "" #: ../../graphics.c:106 msgid "your photo" msgstr "" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "" #: ../../tasks.c:93 msgid "Completed?" msgstr "" #: ../../tasks.c:95 msgid "Name of task" msgstr "" #: ../../tasks.c:97 msgid "Date due" msgstr "" #: ../../tasks.c:99 msgid "Category" msgstr "" #: ../../tasks.c:101 msgid "Show All" msgstr "" #: ../../tasks.c:224 msgid "Edit task" msgstr "" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "" #: ../../tasks.c:259 msgid "Start date:" msgstr "" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "" #: ../../tasks.c:289 msgid "Due date:" msgstr "" #: ../../tasks.c:318 msgid "Completed:" msgstr "" #: ../../tasks.c:329 msgid "Category:" msgstr "" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "İptal" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, c-format msgid "%d comments" msgstr "" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "" #: ../../sysmsgs.c:103 msgid " has been saved." msgstr "" #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "Saat: " #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "Dakika: " #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "" #: ../../openid.c:47 msgid "(delete)" msgstr "" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "" #: ../../openid.c:58 msgid "Attach" msgstr "" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "" #: ../../summary.c:128 msgid "(None)" msgstr "" #: ../../summary.c:184 msgid "(Nothing)" msgstr "" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "" #: ../../bbsview_renderer.c:354 msgid "First" msgstr "" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "" #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "" #: ../../auth.c:617 msgid "very weak" msgstr "" #: ../../auth.c:620 msgid "weak" msgstr "" #: ../../auth.c:623 msgid "ok" msgstr "" #: ../../auth.c:627 msgid "strong" msgstr "" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "" #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "" #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "" #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "" #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "" #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "" #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "" #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "" #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "" #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "" #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "" #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "" #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "" #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "" #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "" #: ../../event.c:71 msgid "seconds" msgstr "" #: ../../event.c:72 msgid "minutes" msgstr "" #: ../../event.c:73 msgid "hours" msgstr "" #: ../../event.c:74 msgid "days" msgstr "" #: ../../event.c:75 msgid "weeks" msgstr "" #: ../../event.c:76 msgid "months" msgstr "" #: ../../event.c:77 msgid "years" msgstr "" #: ../../event.c:78 msgid "never" msgstr "" #: ../../event.c:82 msgid "first" msgstr "" #: ../../event.c:83 msgid "second" msgstr "" #: ../../event.c:84 msgid "third" msgstr "" #: ../../event.c:85 msgid "fourth" msgstr "" #: ../../event.c:86 msgid "fifth" msgstr "" #: ../../event.c:89 msgid "Event" msgstr "" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "" #: ../../event.c:168 msgid "Add or edit an event" msgstr "" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "" #: ../../event.c:222 msgid "Location" msgstr "" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "" #: ../../event.c:374 msgid "Organizer" msgstr "" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "" #: ../../event.c:397 msgid "Show time as:" msgstr "" #: ../../event.c:420 msgid "Free" msgstr "" #: ../../event.c:428 msgid "Busy" msgstr "" #: ../../event.c:445 msgid "(One per line)" msgstr "" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "" #: ../../event.c:518 msgid "Recurrence rule" msgstr "" #: ../../event.c:522 msgid "Repeats every" msgstr "" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "" #: ../../event.c:631 msgid "of the month" msgstr "" #: ../../event.c:660 msgid "every " msgstr "" #: ../../event.c:661 msgid "year on this date" msgstr "" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "" #: ../../event.c:717 msgid "Recurrence range" msgstr "" #: ../../event.c:725 msgid "No ending date" msgstr "" #: ../../event.c:732 msgid "Repeat this event" msgstr "" #: ../../event.c:735 msgid "times" msgstr "" #: ../../event.c:743 msgid "Repeat this event until " msgstr "" #: ../../event.c:771 msgid "Check attendee availability" msgstr "" #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "Simge ÇubuÄŸu Ayarı" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "" #: ../../inetconf.c:126 msgid " has been deleted." msgstr "" #. added status message #: ../../inetconf.c:144 msgid " added." msgstr "" #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "" #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "" #: ../../listsub.c:38 ../../listsub.c:76 msgid "You need to specify the email address you'd like to subscribe with." msgstr "" #: ../../messages.c:73 msgid "ERROR:" msgstr "" #: ../../messages.c:91 msgid "Empty message" msgstr "" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "" #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "" #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "" #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "" #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "Herhangi bir notu düzenlemek için tıklayın." #: ../../paging.c:29 msgid "Send instant message" msgstr "" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "" #: ../../paging.c:51 msgid "Enter message text:" msgstr "" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "" #: ../../paging.c:78 msgid "Message was not sent." msgstr "" #: ../../paging.c:89 msgid "Message has been sent to " msgstr "" #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "" #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "" #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "" #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "" #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "" #: ../../roomlist.c:105 msgid "My Folders" msgstr "" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "" #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "" #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "" #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "" #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "" #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "" #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "" #: ../../roomops.c:1363 msgid "Room list view" msgstr "" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "" #: ../../roomtokens.c:570 msgid "file" msgstr "" #: ../../roomtokens.c:572 msgid "files" msgstr "" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "" #: ../../roomviews.c:55 msgid "Address Book" msgstr "" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "" #: ../../roomviews.c:57 msgid "Task List" msgstr "" #: ../../roomviews.c:58 msgid "Notes List" msgstr "" #: ../../roomviews.c:59 msgid "Wiki" msgstr "" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "" #: ../../roomviews.c:61 msgid "Journal" msgstr "" #: ../../roomviews.c:62 msgid "Drafts" msgstr "" #: ../../roomviews.c:63 msgid "Blog" msgstr "" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" "Kullanıcı maksimum sayıda ve ÅŸu anda herhangi bir ek oturumları kabul " "edemez. Lütfen daha sonra tekrar deneyin veya sistem yöneticinize baÅŸvurun." #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "Citadel sunucudan beklenmeyen bir yanıt; dışarı balyalama." #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "" #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "" #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "DeÄŸiÅŸiklikler kaydedilmedi." #: ../../useredit.c:778 msgid "A new user has been created." msgstr "Yeni bir kullanıcı oluÅŸturuldu." #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "" #: ../../vcard_edit.c:438 msgid " (work)" msgstr "" #: ../../vcard_edit.c:440 msgid " (home)" msgstr "" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr "" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "" #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "" #: ../../vcard_edit.c:940 msgid "Error" msgstr "" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "" #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" #: ../../webcit.c:688 msgid "Read More..." msgstr "" #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "'% s' bir Wiki odası deÄŸildir." #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "'% s' adında bir sayfa yoktur." #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "" "Bu sayfa oluÅŸturmak istiyorsanız 'Bu sayfayı Düzenle' seçeneÄŸini seçin." #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "Tarih" #: ../../wiki.c:143 msgid "Author" msgstr "Yazar" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "(göster)" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "Kullanılan Sürüm" #: ../../wiki.c:184 msgid "(revert)" msgstr "(eski haline dön)" #: ../../wiki.c:246 msgid "Page title" msgstr "Sayfa baÅŸlığı" #: ../../fmt_date.c:306 msgid "Time format" msgstr "" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "" #: ../../calendar_view.c:750 msgid "Week" msgstr "" #: ../../calendar_view.c:752 msgid "Hours" msgstr "" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "" #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "" #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "" #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "" #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "" #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "" #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "" #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "" #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "" #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "" #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 msgid "System Administration Menu" msgstr "" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 msgid "Room Admin Menu" msgstr "" #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 msgid "Fallback smart hosts" msgstr "" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 msgid "RBL hosts" msgstr "" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 msgid "Masqueradable domains" msgstr "" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 msgid "Network services" msgstr "" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "" #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "" #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "" #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "" #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "" #: ../../i18n_templatelist.c:95 msgid "Create new room" msgstr "" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 msgid "If you select this option," msgstr "" #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 msgid "will disappear from your room list. Is this what you wish to do?" msgstr "" #: ../../i18n_templatelist.c:102 msgid "Zap this room" msgstr "" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "" #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 msgid "Click on any room to un-zap it and goto that room." msgstr "" #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "" #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 msgid "Manage your OpenIDs" msgstr "" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "" #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "" #: ../../i18n_templatelist.c:144 msgid "Go there" msgstr "" #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "" #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 msgid "Push Email" msgstr "" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 msgid "Funambol server host (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 msgid "Funambol server port " msgstr "" #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 msgid "Funambol sync source" msgstr "" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 msgid "External pager tool (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 msgid "Sunday" msgstr "" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 msgid "Monday" msgstr "" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "" #: ../../i18n_templatelist.c:168 msgid "Change" msgstr "" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "" #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 msgid "Number of logins" msgstr "" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 msgid "Messages submitted" msgstr "" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 msgid "Access level" msgstr "" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 msgid "User ID number" msgstr "" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 msgid "POP3 fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 msgid "POP3 fastest fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 msgid "Remote Sites:" msgstr "" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 msgid "Status:" msgstr "" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 msgid "Jobs waiting for further processing:" msgstr "" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 msgid "Message to your Users:" msgstr "" #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "" #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 msgid "General site configuration items" msgstr "" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 msgid "Node name" msgstr "" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 msgid "Telephone number" msgstr "" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 msgid "Networked Room" msgstr "" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 msgid "Add a new node" msgstr "" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "" #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 msgid "Port number" msgstr "" #: ../../i18n_templatelist.c:241 msgid "Add node?" msgstr "" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 msgid "(kill)" msgstr "" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 msgid "Edit configuration" msgstr "" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 msgid "Edit address book entry" msgstr "" #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 #, fuzzy msgid "Minutes" msgstr "Dakika: " #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 msgid "active" msgstr "" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 msgid "(Edit)" msgstr "" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "" #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "" #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "" #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 msgid "Add, change, delete user accounts" msgstr "" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 msgid "(hosts running the ClamAV clamd service)" msgstr "" #: ../../i18n_templatelist.c:270 msgid "Send" msgstr "" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 msgid "Restart Citadel" msgstr "" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 msgid "Post message" msgstr "" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "" #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 msgid "Delete this message?" msgstr "" #: ../../i18n_templatelist.c:300 msgid "Room Logo" msgstr "" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "" #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 msgid "Enter another command" msgstr "" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 msgid "Return to menu" msgstr "" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 msgid "Users currently on" msgstr "" #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 msgid "Click here to send an instant message to" msgstr "" #: ../../i18n_templatelist.c:308 msgid "Pictures in" msgstr "" #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 msgid "Edit or delete users" msgstr "" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 msgid "You need to be aide to view this." msgstr "" #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 msgid "Add users" msgstr "" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 msgid "Edit or Delete users" msgstr "" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "" #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 msgid "User list for " msgstr "" #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "" #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "" #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "" #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "" #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 msgid "Upload failed" msgstr "" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 msgid "Are you shure you want to delete {filename}?" msgstr "" #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 msgid "Remove" msgstr "" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "" #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 msgid "Perform journaling of email messages" msgstr "" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 msgid "Perform journaling of non-email messages" msgstr "" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "" #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 msgid "Remote host" msgstr "" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 msgid "Keep messages on server?" msgstr "" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 msgid "Interval" msgstr "" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "" #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 msgid "New user: " msgstr "" #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "" #: ../../i18n_templatelist.c:426 msgid "Invite" msgstr "" #: ../../i18n_templatelist.c:427 msgid "User" msgstr "" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 msgid "Users" msgstr "" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 msgid "Addressbook Popup" msgstr "" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "" #: ../../i18n_templatelist.c:435 msgid "Delete user" msgstr "" #: ../../i18n_templatelist.c:436 msgid "Delete this user?" msgstr "" #: ../../i18n_templatelist.c:437 msgid "Delete File" msgstr "" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 msgid "which is already in your calendar." msgstr "" #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 msgid "This event would conflict with" msgstr "" #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "" #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "" #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "" #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "" #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 msgid "Zap (forget) this room" msgstr "" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "Zap duplicate messages" msgstr "" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 msgid "Next attempt" msgstr "" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "" #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 msgid "Powered by Citadel" msgstr "" #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "" #: ../../i18n_templatelist.c:507 msgid "Go to your email inbox" msgstr "" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "" #: ../../i18n_templatelist.c:509 msgid "Go to your personal calendar" msgstr "" #: ../../i18n_templatelist.c:511 msgid "Go to your personal address book" msgstr "" #: ../../i18n_templatelist.c:513 msgid "Go to your personal notes" msgstr "" #: ../../i18n_templatelist.c:515 msgid "Go to your personal task list" msgstr "" #: ../../i18n_templatelist.c:517 msgid "List all your accessible rooms" msgstr "" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "" #: ../../i18n_templatelist.c:526 msgid "Room and system administration functions" msgstr "" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "" #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "" #: ../../i18n_templatelist.c:545 msgid "Reset form" msgstr "" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "" #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "" #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 msgid " to the " msgstr "" #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 msgid " mailing list." msgstr "" #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "" #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 msgid "ERROR" msgstr "" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 msgid "from the" msgstr "" #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 msgid "mailing list." msgstr "" #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 msgid "Back..." msgstr "" #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 msgid "Confirmation successful!" msgstr "" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 msgid "Confirmation failed." msgstr "" #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "" #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 msgid "Name of list:" msgstr "" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 msgid "Your e-mail address:" msgstr "" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "" #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 msgid "One message at a time" msgstr "" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 msgid "Digest format" msgstr "" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 msgid "name of room: " msgstr "" #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "" #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 msgid "Network shared room" msgstr "" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 msgid "Room aide: " msgstr "" #: ../../i18n_templatelist.c:611 msgid "Delete this entry?" msgstr "" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 msgid "Remote node name" msgstr "" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 msgid "Remote room name" msgstr "" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 msgid "resend messages to this node" msgstr "" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "" #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "" #: ../../i18n_templatelist.c:633 msgid "Create new floor" msgstr "" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "" #: ../../i18n_templatelist.c:636 msgid "Delete rule" msgstr "" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 msgid "bytes" msgstr "" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "" #: ../../i18n_templatelist.c:679 #, fuzzy msgid "Change name" msgstr "Kullanıcı adını değiştir" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 msgid "Configure automatic expiry of old messages" msgstr "" #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "" #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "" #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 msgid "Default message expire policy for public rooms" msgstr "" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 msgid "Default message expire policy for private mailboxes" msgstr "" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 msgid "Same policy as public rooms" msgstr "" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "" #: ../../i18n_templatelist.c:700 msgid "Are you sure you want to delete this room?" msgstr "" #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 msgid "Set or change the icon for this rooms banner" msgstr "" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 msgid "Edit this rooms Info file" msgstr "" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 msgid "Detected host header is " msgstr "" #: ../../i18n_templatelist.c:709 msgid "Send command" msgstr "" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "" #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 msgid "Name of room to log pages" msgstr "" #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 msgid "Authentication mode" msgstr "" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 msgid "Self contained" msgstr "" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 msgid "Host based" msgstr "" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 msgid "Allow anonymous guest access" msgstr "" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 msgid "Master user name (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 msgid "Master user password" msgstr "" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 msgid "Initial access level for new users" msgstr "" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "" #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "" #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 msgid "Add, change, or delete floors" msgstr "" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "" #: ../../i18n_templatelist.c:753 msgid "Delete this note?" msgstr "" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 msgid "Logged in as" msgstr "" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 msgid "Not logged in." msgstr "" #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "" #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "" #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 msgid "Log in using Google" msgstr "" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 msgid "Log in using Yahoo" msgstr "" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 msgid "Log in using AOL or AIM" msgstr "" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "" #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "" #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 msgid "Restart Now" msgstr "" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 msgid "Configure Push Email" msgstr "" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 msgid "Notify Funambol server" msgstr "" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 msgid "Send a text message to..." msgstr "" #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "" #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "" #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "" #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "" #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "-1 to disable" msgstr "" #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 msgid "ManageSieve Port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 msgid "General" msgstr "" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 #, fuzzy msgid "Settings" msgstr "Simge Çubuğu Ayarı" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 msgid "Access" msgstr "" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 msgid "Directory" msgstr "" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 msgid "List" msgstr "" #: ../../i18n_templatelist.c:847 msgid "Digest" msgstr "" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "" #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "" #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 msgid "Allow self-service subscribe/unsubscribe requests." msgstr "" #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "" #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 msgid "Set" msgstr "" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 msgid "Summary page for " msgstr "" #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 msgid "Who‘s online now" msgstr "" #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 msgid "running" msgstr "" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 msgid "with" msgstr "" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 msgid "and located in" msgstr "" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 msgid "Your system administrator is" msgstr "" #: ../../i18n_templatelist.c:874 msgid "Do you really want to kill this session?" msgstr "" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "" #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 msgid "Click on a name to read user info. Click on" msgstr "" #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 msgid "to send an instant message to that user." msgstr "" #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "" #: ../../i18n_templatelist.c:880 msgid "Share" msgstr "" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "Kullanıcı adını deÄŸiÅŸtir" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "" #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 msgid "...with unread messages" msgstr "" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 msgid "oops! Back to " msgstr "" #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 msgid "Summary page" msgstr "" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 msgid "(all registered users)" msgstr "" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 msgid "New blog post" msgstr "" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 msgid "Save changes?" msgstr "" #~ msgid "There is no room called '%s'." #~ msgstr "'% s' adında oda yok." webcit-9.01-dfsg/po/webcit/webcit.pot000066400000000000000000003647371254743150300175650ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR The Citadel Project - http://www.citadel.org # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "" #: ../../availability.c:169 msgid "free" msgstr "" #: ../../availability.c:179 msgid "BUSY" msgstr "" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "" #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "" #: ../../graphics.c:106 msgid "your photo" msgstr "" #: ../../graphics.c:113 msgid "the icon for this room" msgstr "" #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "" #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "" #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "" #: ../../tasks.c:93 msgid "Completed?" msgstr "" #: ../../tasks.c:95 msgid "Name of task" msgstr "" #: ../../tasks.c:97 msgid "Date due" msgstr "" #: ../../tasks.c:99 msgid "Category" msgstr "" #: ../../tasks.c:101 msgid "Show All" msgstr "" #: ../../tasks.c:224 msgid "Edit task" msgstr "" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "" #: ../../tasks.c:259 msgid "Start date:" msgstr "" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "" #: ../../tasks.c:289 msgid "Due date:" msgstr "" #: ../../tasks.c:318 msgid "Completed:" msgstr "" #: ../../tasks.c:329 msgid "Category:" msgstr "" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, c-format msgid "%d comments" msgstr "" #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "" #: ../../blogview_renderer.c:311 msgid "Older posts" msgstr "" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "" #: ../../sysmsgs.c:103 msgid " has been saved." msgstr "" #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "" #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "" #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "" #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "" #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "" #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "" #: ../../openid.c:47 msgid "(delete)" msgstr "" #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "" #: ../../openid.c:58 msgid "Attach" msgstr "" #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "" #: ../../summary.c:128 msgid "(None)" msgstr "" #: ../../summary.c:184 msgid "(Nothing)" msgstr "" #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "" #: ../../bbsview_renderer.c:354 msgid "First" msgstr "" #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "" #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "" #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "" #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "" #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "" #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "" #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "" #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "" #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "" #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "" #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "" #: ../../auth.c:617 msgid "very weak" msgstr "" #: ../../auth.c:620 msgid "weak" msgstr "" #: ../../auth.c:623 msgid "ok" msgstr "" #: ../../auth.c:627 msgid "strong" msgstr "" #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "" #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "" #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "" #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "" #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "" #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "" #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "" #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "" #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "" #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "" #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "" #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "" #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "" #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "" #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "" #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "" #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "" #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "" #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "" #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "" #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "" #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "" #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "" #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "" #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "" #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "" #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "" #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "" #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "" #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "" #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "" #: ../../calendar.c:934 msgid "Week starts on:" msgstr "" #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "" #: ../../event.c:71 msgid "seconds" msgstr "" #: ../../event.c:72 msgid "minutes" msgstr "" #: ../../event.c:73 msgid "hours" msgstr "" #: ../../event.c:74 msgid "days" msgstr "" #: ../../event.c:75 msgid "weeks" msgstr "" #: ../../event.c:76 msgid "months" msgstr "" #: ../../event.c:77 msgid "years" msgstr "" #: ../../event.c:78 msgid "never" msgstr "" #: ../../event.c:82 msgid "first" msgstr "" #: ../../event.c:83 msgid "second" msgstr "" #: ../../event.c:84 msgid "third" msgstr "" #: ../../event.c:85 msgid "fourth" msgstr "" #: ../../event.c:86 msgid "fifth" msgstr "" #: ../../event.c:89 msgid "Event" msgstr "" #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "" #: ../../event.c:168 msgid "Add or edit an event" msgstr "" #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "" #: ../../event.c:222 msgid "Location" msgstr "" #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "" #: ../../event.c:374 msgid "Organizer" msgstr "" #: ../../event.c:379 msgid "(you are the organizer)" msgstr "" #: ../../event.c:397 msgid "Show time as:" msgstr "" #: ../../event.c:420 msgid "Free" msgstr "" #: ../../event.c:428 msgid "Busy" msgstr "" #: ../../event.c:445 msgid "(One per line)" msgstr "" #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "" #: ../../event.c:518 msgid "Recurrence rule" msgstr "" #: ../../event.c:522 msgid "Repeats every" msgstr "" #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "" #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "" #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "" #: ../../event.c:631 msgid "of the month" msgstr "" #: ../../event.c:660 msgid "every " msgstr "" #: ../../event.c:661 msgid "year on this date" msgstr "" #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "" #: ../../event.c:717 msgid "Recurrence range" msgstr "" #: ../../event.c:725 msgid "No ending date" msgstr "" #: ../../event.c:732 msgid "Repeat this event" msgstr "" #: ../../event.c:735 msgid "times" msgstr "" #: ../../event.c:743 msgid "Repeat this event until " msgstr "" #: ../../event.c:771 msgid "Check attendee availability" msgstr "" #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "" #: ../../inetconf.c:126 msgid " has been deleted." msgstr "" #. added status message #: ../../inetconf.c:144 msgid " added." msgstr "" #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "" #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "" #: ../../listsub.c:38 ../../listsub.c:76 msgid "You need to specify the email address you'd like to subscribe with." msgstr "" #: ../../messages.c:73 msgid "ERROR:" msgstr "" #: ../../messages.c:91 msgid "Empty message" msgstr "" #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "" #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "" #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "" #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "" #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "" #: ../../messages.c:2085 msgid "Use this signature:" msgstr "" #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "" #: ../../messages.c:2090 msgid "Preferred email address" msgstr "" #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "" #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "" #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "" #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "" #: ../../paging.c:29 msgid "Send instant message" msgstr "" #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "" #: ../../paging.c:51 msgid "Enter message text:" msgstr "" #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "" #: ../../paging.c:78 msgid "Message was not sent." msgstr "" #: ../../paging.c:89 msgid "Message has been sent to " msgstr "" #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "" #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "" #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "" #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "" #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "" #: ../../roomlist.c:105 msgid "My Folders" msgstr "" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "" #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "" #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "" #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "" #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "" #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "" #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "" #: ../../roomops.c:1363 msgid "Room list view" msgstr "" #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "" #: ../../roomtokens.c:570 msgid "file" msgstr "" #: ../../roomtokens.c:572 msgid "files" msgstr "" #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "" #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "" #: ../../roomviews.c:55 msgid "Address Book" msgstr "" #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "" #: ../../roomviews.c:57 msgid "Task List" msgstr "" #: ../../roomviews.c:58 msgid "Notes List" msgstr "" #: ../../roomviews.c:59 msgid "Wiki" msgstr "" #: ../../roomviews.c:60 msgid "Calendar List" msgstr "" #: ../../roomviews.c:61 msgid "Journal" msgstr "" #: ../../roomviews.c:62 msgid "Drafts" msgstr "" #: ../../roomviews.c:63 msgid "Blog" msgstr "" #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "" #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "" #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "" #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "" #: ../../useredit.c:778 msgid "A new user has been created." msgstr "" #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "" #: ../../vcard_edit.c:438 msgid " (work)" msgstr "" #: ../../vcard_edit.c:440 msgid " (home)" msgstr "" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr "" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "" #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "" #: ../../vcard_edit.c:940 msgid "Error" msgstr "" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "" #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "" #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" #: ../../webcit.c:688 msgid "Read More..." msgstr "" #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "" #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "" #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "" #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "" #: ../../wiki.c:143 msgid "Author" msgstr "" #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "" #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "" #: ../../wiki.c:184 msgid "(revert)" msgstr "" #: ../../wiki.c:246 msgid "Page title" msgstr "" #: ../../fmt_date.c:306 msgid "Time format" msgstr "" #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "" #: ../../calendar_view.c:750 msgid "Week" msgstr "" #: ../../calendar_view.c:752 msgid "Hours" msgstr "" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "" #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "" #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "" #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "" #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "" #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "" #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "" #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "" #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "" #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "" #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "" #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "" #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "" #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "" #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "" #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "" #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "" #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "" #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "" #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "" #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "" #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "" #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "" #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "" #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "" #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "" #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "" #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "" #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "" #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "" #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "" #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "" #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "" #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 msgid "System Administration Menu" msgstr "" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 msgid "Room Admin Menu" msgstr "" #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 msgid "Fallback smart hosts" msgstr "" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 msgid "RBL hosts" msgstr "" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 msgid "Masqueradable domains" msgstr "" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "" #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 msgid "Network services" msgstr "" #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "" #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "" #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "" #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "" #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "" #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "" #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "" #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "" #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "" #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "" #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "" #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "" #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "" #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "" #: ../../i18n_templatelist.c:95 msgid "Create new room" msgstr "" #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "" #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "" #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 msgid "If you select this option," msgstr "" #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 msgid "will disappear from your room list. Is this what you wish to do?" msgstr "" #: ../../i18n_templatelist.c:102 msgid "Zap this room" msgstr "" #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "" #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "" #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "" #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "" #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "" #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "" #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "" #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "" #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "" #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 msgid "Click on any room to un-zap it and goto that room." msgstr "" #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "" #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "" #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "" #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "" #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "" #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "" #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 msgid "Manage your OpenIDs" msgstr "" #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "" #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "" #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "" #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "" #: ../../i18n_templatelist.c:144 msgid "Go there" msgstr "" #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "" #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "" #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "" #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "" #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 msgid "Push Email" msgstr "" #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 msgid "Funambol server host (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 msgid "Funambol server port " msgstr "" #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 msgid "Funambol sync source" msgstr "" #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "" #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 msgid "External pager tool (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "" #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "" #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "" #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "" #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 msgid "Sunday" msgstr "" #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 msgid "Monday" msgstr "" #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "" #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "" #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "" #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "" #: ../../i18n_templatelist.c:168 msgid "Change" msgstr "" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "" #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "" #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 msgid "Number of logins" msgstr "" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 msgid "Messages submitted" msgstr "" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 msgid "Access level" msgstr "" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 msgid "User ID number" msgstr "" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 msgid "POP3 fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 msgid "POP3 fastest fetch frequency in seconds" msgstr "" #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "" #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "" #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 msgid "Remote Sites:" msgstr "" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 msgid "Status:" msgstr "" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 msgid "Jobs waiting for further processing:" msgstr "" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 msgid "Message to your Users:" msgstr "" #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "" #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "" #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "" #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 msgid "General site configuration items" msgstr "" #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "" #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "" #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 msgid "Node name" msgstr "" #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "" #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "" #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 msgid "Telephone number" msgstr "" #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "" #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "" #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "" #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "" #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 msgid "Networked Room" msgstr "" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 msgid "Add a new node" msgstr "" #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "" #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "" #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 msgid "Port number" msgstr "" #: ../../i18n_templatelist.c:241 msgid "Add node?" msgstr "" #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 msgid "(kill)" msgstr "" #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 msgid "Edit configuration" msgstr "" #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 msgid "Edit address book entry" msgstr "" #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 msgid "Minutes" msgstr "" #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 msgid "active" msgstr "" #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 msgid "(Edit)" msgstr "" #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "" #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "" #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "" #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "" #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "" #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 msgid "Post a comment" msgstr "" #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "" #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "" #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 msgid "Add, change, delete user accounts" msgstr "" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 msgid "(hosts running the ClamAV clamd service)" msgstr "" #: ../../i18n_templatelist.c:270 msgid "Send" msgstr "" #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 msgid "Restart Citadel" msgstr "" #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "" #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "" #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "" #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "" #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "" #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "" #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "" #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 msgid "Post message" msgstr "" #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "" #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "" #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 msgid "Delete this message?" msgstr "" #: ../../i18n_templatelist.c:300 msgid "Room Logo" msgstr "" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "" #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "" #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 msgid "Enter another command" msgstr "" #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 msgid "Return to menu" msgstr "" #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 msgid "Users currently on" msgstr "" #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "" #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 msgid "Click here to send an instant message to" msgstr "" #: ../../i18n_templatelist.c:308 msgid "Pictures in" msgstr "" #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 msgid "Edit or delete users" msgstr "" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 msgid "You need to be aide to view this." msgstr "" #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 msgid "Add users" msgstr "" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 msgid "Edit or Delete users" msgstr "" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "" #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 msgid "User list for " msgstr "" #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "" #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "" #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "" #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "" #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "" #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "" #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "" #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "" #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "" #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "" #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "" #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "" #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "" #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "" #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "" #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 msgid "Upload failed" msgstr "" #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 msgid "Are you shure you want to delete {filename}?" msgstr "" #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 msgid "Remove" msgstr "" #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "" #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "" #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "" #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 msgid "Perform journaling of email messages" msgstr "" #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 msgid "Perform journaling of non-email messages" msgstr "" #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "" #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "" #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "" #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "" #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "" #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "" #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "" #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "" #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "" #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "" #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "" #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "" #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 msgid "Remote host" msgstr "" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 msgid "Keep messages on server?" msgstr "" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 msgid "Interval" msgstr "" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "" #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "" #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 msgid "New user: " msgstr "" #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "" #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "" #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "" #: ../../i18n_templatelist.c:426 msgid "Invite" msgstr "" #: ../../i18n_templatelist.c:427 msgid "User" msgstr "" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 msgid "Users" msgstr "" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 msgid "Addressbook Popup" msgstr "" #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "" #: ../../i18n_templatelist.c:435 msgid "Delete user" msgstr "" #: ../../i18n_templatelist.c:436 msgid "Delete this user?" msgstr "" #: ../../i18n_templatelist.c:437 msgid "Delete File" msgstr "" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "" #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 msgid "which is already in your calendar." msgstr "" #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 msgid "This event would conflict with" msgstr "" #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "" #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "" #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "" #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "" #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "" #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "" #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "" #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "" #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "" #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "" #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 msgid "Zap (forget) this room" msgstr "" #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "" #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "Zap duplicate messages" msgstr "" #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "" #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "" #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 msgid "Next attempt" msgstr "" #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "" #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "" #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "" #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "" #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "" #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "" #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "" #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "" #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "" #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "" #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "" #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "" #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "" #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 msgid "Powered by Citadel" msgstr "" #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "" #: ../../i18n_templatelist.c:507 msgid "Go to your email inbox" msgstr "" #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "" #: ../../i18n_templatelist.c:509 msgid "Go to your personal calendar" msgstr "" #: ../../i18n_templatelist.c:511 msgid "Go to your personal address book" msgstr "" #: ../../i18n_templatelist.c:513 msgid "Go to your personal notes" msgstr "" #: ../../i18n_templatelist.c:515 msgid "Go to your personal task list" msgstr "" #: ../../i18n_templatelist.c:517 msgid "List all your accessible rooms" msgstr "" #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "" #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "" #: ../../i18n_templatelist.c:526 msgid "Room and system administration functions" msgstr "" #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "" #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "" #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "" #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "" #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "" #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "" #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "" #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "" #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "" #: ../../i18n_templatelist.c:545 msgid "Reset form" msgstr "" #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "" #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "" #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "" #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "" #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 msgid " to the " msgstr "" #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 msgid " mailing list." msgstr "" #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "" #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 msgid "ERROR" msgstr "" #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 msgid "from the" msgstr "" #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 msgid "mailing list." msgstr "" #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 msgid "Back..." msgstr "" #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 msgid "Confirmation successful!" msgstr "" #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 msgid "Confirmation failed." msgstr "" #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "" #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 msgid "Name of list:" msgstr "" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 msgid "Your e-mail address:" msgstr "" #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "" #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 msgid "One message at a time" msgstr "" #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 msgid "Digest format" msgstr "" #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 msgid "name of room: " msgstr "" #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "" #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 msgid "Network shared room" msgstr "" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 msgid "Room aide: " msgstr "" #: ../../i18n_templatelist.c:611 msgid "Delete this entry?" msgstr "" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 msgid "Remote node name" msgstr "" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 msgid "Remote room name" msgstr "" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 msgid "resend messages to this node" msgstr "" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "" #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "" #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "" #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "" #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "" #: ../../i18n_templatelist.c:633 msgid "Create new floor" msgstr "" #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "" #: ../../i18n_templatelist.c:636 msgid "Delete rule" msgstr "" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "" #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 msgid "bytes" msgstr "" #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "" #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "" #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "" #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "" #: ../../i18n_templatelist.c:679 msgid "Change name" msgstr "" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 msgid "Configure automatic expiry of old messages" msgstr "" #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "" #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "" #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 msgid "Default message expire policy for public rooms" msgstr "" #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 msgid "Default message expire policy for private mailboxes" msgstr "" #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 msgid "Same policy as public rooms" msgstr "" #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "" #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "" #: ../../i18n_templatelist.c:700 msgid "Are you sure you want to delete this room?" msgstr "" #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 msgid "Set or change the icon for this rooms banner" msgstr "" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 msgid "Edit this rooms Info file" msgstr "" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "" #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "" #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "" #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 msgid "Detected host header is " msgstr "" #: ../../i18n_templatelist.c:709 msgid "Send command" msgstr "" #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "" #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "" #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "" #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "" #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 msgid "Name of room to log pages" msgstr "" #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 msgid "Authentication mode" msgstr "" #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 msgid "Self contained" msgstr "" #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 msgid "Host based" msgstr "" #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 msgid "Allow anonymous guest access" msgstr "" #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 msgid "Master user name (blank to disable)" msgstr "" #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 msgid "Master user password" msgstr "" #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 msgid "Initial access level for new users" msgstr "" #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "" #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "" #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "" #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "" #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "" #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "" #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "" #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 msgid "Add, change, or delete floors" msgstr "" #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "" #: ../../i18n_templatelist.c:753 msgid "Delete this note?" msgstr "" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 msgid "Logged in as" msgstr "" #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 msgid "Not logged in." msgstr "" #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "" #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "" #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "" #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "" #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "" #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "" #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "" #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 msgid "Log in using Google" msgstr "" #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 msgid "Log in using Yahoo" msgstr "" #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 msgid "Log in using AOL or AIM" msgstr "" #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "" #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "" #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "" #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 msgid "Restart Now" msgstr "" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 msgid "Configure Push Email" msgstr "" #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "" #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 msgid "Notify Funambol server" msgstr "" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 msgid "Send a text message to..." msgstr "" #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "" #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "" #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "" #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "" #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "" #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "" #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "" #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "" #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "-1 to disable" msgstr "" #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 msgid "ManageSieve Port (-1 to disable)" msgstr "" #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "" #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 msgid "General" msgstr "" #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 msgid "Settings" msgstr "" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 msgid "Access" msgstr "" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 msgid "Directory" msgstr "" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 msgid "List" msgstr "" #: ../../i18n_templatelist.c:847 msgid "Digest" msgstr "" #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "" #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "" #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 msgid "Allow self-service subscribe/unsubscribe requests." msgstr "" #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "" #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 msgid "Set" msgstr "" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 msgid "Summary page for " msgstr "" #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "" #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "" #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 msgid "Who‘s online now" msgstr "" #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "" #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 msgid "running" msgstr "" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 msgid "with" msgstr "" #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 msgid "and located in" msgstr "" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 msgid "Your system administrator is" msgstr "" #: ../../i18n_templatelist.c:874 msgid "Do you really want to kill this session?" msgstr "" #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "" #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 msgid "Click on a name to read user info. Click on" msgstr "" #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 msgid "to send an instant message to that user." msgstr "" #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "" #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "" #: ../../i18n_templatelist.c:880 msgid "Share" msgstr "" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "" #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "" #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "" #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "" #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "" #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "" #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "" #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "" #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "" #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "" #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "" #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 msgid "...with unread messages" msgstr "" #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "" #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "" #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 msgid "oops! Back to " msgstr "" #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "" #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "" #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "" #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "" #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "" #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "" #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "" #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "" #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 msgid "Summary page" msgstr "" #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "" #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "" #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 msgid "(all registered users)" msgstr "" #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "" #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "" #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "" #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "" #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "" #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "" #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "" #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "" #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "" #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "" #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "" #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "" #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "" #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "" #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "" #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "" #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 msgid "New blog post" msgstr "" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "" #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 msgid "Save changes?" msgstr "" webcit-9.01-dfsg/po/webcit/zh.po000066400000000000000000004454511254743150300165360ustar00rootroot00000000000000# WebCit messages for Chinese (Simplified) # Copyright (C) 2011 by elliott callaway # This file is distributed under GPL v3 # # , 2011. msgid "" msgstr "" "Project-Id-Version: WebCit\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-01-30 23:08+0100\n" "PO-Revision-Date: 2011-05-19 13:33+0800\n" "Last-Translator: elliott callaway \n" "Language-Team: \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-10-23 04:47+0000\n" "X-Generator: Lokalize 1.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. #. * Set to 'unknown' right from the beginning. Unless we learn #. * something else, that's what we'll go with. #. #: ../../availability.c:148 msgid "availability unknown" msgstr "未知的å¯ç”¨æ€§" #: ../../availability.c:169 msgid "free" msgstr "å…è´¹" #: ../../availability.c:179 msgid "BUSY" msgstr "å¿™" #: ../../graphics.c:50 msgid "Graphics upload has been cancelled." msgstr "å›¾å½¢ä¸Šè½½å·²è¢«å–æ¶ˆã€‚ " #: ../../graphics.c:56 msgid "You didn't upload a file." msgstr "ä½ æ‰ä¸Šä¼ çš„æ–‡ä»¶ " #: ../../graphics.c:106 msgid "your photo" msgstr "你的照片 " #: ../../graphics.c:113 msgid "the icon for this room" msgstr "这间屋å­çš„图标 " #: ../../graphics.c:121 msgid "the Greetingpicture for the login prompt" msgstr "登录æç¤ºçš„ Greetingpicture " #: ../../graphics.c:129 msgid "the Logoff banner picture" msgstr "注销横幅图片 " #: ../../graphics.c:140 msgid "the icon for this floor" msgstr "这层图标 " #: ../../tasks.c:93 msgid "Completed?" msgstr "完æˆå—?" #: ../../tasks.c:95 msgid "Name of task" msgstr "任务的åç§°" #: ../../tasks.c:97 msgid "Date due" msgstr "到期日期" #: ../../tasks.c:99 msgid "Category" msgstr "类别" #: ../../tasks.c:101 msgid "Show All" msgstr "显示所有" #: ../../tasks.c:224 msgid "Edit task" msgstr "编辑任务" #: ../../tasks.c:248 ../../calendar.c:98 ../../calendar_view.c:292 #: ../../calendar_view.c:953 ../../calendar_view.c:997 #: ../../calendar_view.c:1078 ../../i18n_templatelist.c:902 #: ../../static/t/ical/attachment/display.html:25 msgid "Summary:" msgstr "摘è¦ï¼š" #: ../../tasks.c:259 msgid "Start date:" msgstr "开始日期:" #: ../../tasks.c:267 ../../tasks.c:297 msgid "No date" msgstr "没有日期" #: ../../tasks.c:271 ../../tasks.c:300 msgid "or" msgstr "组织:" #: ../../tasks.c:285 ../../tasks.c:314 msgid "Time associated" msgstr "相关è”的时间" #: ../../tasks.c:289 msgid "Due date:" msgstr "截止日期:" #: ../../tasks.c:318 msgid "Completed:" msgstr "完æˆï¼š" #: ../../tasks.c:329 msgid "Category:" msgstr "类别:" #: ../../tasks.c:339 ../../calendar.c:159 ../../i18n_templatelist.c:383 #: ../../i18n_templatelist.c:907 ../../static/t/files.html:12 #: ../../static/t/ical/attachment/display.html:38 msgid "Description:" msgstr "说明" #: ../../tasks.c:357 ../../event.c:769 ../../i18n_templatelist.c:754 msgid "Save" msgstr "ä¿å­˜" #: ../../tasks.c:358 ../../event.c:770 ../../i18n_templatelist.c:115 #: ../../i18n_templatelist.c:299 ../../i18n_templatelist.c:495 #: ../../i18n_templatelist.c:612 ../../i18n_templatelist.c:792 #: ../../i18n_templatelist.c:897 ../../i18n_templatelist.c:971 #: ../../static/t/aide/inet/section.html:5 ../../static/t/msg_listview.html:27 #: ../../static/t/navbar.html:116 ../../static/t/view_blog/comment.html:16 #: ../../static/t/view_blog/post.html:33 ../../static/t/view_message.html:32 msgid "Delete" msgstr "删除" #: ../../tasks.c:359 ../../sysmsgs.c:63 ../../event.c:772 ../../paging.c:60 #: ../../vcard_edit.c:1218 ../../i18n_templatelist.c:60 #: ../../i18n_templatelist.c:96 ../../i18n_templatelist.c:103 #: ../../i18n_templatelist.c:145 ../../i18n_templatelist.c:169 #: ../../i18n_templatelist.c:195 ../../i18n_templatelist.c:242 #: ../../i18n_templatelist.c:254 ../../i18n_templatelist.c:293 #: ../../i18n_templatelist.c:330 ../../i18n_templatelist.c:356 #: ../../i18n_templatelist.c:372 ../../i18n_templatelist.c:456 #: ../../i18n_templatelist.c:546 ../../i18n_templatelist.c:581 #: ../../i18n_templatelist.c:609 ../../i18n_templatelist.c:710 #: ../../i18n_templatelist.c:755 ../../i18n_templatelist.c:886 #: ../../i18n_templatelist.c:895 ../../i18n_templatelist.c:924 #: ../../i18n_templatelist.c:996 ../../static/t/confirmlogoff.html:4 #: ../../static/t/edit/markdown_epic.html:76 #: ../../static/t/edit/message.html:132 #: ../../static/t/edit/message/attachments_pane.html:82 msgid "Cancel" msgstr "å–æ¶ˆ" #: ../../tasks.c:429 ../../calendar_view.c:1373 msgid "Untitled Task" msgstr "无标题的任务" #: ../../blogview_renderer.c:58 ../../blogview_renderer.c:74 #, c-format msgid "%d comments" msgstr "%d 的评论 " #: ../../blogview_renderer.c:61 ../../blogview_renderer.c:77 msgid "permalink" msgstr "" #: ../../blogview_renderer.c:302 msgid "Newer posts" msgstr "" #: ../../blogview_renderer.c:311 #, fuzzy msgid "Older posts" msgstr "文件夹列表" #: ../../sysmsgs.c:46 #, c-format msgid "Edit %s" msgstr "编辑 %s" #: ../../sysmsgs.c:49 #, c-format msgid "" "Enter %s below. Text is formatted to the reader's browser. A newline is " "forced by preceding the next line by a blank." msgstr "" "请输入下é¢çš„ %s。读者的æµè§ˆå™¨è®¾ç½®æ–‡æœ¬æ ¼å¼ã€‚å‰é¢çš„一片空白的下一行,会强制æ¢" "行。 " #: ../../sysmsgs.c:61 ../../vcard_edit.c:1217 ../../i18n_templatelist.c:59 #: ../../i18n_templatelist.c:194 ../../i18n_templatelist.c:355 #: ../../i18n_templatelist.c:455 ../../i18n_templatelist.c:580 #: ../../i18n_templatelist.c:608 ../../i18n_templatelist.c:855 msgid "Save changes" msgstr "ä¿å­˜æ›´æ”¹" #: ../../sysmsgs.c:83 #, c-format msgid "Cancelled. %s was not saved." msgstr "å–æ¶ˆã€‚%s 是ä¸ä¼šä¿å­˜ã€‚ " #: ../../sysmsgs.c:103 msgid " has been saved." msgstr "已被ä¿å­˜ã€‚ " #: ../../sysmsgs.c:110 ../../sysmsgs.c:111 msgid "Room info" msgstr "æˆ¿é—´ä¿¡æ¯ " #: ../../sysmsgs.c:116 ../../sysmsgs.c:118 msgid "Your bio" msgstr "您的生物 " #: ../../calendar_tools.c:94 msgid "Hour: " msgstr "å°æ—¶" #: ../../calendar_tools.c:114 msgid "Minute: " msgstr "分钟" #: ../../calendar_tools.c:185 msgid "(status unknown)" msgstr "(çŠ¶æ€æœªçŸ¥)" #: ../../calendar_tools.c:201 ../../i18n_templatelist.c:397 #: ../../static/t/ical/attachment/display_attendees.html:6 msgid "(needs action)" msgstr "(需è¦è¡ŒåЍ)" #: ../../calendar_tools.c:204 ../../i18n_templatelist.c:398 #: ../../static/t/ical/attachment/display_attendees.html:7 msgid "(accepted)" msgstr "(接å—)" #: ../../calendar_tools.c:207 ../../i18n_templatelist.c:399 #: ../../static/t/ical/attachment/display_attendees.html:8 msgid "(declined)" msgstr "(æ‹’ç»)" #: ../../calendar_tools.c:210 ../../i18n_templatelist.c:400 #: ../../static/t/ical/attachment/display_attendees.html:9 msgid "(tenative)" msgstr "(暂定)" #: ../../calendar_tools.c:213 ../../i18n_templatelist.c:401 #: ../../static/t/ical/attachment/display_attendees.html:10 msgid "(delegated)" msgstr "(委派)" #: ../../calendar_tools.c:216 ../../i18n_templatelist.c:402 #: ../../static/t/ical/attachment/display_attendees.html:11 msgid "(completed)" msgstr "(已完æˆ)" #: ../../calendar_tools.c:219 ../../i18n_templatelist.c:403 #: ../../static/t/ical/attachment/display_attendees.html:12 msgid "(in process)" msgstr "(进行中)" #: ../../calendar_tools.c:222 ../../i18n_templatelist.c:404 #: ../../static/t/ical/attachment/display_attendees.html:13 msgid "(none)" msgstr "(æ— )" #: ../../openid.c:28 msgid "Manage Account/OpenID Associations" msgstr "管ç†å¸æˆ·/OpenID å会 " #: ../../openid.c:46 msgid "Do you really want to delete this OpenID?" msgstr "您确实è¦åˆ é™¤æ­¤ OpenID å—? " #: ../../openid.c:47 msgid "(delete)" msgstr "(删除) " #: ../../openid.c:55 msgid "Add an OpenID: " msgstr "添加 OpenID: " #: ../../openid.c:58 msgid "Attach" msgstr "附加 " #: ../../openid.c:62 #, c-format msgid "%s does not permit authentication via OpenID." msgstr "%s ä¸å…许通过 OpenID 的身份验è¯ã€‚ " #: ../../summary.c:128 msgid "(None)" msgstr "(æ— ) " #: ../../summary.c:184 msgid "(Nothing)" msgstr "(æ— ) " #: ../../bbsview_renderer.c:312 msgid "Go to page: " msgstr "转到页é¢ï¼š " #: ../../bbsview_renderer.c:354 msgid "First" msgstr "第一次 " #: ../../bbsview_renderer.c:360 msgid "Last" msgstr "æœ€åŽ " #: ../../html2html.c:131 #, c-format msgid "realloc() error! couldn't get %d bytes: %s" msgstr "" #. an erased user #: ../../auth.c:30 ../../i18n_templatelist.c:184 ../../i18n_templatelist.c:728 #: ../../i18n_templatelist.c:736 #: ../../static/t/aide/edituser/detailview.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:43 #: ../../static/t/aide/siteconfig/tab_access.html:54 msgid "Deleted" msgstr "删除 " #. a new user #: ../../auth.c:33 ../../i18n_templatelist.c:185 ../../i18n_templatelist.c:341 #: ../../i18n_templatelist.c:729 ../../i18n_templatelist.c:737 #: ../../i18n_templatelist.c:771 #: ../../static/t/aide/edituser/detailview.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:44 #: ../../static/t/aide/siteconfig/tab_access.html:55 #: ../../static/t/get_logged_in.html:77 msgid "New User" msgstr "新用户 " #. a trouble maker #: ../../auth.c:36 ../../i18n_templatelist.c:186 ../../i18n_templatelist.c:730 #: ../../i18n_templatelist.c:738 #: ../../static/t/aide/edituser/detailview.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:45 #: ../../static/t/aide/siteconfig/tab_access.html:56 msgid "Problem User" msgstr "问题的用户 " #. user with normal privileges #: ../../auth.c:39 ../../i18n_templatelist.c:187 ../../i18n_templatelist.c:731 #: ../../i18n_templatelist.c:739 #: ../../static/t/aide/edituser/detailview.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:46 #: ../../static/t/aide/siteconfig/tab_access.html:57 msgid "Local User" msgstr "本地用户 " #. a user that may access network resources #: ../../auth.c:42 ../../i18n_templatelist.c:188 ../../i18n_templatelist.c:732 #: ../../i18n_templatelist.c:740 #: ../../static/t/aide/edituser/detailview.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:47 #: ../../static/t/aide/siteconfig/tab_access.html:58 msgid "Network User" msgstr "网络用户 " #. a moderator #: ../../auth.c:45 ../../i18n_templatelist.c:189 ../../i18n_templatelist.c:733 #: ../../i18n_templatelist.c:741 #: ../../static/t/aide/edituser/detailview.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:48 #: ../../static/t/aide/siteconfig/tab_access.html:59 msgid "Preferred User" msgstr "首选的用户 " #. chief #: ../../auth.c:48 ../../i18n_templatelist.c:190 ../../i18n_templatelist.c:734 #: ../../i18n_templatelist.c:742 #: ../../static/t/aide/edituser/detailview.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:49 #: ../../static/t/aide/siteconfig/tab_access.html:60 msgid "Admin" msgstr "助手 " #: ../../auth.c:367 ../../auth.c:397 ../../vcard_edit.c:1299 #: ../../vcard_edit.c:1343 msgid "An error has occurred." msgstr "å‘生了一个错误" #: ../../auth.c:547 ../../i18n_templatelist.c:268 #: ../../static/t/aide/usermanagement.html:3 msgid "Validate new users" msgstr "éªŒè¯æ–°ç”¨æˆ· " #: ../../auth.c:567 msgid "No users require validation at this time." msgstr "任何用户都ä¸éœ€è¦éªŒè¯ï¼Œè¿™ä¸€æ¬¡ã€‚ " #: ../../auth.c:617 msgid "very weak" msgstr "很弱 " #: ../../auth.c:620 msgid "weak" msgstr "å¼± " #: ../../auth.c:623 msgid "ok" msgstr "还行 " #: ../../auth.c:627 msgid "strong" msgstr "强 " #: ../../auth.c:645 #, c-format msgid "Current access level: %d (%s)\n" msgstr "当å‰çš„访问级别: %d (%s)\n" #: ../../auth.c:653 msgid "Select access level for this user:" msgstr "选择此用户的访问级别: " #: ../../auth.c:736 msgid "Cancelled. Password was not changed." msgstr "å–æ¶ˆã€‚未更改密ç ã€‚ " #: ../../auth.c:745 msgid "They don't match. Password was not changed." msgstr "他们ä¸åŒ¹é…。未更改密ç ã€‚ " #: ../../auth.c:751 msgid "Blank passwords are not allowed." msgstr "ä¸å…许空密ç ã€‚ " #: ../../calendar.c:76 ../../i18n_templatelist.c:899 #: ../../static/t/ical/attachment/display.html:11 msgid "Meeting invitation" msgstr "会议邀请 " #: ../../calendar.c:79 ../../i18n_templatelist.c:900 #: ../../static/t/ical/attachment/display.html:14 msgid "Attendee's reply to your invitation" msgstr "æ‚¨çš„é‚€è¯·ä¸Žä¼šè€…çš„ç­”å¤ " #: ../../calendar.c:82 ../../i18n_templatelist.c:901 #: ../../static/t/ical/attachment/display.html:17 msgid "Published event" msgstr "å·²å‘布的事件 " #: ../../calendar.c:85 ../../i18n_templatelist.c:898 #: ../../static/t/ical/attachment/display.html:8 msgid "This is an unknown type of calendar item." msgstr "这是未知的类型的日历项。 " #: ../../calendar.c:107 ../../calendar_view.c:300 ../../calendar_view.c:958 #: ../../calendar_view.c:1002 ../../calendar_view.c:1083 #: ../../i18n_templatelist.c:903 #: ../../static/t/ical/attachment/display.html:26 msgid "Location:" msgstr "地点:" #: ../../calendar.c:132 ../../calendar_view.c:345 ../../calendar_view.c:964 #: ../../i18n_templatelist.c:904 #: ../../static/t/ical/attachment/display.html:31 msgid "Date:" msgstr "日期:" #: ../../calendar.c:139 ../../calendar_view.c:367 ../../calendar_view.c:1007 #: ../../calendar_view.c:1093 ../../i18n_templatelist.c:905 #: ../../static/t/ical/attachment/display.html:32 msgid "Starting date/time:" msgstr "" #: ../../calendar.c:150 ../../calendar_view.c:370 ../../calendar_view.c:1009 #: ../../calendar_view.c:1095 ../../i18n_templatelist.c:906 #: ../../static/t/ical/attachment/display.html:34 msgid "Ending date/time:" msgstr "ç»“æŸæ—¥æœŸ/æ—¶é—´:" #: ../../calendar.c:168 ../../event.c:91 ../../i18n_templatelist.c:908 #: ../../static/t/ical/attachment/display.html:41 msgid "Recurrence" msgstr "å¤å‘ " #: ../../calendar.c:169 ../../event.c:510 ../../i18n_templatelist.c:909 #: ../../static/t/ical/attachment/display.html:41 msgid "This is a recurring event" msgstr "这是一个åå¤å‡ºçŽ°çš„äº‹ä»¶ " #: ../../calendar.c:178 ../../i18n_templatelist.c:396 #: ../../static/t/ical/attachment/display_attendees.html:2 msgid "Attendee:" msgstr "与会者: " #: ../../calendar.c:218 #, c-format msgid "This is an update of '%s' which is already in your calendar." msgstr "这是 '%s' 已在您的日历中的更新。 " #: ../../calendar.c:222 #, c-format msgid "This event would conflict with '%s' which is already in your calendar." msgstr "与 %s å·²ç»åœ¨æ‚¨çš„æ—¥åŽ†ä¸­çš„æƒ…å†µä¸‹ï¼Œæ­¤äº‹ä»¶å°†å‘生冲çªã€‚ " #: ../../calendar.c:227 ../../i18n_templatelist.c:440 #: ../../static/t/ical/attachment/display_conflict.html:2 msgid "Update:" msgstr "更新: " #: ../../calendar.c:228 ../../i18n_templatelist.c:441 #: ../../static/t/ical/attachment/display_conflict.html:3 msgid "CONFLICT:" msgstr "冲çªï¼š " #: ../../calendar.c:251 ../../i18n_templatelist.c:910 #: ../../static/t/ical/attachment/display.html:53 msgid "How would you like to respond to this invitation?" msgstr "您想如何回应这一邀请? " #: ../../calendar.c:252 ../../i18n_templatelist.c:911 #: ../../static/t/ical/attachment/display.html:55 msgid "Accept" msgstr "æŽ¥å— " #: ../../calendar.c:253 ../../i18n_templatelist.c:912 #: ../../static/t/ical/attachment/display.html:57 msgid "Tentative" msgstr "试 " #: ../../calendar.c:254 ../../i18n_templatelist.c:913 #: ../../static/t/ical/attachment/display.html:59 msgid "Decline" msgstr "ä¸‹é™ " #: ../../calendar.c:271 ../../i18n_templatelist.c:914 #: ../../static/t/ical/attachment/display.html:66 msgid "Click Update to accept this reply and update your calendar." msgstr "å•击 æ›´æ–° 接å—这个答å¤ï¼Œå¹¶æ›´æ–°æ‚¨çš„æ—¥åŽ†ã€‚" #: ../../calendar.c:272 ../../i18n_templatelist.c:915 #: ../../static/t/ical/attachment/display.html:68 msgid "Update" msgstr "更新: " #: ../../calendar.c:273 ../../i18n_templatelist.c:916 #: ../../static/t/ical/attachment/display.html:70 msgid "Ignore" msgstr "忽略 " #: ../../calendar.c:295 ../../ical_subst.c:289 msgid "There was an error parsing this calendar item." msgstr "è§£æžæ­¤æ—¥åŽ†é¡¹æ—¶å‡ºé”™ã€‚ " #: ../../calendar.c:328 msgid "" "You have accepted this meeting invitation. It has been entered into your " "calendar." msgstr "æ‚¨å·²æŽ¥å—æ­¤ä¼šè®®é‚€è¯·ã€‚它已被输入您日历。 " #: ../../calendar.c:332 msgid "" "You have tentatively accepted this meeting invitation. It has been " "'pencilled in' to your calendar." msgstr "您暂时接å—了这次会议的邀请。它已被 '接å—' 到您的日历。" #: ../../calendar.c:336 msgid "" "You have declined this meeting invitation. It has not been entered " "into your calendar." msgstr "您已拒ç»äº†è¿™æ¬¡ä¼šè®®çš„邀请。它没有 已输入日历。 " #: ../../calendar.c:341 msgid "A reply has been sent to the meeting organizer." msgstr "会议组织者已å‘é€ç­”å¤ã€‚ " #. / Translators: RSVP aka Répondez s'il-vous-plaît Is the term #. / that the recipient of an ical-invitation should please #. / answer this request. #: ../../calendar.c:376 msgid "Your calendar has been updated to reflect this RSVP." msgstr "æ‚¨çš„æ—¥åŽ†å·²è¢«æ›´æ–°ï¼Œä»¥åæ˜ æ­¤ RSVP。 " #: ../../calendar.c:378 msgid "" "You have chosen to ignore this RSVP. Your calendar has not been " "updated." msgstr "您已选择忽略此 RSVP。您的日历没有 已更新。 " #: ../../calendar.c:932 msgid "Calendar day view begins at:" msgstr "在开始的一天日历视图: " #: ../../calendar.c:933 msgid "Calendar day view ends at:" msgstr "结æŸä¸€å¤©çš„æ—¥åŽ†è§†å›¾ï¼š " #: ../../calendar.c:934 msgid "Week starts on:" msgstr "周开始时间: " #: ../../downloads.c:288 #, c-format msgid "An error occurred while retrieving this file: %s\n" msgstr "检索此文件时å‘生错误: 是: %s\n" #: ../../event.c:71 msgid "seconds" msgstr "ç§’ " #: ../../event.c:72 msgid "minutes" msgstr "分钟 " #: ../../event.c:73 msgid "hours" msgstr "æ—¶é—´ " #: ../../event.c:74 msgid "days" msgstr "天 " #: ../../event.c:75 msgid "weeks" msgstr "周 " #: ../../event.c:76 msgid "months" msgstr "个月 " #: ../../event.c:77 msgid "years" msgstr "å¹´ " #: ../../event.c:78 msgid "never" msgstr "永远ä¸ä¼š " #: ../../event.c:82 msgid "first" msgstr "第一次 " #: ../../event.c:83 msgid "second" msgstr "第二次 " #: ../../event.c:84 msgid "third" msgstr "第三次 " #: ../../event.c:85 msgid "fourth" msgstr "第四 " #: ../../event.c:86 msgid "fifth" msgstr "第五届 " #: ../../event.c:89 msgid "Event" msgstr "事件 " #: ../../event.c:90 ../../event.c:442 ../../event.c:454 msgid "Attendees" msgstr "与会者 " #: ../../event.c:168 msgid "Add or edit an event" msgstr "添加或编辑事件 " #: ../../event.c:211 ../../i18n_templatelist.c:17 #: ../../i18n_templatelist.c:506 ../../static/t/iconbar.html:13 #: ../../static/t/iconbar/edit.html:29 msgid "Summary" msgstr "的摘è¦é¡µ " #: ../../event.c:222 msgid "Location" msgstr "ä½ç½® " #: ../../event.c:233 ../../calendar_view.c:754 msgid "Start" msgstr "å¯åЍ" #: ../../event.c:276 ../../calendar_view.c:951 ../../calendar_view.c:980 msgid "All day event" msgstr "全天事件" #: ../../event.c:282 ../../calendar_view.c:755 msgid "End" msgstr "结æŸ" #: ../../event.c:332 ../../i18n_templatelist.c:29 #: ../../i18n_templatelist.c:514 ../../static/t/iconbar.html:34 #: ../../static/t/iconbar/edit.html:49 msgid "Notes" msgstr "备注: " #: ../../event.c:374 msgid "Organizer" msgstr "主办å•ä½ " #: ../../event.c:379 msgid "(you are the organizer)" msgstr "(您的管ç†å™¨ï¼‰ " #: ../../event.c:397 msgid "Show time as:" msgstr "将时间显示为: " #: ../../event.c:420 msgid "Free" msgstr "å…è´¹ " #: ../../event.c:428 msgid "Busy" msgstr "å¿™ " #: ../../event.c:445 msgid "(One per line)" msgstr "(æ¯è¡Œä¸€ä¸ªï¼‰ " #: ../../event.c:455 ../../i18n_templatelist.c:25 #: ../../i18n_templatelist.c:297 ../../i18n_templatelist.c:334 #: ../../i18n_templatelist.c:512 ../../static/t/edit/markdown_epic.html:84 #: ../../static/t/edit/message.html:140 ../../static/t/iconbar.html:29 #: ../../static/t/iconbar/edit.html:42 msgid "Contacts" msgstr "è”系人 " #: ../../event.c:518 msgid "Recurrence rule" msgstr "é‡å¤è§„则 " #: ../../event.c:522 msgid "Repeats every" msgstr "é‡å¤æ¯ä¸ª " #. begin 'weekday_selector' div #: ../../event.c:540 msgid "on these weekdays:" msgstr "这些平日: " #: ../../event.c:598 #, c-format msgid "on day %s%d%s of the month" msgstr "天的 %s%d%s 的月 " #: ../../event.c:607 ../../event.c:669 msgid "on the " msgstr "关于 " #: ../../event.c:631 msgid "of the month" msgstr "æ¯æœˆ " #: ../../event.c:660 msgid "every " msgstr "æ¯ä¸ª " #: ../../event.c:661 msgid "year on this date" msgstr "在此日期年 " #: ../../event.c:693 ../../i18n_templatelist.c:478 #: ../../i18n_templatelist.c:928 ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 msgid "of" msgstr "çš„ " #: ../../event.c:717 msgid "Recurrence range" msgstr "é‡å¤å‘¨æœŸèŒƒå›´ " #: ../../event.c:725 msgid "No ending date" msgstr "æ²¡æœ‰ç»“æŸæ—¥æœŸ " #: ../../event.c:732 msgid "Repeat this event" msgstr "é‡å¤æ­¤äº‹ä»¶ " #: ../../event.c:735 msgid "times" msgstr "æ—¶é—´ " #: ../../event.c:743 msgid "Repeat this event until " msgstr "é‡å¤ç›´åˆ°æ­¤äº‹ä»¶ " #: ../../event.c:771 msgid "Check attendee availability" msgstr "检查与会者的å¯ç”¨æ€§ " #: ../../event.c:865 ../../calendar_view.c:266 ../../calendar_view.c:462 #: ../../calendar_view.c:931 msgid "Untitled Event" msgstr "未命å的事件" #: ../../iconbar.c:323 msgid "Iconbar Setting" msgstr "Iconbar 设置" #: ../../icontheme.c:173 msgid "Icon Theme" msgstr "" #: ../../inetconf.c:110 ../../inetconf.c:119 ../../inetconf.c:133 #: ../../inetconf.c:159 ../../netconf.c:157 ../../netconf.c:184 #: ../../netconf.c:192 ../../netconf.c:240 ../../netconf.c:248 msgid "Invalid Parameter" msgstr "æ— æ•ˆçš„å‚æ•°" #: ../../inetconf.c:126 msgid " has been deleted." msgstr "已被删除。 " #. added status message #: ../../inetconf.c:144 #, fuzzy msgid " added." msgstr "添加。 " #: ../../inetconf.c:237 ../../roomlist.c:50 ../../roomlist.c:378 #: ../../roomlist.c:506 ../../roomlist.c:601 ../../siteconfig.c:47 #: ../../siteconfig.c:65 ../../i18n_templatelist.c:357 #: ../../i18n_templatelist.c:431 ../../i18n_templatelist.c:610 #: ../../static/t/room/edit/tab_access.html:44 #: ../../static/t/room/edit/tab_config.html:150 #: ../../static/t/room/edit/tab_expire.html:73 msgid "Higher access is required to access this function." msgstr "访问此功能需è¦è¾ƒé«˜çš„访问。" #: ../../listsub.c:31 ../../listsub.c:69 ../../listsub.c:105 #: ../../listsub.c:112 msgid "You need to specify the mailinglist to subscribe to." msgstr "" #: ../../listsub.c:38 ../../listsub.c:76 #, fuzzy msgid "You need to specify the email address you'd like to subscribe with." msgstr "请指定您想è¦ä½¿ç”¨çš„用户å。" #: ../../messages.c:73 msgid "ERROR:" msgstr "错误: " #: ../../messages.c:91 msgid "Empty message" msgstr "ç©ºæ¶ˆæ¯ " #: ../../messages.c:1044 msgid "Cancelled. Message was not posted." msgstr "å–æ¶ˆã€‚ä¸å‘逿¶ˆæ¯ã€‚ " #: ../../messages.c:1047 msgid "Automatically cancelled because you have already saved this message." msgstr "因为您已ç»ä¿å­˜æ­¤é‚®ä»¶æ—¶è‡ªåЍ喿¶ˆã€‚ " #: ../../messages.c:1071 msgid "Saved to Drafts failed: " msgstr "ä¿å­˜åˆ°è‰ç¨¿å¤±è´¥ï¼š " #: ../../messages.c:1138 msgid "Refusing to post empty message.\n" msgstr "æ‹’ç»åŽç©ºçš„æ¶ˆæ¯ã€‚ \n" #: ../../messages.c:1164 msgid "Message has been saved to Drafts.\n" msgstr "消æ¯å·²ä¿å­˜åˆ°è‰ç¨¿ã€‚ \n" #: ../../messages.c:1174 msgid "Message has been sent.\n" msgstr "邮件已å‘é€ã€‚ \n" #: ../../messages.c:1177 msgid "Message has been posted.\n" msgstr "邮件已å‘é€ã€‚ \n" #: ../../messages.c:1791 msgid "The message was not moved." msgstr "è¯¥æ¶ˆæ¯æ˜¯ä¸ä¼šç§»åŠ¨ã€‚ " #: ../../messages.c:1832 #, c-format msgid "An error occurred while retrieving this part: %s/%s\n" msgstr "检索此部分时å‘生错误: %s/%s\n" #: ../../messages.c:1922 #, c-format msgid "An error occurred while retrieving this part: %s\n" msgstr "检索此部分时å‘生错误:%s\n" #: ../../messages.c:2082 msgid "Attach signature to email messages?" msgstr "将签å附加到电å­é‚®ä»¶å—? " #: ../../messages.c:2085 msgid "Use this signature:" msgstr "使用此签å: " #: ../../messages.c:2087 msgid "Default character set for email headers:" msgstr "默认字符集的电å­é‚®ä»¶æ ‡é¢˜ï¼š " #: ../../messages.c:2090 msgid "Preferred email address" msgstr "首选的电å­é‚®ä»¶åœ°å€ " #: ../../messages.c:2092 msgid "Preferred display name for email messages" msgstr "电å­é‚®ä»¶é¦–选的显示åç§° " #: ../../messages.c:2096 msgid "Preferred display name for bulletin board posts" msgstr "公告æ¿ä¸Šå²—的首选的显示åç§° " #: ../../messages.c:2099 msgid "Mailbox view mode" msgstr "é‚®ç®±è§†å›¾æ¨¡å¼ " #: ../../notes.c:345 ../../i18n_templatelist.c:756 msgid "Click on any note to edit it." msgstr "å•击任何注释,对其进行编辑。 " #: ../../paging.c:29 msgid "Send instant message" msgstr "å‘é€å³æ—¶æ¶ˆæ¯ " #: ../../paging.c:37 msgid "Send an instant message to: " msgstr "å‘é€å³æ—¶æ¶ˆæ¯ï¼š " #: ../../paging.c:51 msgid "Enter message text:" msgstr "输入消æ¯çš„æ–‡æœ¬ï¼š " #: ../../paging.c:59 ../../i18n_templatelist.c:289 #: ../../i18n_templatelist.c:326 ../../static/t/edit/markdown_epic.html:50 #: ../../static/t/edit/message.html:106 msgid "Send message" msgstr "å‘é€é‚®ä»¶ " #: ../../paging.c:78 msgid "Message was not sent." msgstr "æ¶ˆæ¯æœªè¢«å‘é€ã€‚ " #: ../../paging.c:89 msgid "Message has been sent to " msgstr "邮件已å‘é€åˆ° " #: ../../preferences.c:880 msgid "Cancelled. No settings were changed." msgstr "å–æ¶ˆã€‚没有设置被更改。" #: ../../preferences.c:1128 msgid "Make this my start page" msgstr "这使我的起始页" #: ../../preferences.c:1166 msgid "This isn't allowed to become the start page." msgstr "è¿™ä¸è¢«è޷准æˆä¸ºå¼€å§‹é¡µã€‚" #: ../../preferences.c:1168 msgid "You no longer have a start page selected." msgstr "您ä¸å†éœ€è¦é€‰å®šçš„起始页。" #: ../../preferences.c:1220 msgid "Prefered startpage" msgstr "首选的起始页" #: ../../roomlist.c:105 msgid "My Folders" msgstr "我的文件夹" #: ../../roomops.c:712 ../../roomops.c:1013 ../../sieve.c:367 msgid "Cancelled. Changes were not saved." msgstr "å–æ¶ˆã€‚未ä¿å­˜çš„æ›´æ”¹" #: ../../roomops.c:839 ../../sieve.c:420 msgid "Your changes have been saved." msgstr "å·²ä¿å­˜æ‚¨çš„æ›´æ”¹" #: ../../roomops.c:885 #, c-format msgid "User '%s' kicked out of room '%s'." msgstr "用户 %s 踢出房间 %s。 " #: ../../roomops.c:902 #, c-format msgid "User '%s' invited to room '%s'." msgstr "用户 '%s' 邀请到 '%s' 的房间。 " #: ../../roomops.c:933 msgid "Cancelled. No new room was created." msgstr "å–æ¶ˆã€‚ä¸åˆ›å»ºä»»ä½•新的房间。 " #: ../../roomops.c:1260 msgid "Floor has been deleted." msgstr "地æ¿å·²è¢«åˆ é™¤." #: ../../roomops.c:1284 msgid "New floor has been created." msgstr "已创建新的地æ¿ã€‚ " #: ../../roomops.c:1363 msgid "Room list view" msgstr "房间列表视图 " #: ../../roomops.c:1366 msgid "Show empty floors" msgstr "显示空层 " #: ../../roomtokens.c:570 msgid "file" msgstr "文件 " #: ../../roomtokens.c:572 msgid "files" msgstr "文件 " #: ../../roomviews.c:53 msgid "Bulletin Board" msgstr "å…¬å‘Šæ¿ " #: ../../roomviews.c:54 msgid "Mail Folder" msgstr "邮件文件夹 " #: ../../roomviews.c:55 msgid "Address Book" msgstr "通讯簿 " #: ../../roomviews.c:56 ../../i18n_templatelist.c:33 #: ../../i18n_templatelist.c:510 ../../static/t/iconbar.html:24 #: ../../static/t/iconbar/edit.html:55 msgid "Calendar" msgstr "日历 " #: ../../roomviews.c:57 msgid "Task List" msgstr "任务列表 " #: ../../roomviews.c:58 msgid "Notes List" msgstr "注释列表 " #: ../../roomviews.c:59 msgid "Wiki" msgstr "Wiki " #: ../../roomviews.c:60 msgid "Calendar List" msgstr "日历列表 " #: ../../roomviews.c:61 msgid "Journal" msgstr "æ‚å¿— " #: ../../roomviews.c:62 msgid "Drafts" msgstr "è‰ç¨¿ " #: ../../roomviews.c:63 msgid "Blog" msgstr "åšå®¢ " #: ../../roomviews.c:64 msgid "Markdown Wiki" msgstr "" #: ../../serv_func.c:193 msgid "" "This server is already serving its maximum number of users and cannot accept " "any additional logins at this time. Please try again later or contact your " "system administrator." msgstr "" "æ­¤æœåС噍已æœåŠ¡çš„æœ€å¤§ç”¨æˆ·æ•°å’Œä¸èƒ½æŽ¥å—在这个时候任何é¢å¤–的登录。请ç¨åŽå†è¯•,或" "è”系您系统管ç†å‘˜ã€‚ " #: ../../serv_func.c:198 ../../serv_func.c:227 msgid "Received unexpected answer from Citadel server; bailing out." msgstr "从城堡æœåС噍 ï¼› 收到æ„外的答案纾困。 " #: ../../serv_func.c:236 #, c-format msgid "" "You are connected to a Citadel server running Citadel %d.%02d. \n" "In order to run this version of WebCit you must also have Citadel %d.%02d or " "newer.\n" "\n" "\n" msgstr "" "您连接到è¿è¡ŒåŸŽå ¡ %d.%0 城堡æœåС噍2d。 \n" "为了è¿è¡Œæ­¤ç‰ˆæœ¬çš„ WebCit 也必须有城堡 %d.%02d 或更新。 \n" "\n" "\n" #: ../../siteconfig.c:335 msgid "Your system configuration has been updated." msgstr "已更新您的系统é…置。" #: ../../smtpqueue.c:181 msgid "First Attempt pending" msgstr "" #: ../../useredit.c:625 msgid "" "An error occurred while trying to create or edit this address book entry." msgstr "å°è¯•创建或编辑此通讯簿æ¡ç›®æ—¶å‡ºé”™ã€‚ " #: ../../useredit.c:713 msgid "Changes were not saved." msgstr "未ä¿å­˜çš„æ›´æ”¹ " #: ../../useredit.c:778 msgid "A new user has been created." msgstr "已创建一个新用户。 " #: ../../useredit.c:782 msgid "" "You are attempting to create a new user from within Citadel while running in " "host based authentication mode. In this mode, you must create new users on " "the host system, not within Citadel." msgstr "" "您试图在è¿è¡Œæ—¶åˆ›å»ºä¸€ä¸ªæ–°çš„ç”¨æˆ·ï¼Œä»ŽåŸŽå ¡å†…åŸºäºŽä¸»æœºçš„èº«ä»½éªŒè¯æ¨¡å¼ã€‚在此模å¼ä¸­ï¼Œ" "您必须在创建新用户主机系统,ä¸èƒ½åœ¨åŸŽå ¡ã€‚ " #: ../../vcard_edit.c:170 ../../vcard_edit.c:173 msgid "(no name)" msgstr "(没有å称)" #: ../../vcard_edit.c:438 msgid " (work)" msgstr "(工作)" #: ../../vcard_edit.c:440 msgid " (home)" msgstr "(首页)" #: ../../vcard_edit.c:442 msgid " (cell)" msgstr "(å•元格)" #: ../../vcard_edit.c:453 ../../vcard_edit.c:1122 msgid "Address:" msgstr "地å€ï¼š" #: ../../vcard_edit.c:521 msgid "Telephone:" msgstr "电è¯ï¼š" #: ../../vcard_edit.c:526 msgid "E-mail:" msgstr "电å­é‚®ä»¶ï¼š" #: ../../vcard_edit.c:774 msgid "This address book is empty." msgstr "此通讯簿是空" #: ../../vcard_edit.c:788 msgid "An internal error has occurred." msgstr "å‘生内部错误。" #: ../../vcard_edit.c:940 msgid "Error" msgstr "错误" #: ../../vcard_edit.c:1044 msgid "Edit contact information" msgstr "编辑è”系信æ¯" #: ../../vcard_edit.c:1070 msgid "Prefix" msgstr "å‰ç¼€" #: ../../vcard_edit.c:1070 msgid "First Name" msgstr "第一å" #: ../../vcard_edit.c:1070 msgid "Middle Name" msgstr "中间å" #: ../../vcard_edit.c:1070 msgid "Last Name" msgstr "å§“æ°" #: ../../vcard_edit.c:1070 msgid "Suffix" msgstr "åŽç¼€" #: ../../vcard_edit.c:1091 msgid "Display name:" msgstr "显示å称:" #: ../../vcard_edit.c:1098 msgid "Title:" msgstr "标题:" #: ../../vcard_edit.c:1105 msgid "Organization:" msgstr "组织:" #: ../../vcard_edit.c:1116 msgid "PO box:" msgstr "信箱:" #: ../../vcard_edit.c:1132 msgid "City:" msgstr "城市:" #: ../../vcard_edit.c:1138 msgid "State:" msgstr "状æ€ï¼š" #: ../../vcard_edit.c:1144 msgid "ZIP code:" msgstr "邮政编ç ï¼š" #: ../../vcard_edit.c:1150 msgid "Country:" msgstr "国家:" #: ../../vcard_edit.c:1160 msgid "Home telephone:" msgstr "家庭电è¯ï¼š" #: ../../vcard_edit.c:1166 msgid "Work telephone:" msgstr "工作电è¯ï¼š" #: ../../vcard_edit.c:1172 msgid "Mobile telephone:" msgstr "移动电è¯ï¼š" #: ../../vcard_edit.c:1178 msgid "Fax number:" msgstr "传真å·ç ï¼š" #: ../../vcard_edit.c:1189 msgid "Primary Internet e-mail address" msgstr "主è¦çš„互è”网电å­é‚®ä»¶åœ°å€" #: ../../vcard_edit.c:1196 msgid "Internet e-mail aliases" msgstr "互è”网电å­é‚®ä»¶åˆ«å" #: ../../vcard_edit.c:1263 msgid "Unable to enter the room to save your message" msgstr "无法输入è¦ä¿å­˜æ‚¨çš„邮件室" #: ../../vcard_edit.c:1267 msgid "Aborting." msgstr "中止" #: ../../vcard_edit.c:1399 msgid "Could Not decode vcard photo\n" msgstr "å¯ä»¥ä¸ decode 电å­å片 photo\n" #: ../../webcit.c:350 msgid "Authorization Required" msgstr "æ‰€éœ€çš„æŽˆæƒ " #: ../../webcit.c:358 #, c-format msgid "" "The resource you requested requires a valid username and password. You could " "not be logged in: %s\n" msgstr "" "您请求的资æºè¦æ±‚有效的用户å和密ç ã€‚你能ä¸èƒ½ä¸ä¼šè¢«è®°å½•: 是:没有å为 '%s' çš„" "空间。 %s\n" #: ../../webcit.c:681 msgid "" "This program was unable to connect or stay connected to the Citadel server. " "Please report this problem to your system administrator." msgstr "" "æ­¤ç¨‹åºæ— æ³•è¿žæŽ¥æˆ–ä¿æŒä¸ŽåŸŽå ¡æœåŠ¡å™¨çš„è¿žæŽ¥ã€‚è¯·æŠ¥å‘Šæ­¤é—®é¢˜ï¼Œæ‚¨çš„ç³»ç»Ÿç®¡ç†å‘˜è”系。 " #: ../../webcit.c:688 msgid "Read More..." msgstr "阅读更多... " #: ../../wiki.c:55 #, c-format msgid "'%s' is not a Wiki room." msgstr "%s' 䏿˜¯ä¸€ä¸ª Wiki 的房间。 " #: ../../wiki.c:89 #, c-format msgid "There is no page called '%s' here." msgstr "没有在这里称为 '%s' 的页é¢ã€‚ " #: ../../wiki.c:91 msgid "" "Select the 'Edit this page' link in the room banner if you would like to " "create this page." msgstr "房间标题æ ä¸­é€‰æ‹©ç¼–辑此页链接,如果你想创建该页é¢ã€‚ " #: ../../wiki.c:142 ../../i18n_templatelist.c:110 #: ../../static/t/msg_listview.html:11 msgid "Date" msgstr "æäº¤çš„æ—¥æœŸ/æ—¶é—´ " #: ../../wiki.c:143 msgid "Author" msgstr "作者 " #: ../../wiki.c:170 ../../wiki.c:180 msgid "(show)" msgstr "(显示) " #: ../../wiki.c:171 ../../i18n_templatelist.c:975 #: ../../i18n_templatelist.c:979 ../../static/t/navbar.html:145 #: ../../static/t/navbar.html:168 msgid "Current version" msgstr "当å‰ç‰ˆæœ¬ " #: ../../wiki.c:184 msgid "(revert)" msgstr "(æ¢å¤) " #: ../../wiki.c:246 msgid "Page title" msgstr "页标题 " #: ../../fmt_date.c:306 msgid "Time format" msgstr "æ—¶é—´æ ¼å¼ " #: ../../calendar_view.c:291 ../../calendar_view.c:952 #: ../../calendar_view.c:996 ../../calendar_view.c:1077 #: ../../i18n_templatelist.c:638 ../../static/t/sieve/display_one.html:20 msgid "From" msgstr "从" #: ../../calendar_view.c:349 ../../calendar_view.c:968 msgid "Starting date:" msgstr "开始日期:" #: ../../calendar_view.c:355 ../../calendar_view.c:970 msgid "Ending date:" msgstr "ç»“æŸæ—¥æœŸï¼š" #: ../../calendar_view.c:363 ../../calendar_view.c:1089 msgid "Date/time:" msgstr "时间:" #: ../../calendar_view.c:380 ../../calendar_view.c:974 #: ../../calendar_view.c:1012 ../../calendar_view.c:1099 #: ../../i18n_templatelist.c:621 ../../static/t/room/edit/tab_share.html:33 msgid "Notes:" msgstr "备注:" #: ../../calendar_view.c:579 ../../calendar_view.c:715 msgid "previous" msgstr "上一页" #: ../../calendar_view.c:591 ../../calendar_view.c:727 #: ../../calendar_view.c:1302 msgid "next" msgstr "下一步" #: ../../calendar_view.c:750 msgid "Week" msgstr "一周" #: ../../calendar_view.c:752 msgid "Hours" msgstr "æ—¶é—´" #: ../../calendar_view.c:753 ../../i18n_templatelist.c:108 #: ../../i18n_templatelist.c:640 ../../static/t/msg_listview.html:9 #: ../../static/t/sieve/display_one.html:22 msgid "Subject" msgstr "主题" #: ../../calendar_view.c:995 ../../calendar_view.c:1018 msgid "Ongoing event" msgstr "正在进行的活动" #: ../../msg_renderers.c:629 ../../i18n_templatelist.c:246 #: ../../i18n_templatelist.c:247 msgid "edit" msgstr "编辑 " #: ../../msg_renderers.c:1182 msgid "I don't know how to display " msgstr "我ä¸çŸ¥é“如何显示 " #: ../../msg_renderers.c:1416 msgid "(no subject)" msgstr "(无主题) " #: ../../i18n_templatelist.c:3 ../../static/t/view_mailq/footer_empty.html:4 msgid "The queue is empty." msgstr "队列为空 " #: ../../i18n_templatelist.c:4 ../../i18n_templatelist.c:699 #: ../../static/t/view_mailq/footer.html:5 #: ../../static/t/view_mailq/footer_empty.html:9 msgid "You do not have permission to view this resource." msgstr "您没有查看此资æºçš„æƒé™ã€‚ " #: ../../i18n_templatelist.c:5 ../../i18n_templatelist.c:220 #: ../../static/t/iconbar/edit.html:4 ../../static/t/iconbar/save.html:4 msgid "Customize the icon bar" msgstr "è‡ªå®šä¹‰å›¾æ ‡æ  " #: ../../i18n_templatelist.c:6 ../../static/t/iconbar/edit.html:11 msgid "Display icons as:" msgstr "显示为图标,请: " #: ../../i18n_templatelist.c:7 ../../static/t/iconbar/edit.html:12 msgid "pictures and text" msgstr "图片和文本 " #: ../../i18n_templatelist.c:8 ../../static/t/iconbar/edit.html:13 msgid "pictures only" msgstr "åªæœ‰å›¾ç‰‡ " #: ../../i18n_templatelist.c:9 ../../static/t/iconbar/edit.html:14 msgid "text only" msgstr "纯文字版 " #: ../../i18n_templatelist.c:10 ../../static/t/iconbar/edit.html:16 msgid "" "Select the icons you would like to see displayed in the 'icon bar' menu on " "the left side of the screen." msgstr "选择您想è¦å¯¹ '图标æ èœå•中显示的图标在å±å¹•的左侧。 " #: ../../i18n_templatelist.c:11 ../../i18n_templatelist.c:15 #: ../../i18n_templatelist.c:19 ../../i18n_templatelist.c:23 #: ../../i18n_templatelist.c:27 ../../i18n_templatelist.c:31 #: ../../i18n_templatelist.c:35 ../../i18n_templatelist.c:39 #: ../../i18n_templatelist.c:43 ../../i18n_templatelist.c:47 #: ../../i18n_templatelist.c:51 ../../i18n_templatelist.c:55 #: ../../i18n_templatelist.c:163 ../../i18n_templatelist.c:265 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:14 #: ../../static/t/iconbar/edit.html:19 ../../static/t/iconbar/edit.html:26 #: ../../static/t/iconbar/edit.html:32 ../../static/t/iconbar/edit.html:39 #: ../../static/t/iconbar/edit.html:45 ../../static/t/iconbar/edit.html:52 #: ../../static/t/iconbar/edit.html:58 ../../static/t/iconbar/edit.html:64 #: ../../static/t/iconbar/edit.html:70 ../../static/t/iconbar/edit.html:76 #: ../../static/t/iconbar/edit.html:82 ../../static/t/iconbar/edit.html:88 #: ../../static/t/prefs/box.html:198 msgid "Yes" msgstr "\"是\" " #: ../../i18n_templatelist.c:12 ../../i18n_templatelist.c:16 #: ../../i18n_templatelist.c:20 ../../i18n_templatelist.c:24 #: ../../i18n_templatelist.c:28 ../../i18n_templatelist.c:32 #: ../../i18n_templatelist.c:36 ../../i18n_templatelist.c:40 #: ../../i18n_templatelist.c:44 ../../i18n_templatelist.c:48 #: ../../i18n_templatelist.c:52 ../../i18n_templatelist.c:56 #: ../../i18n_templatelist.c:164 ../../i18n_templatelist.c:266 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:16 #: ../../static/t/iconbar/edit.html:20 ../../static/t/iconbar/edit.html:27 #: ../../static/t/iconbar/edit.html:33 ../../static/t/iconbar/edit.html:40 #: ../../static/t/iconbar/edit.html:46 ../../static/t/iconbar/edit.html:53 #: ../../static/t/iconbar/edit.html:59 ../../static/t/iconbar/edit.html:65 #: ../../static/t/iconbar/edit.html:71 ../../static/t/iconbar/edit.html:77 #: ../../static/t/iconbar/edit.html:83 ../../static/t/iconbar/edit.html:89 #: ../../static/t/prefs/box.html:200 msgid "No" msgstr "æ—  " #: ../../i18n_templatelist.c:13 ../../static/t/iconbar/edit.html:23 msgid "Site logo" msgstr "站点徽标 " #: ../../i18n_templatelist.c:14 ../../static/t/iconbar/edit.html:23 msgid "An icon describing this site" msgstr "æè¿°æ­¤ç«™ç‚¹å›¾æ ‡ " #: ../../i18n_templatelist.c:18 ../../i18n_templatelist.c:505 #: ../../static/t/iconbar/edit.html:29 msgid "Your summary page" msgstr "摘è¦é¡µé¢ " #: ../../i18n_templatelist.c:21 ../../static/t/iconbar/edit.html:36 msgid "Mail (inbox)" msgstr "邮件 (收件箱) " #: ../../i18n_templatelist.c:22 ../../static/t/iconbar/edit.html:36 msgid "A shortcut to your email Inbox" msgstr "å¿«æ·æ–¹å¼åˆ°æ‚¨çš„电å­é‚®ä»¶æ”¶ä»¶ç®± " #: ../../i18n_templatelist.c:26 ../../static/t/iconbar/edit.html:42 msgid "Your personal address book" msgstr "个人通讯簿 " #: ../../i18n_templatelist.c:30 ../../static/t/iconbar/edit.html:49 msgid "Your personal notes" msgstr "您个人的笔记 " #: ../../i18n_templatelist.c:34 ../../static/t/iconbar/edit.html:55 msgid "A shortcut to your personal calendar" msgstr "å¿«æ·æ–¹å¼åˆ°æ‚¨çš„个人日历 " #: ../../i18n_templatelist.c:37 ../../i18n_templatelist.c:516 #: ../../i18n_templatelist.c:864 ../../static/t/iconbar.html:39 #: ../../static/t/iconbar/edit.html:61 ../../static/t/summary/page.html:30 msgid "Tasks" msgstr "任务 " #: ../../i18n_templatelist.c:38 ../../static/t/iconbar/edit.html:61 msgid "A shortcut to your personal task list" msgstr "æ‚¨çš„ä¸ªäººä»»åŠ¡åˆ—è¡¨å¿«æ·æ–¹å¼ " #: ../../i18n_templatelist.c:41 ../../i18n_templatelist.c:518 #: ../../static/t/iconbar.html:48 ../../static/t/iconbar/edit.html:67 msgid "Rooms" msgstr "客房 " #: ../../i18n_templatelist.c:42 ../../static/t/iconbar/edit.html:67 msgid "" "Clicking this icon displays a list of all accessible rooms (or folders) " "available." msgstr "å•击此图标显示列表中的所有å¯è®¿é—®çš„æˆ¿é—´ (或文件夹)å¯ç”¨ã€‚ " #: ../../i18n_templatelist.c:45 ../../static/t/iconbar/edit.html:73 msgid "Who is online?" msgstr "在线是è°ï¼Ÿ " #: ../../i18n_templatelist.c:46 ../../static/t/iconbar/edit.html:73 msgid "Clicking this icon displays a list of all users currently logged in." msgstr "å•击此图标会显示当å‰è®°å½•的所有用户的列表。 " #: ../../i18n_templatelist.c:49 ../../i18n_templatelist.c:523 #: ../../static/t/iconbar.html:62 ../../static/t/iconbar/edit.html:79 msgid "Chat" msgstr "èŠå¤© " #: ../../i18n_templatelist.c:50 ../../static/t/iconbar/edit.html:79 msgid "" "Clicking this icon enters real-time chat mode with other users in the same " "room." msgstr "å•击此图标进入实时èŠå¤©æ¨¡å¼ä¸Žå…¶ä»–用户在åŒä¸€æˆ¿é—´ã€‚" #: ../../i18n_templatelist.c:53 ../../static/t/iconbar/edit.html:85 msgid "Advanced options" msgstr "高级的选项 " #: ../../i18n_templatelist.c:54 ../../static/t/iconbar/edit.html:85 msgid "Access to the complete menu of Citadel functions." msgstr "城堡功能的完整èœå•访问。 " #: ../../i18n_templatelist.c:57 ../../static/t/iconbar/edit.html:91 msgid "Citadel logo" msgstr "城堡徽标 " #: ../../i18n_templatelist.c:58 ../../static/t/iconbar/edit.html:91 msgid "Displays the 'Powered by Citadel' icon" msgstr "显示æä¾›åŠ¨åŠ›çš„åŸŽå ¡' 图标 " #: ../../i18n_templatelist.c:61 ../../i18n_templatelist.c:134 #: ../../static/t/aide/display_inetconf.html:5 #: ../../static/t/aide/display_menu.html:5 msgid "System Administration Menu" msgstr "系统管ç†èœå•" #: ../../i18n_templatelist.c:62 ../../i18n_templatelist.c:135 #: ../../static/t/aide/display_inetconf.html:6 #: ../../static/t/aide/display_menu.html:6 msgid "Room Admin Menu" msgstr "房间的助手èœå•" #: ../../i18n_templatelist.c:63 ../../static/t/aide/display_inetconf.html:14 msgid "Local host aliases" msgstr "本地主机别å" #: ../../i18n_templatelist.c:64 ../../static/t/aide/display_inetconf.html:15 msgid "Directory domains" msgstr "目录域" #: ../../i18n_templatelist.c:65 ../../static/t/aide/display_inetconf.html:16 msgid "Smart hosts" msgstr "智能主机" #: ../../i18n_templatelist.c:66 ../../static/t/aide/display_inetconf.html:17 msgid "Fallback smart hosts" msgstr "备用的智能主机" #: ../../i18n_templatelist.c:67 ../../static/t/aide/display_inetconf.html:18 msgid "Notification hosts" msgstr "通知主机" #: ../../i18n_templatelist.c:68 ../../static/t/aide/display_inetconf.html:23 msgid "RBL hosts" msgstr "RBL 主机" #: ../../i18n_templatelist.c:69 ../../static/t/aide/display_inetconf.html:24 msgid "SpamAssassin hosts" msgstr "SpamAssassin 主机" #: ../../i18n_templatelist.c:70 ../../static/t/aide/display_inetconf.html:25 msgid "ClamAV clamd hosts" msgstr "ClamAV clamd 主机" #: ../../i18n_templatelist.c:71 ../../static/t/aide/display_inetconf.html:26 msgid "Masqueradable domains" msgstr "Masqueradable 域" #: ../../i18n_templatelist.c:72 ../../i18n_templatelist.c:458 #: ../../i18n_templatelist.c:537 ../../i18n_templatelist.c:809 #: ../../static/t/aide/siteconfig/tab_directory.html:3 #: ../../static/t/aide/siteconfig/tab_imap.html:2 #: ../../static/t/aide/siteconfig/tab_setting.html:1 #: ../../static/t/aide/siteconfig/tab_smtp.html:2 msgid "" "Changes made on this screen will not take effect until you restart the " "Citadel server." msgstr "在此å±å¹•上所åšçš„æ›´æ”¹å°†ä¸ä¼šç”Ÿæ•ˆï¼Œç›´åˆ°é‡æ–°å¯åŠ¨åŸŽå ¡çš„æœåŠ¡å™¨ã€‚ " #: ../../i18n_templatelist.c:73 #: ../../static/t/aide/siteconfig/tab_setting.html:5 msgid "Network services" msgstr "网络æœåŠ¡ " #: ../../i18n_templatelist.c:74 #: ../../static/t/aide/siteconfig/tab_setting.html:7 #, fuzzy msgid "Server IP address (0.0.0.0 for 'any' IPV4, * for all including IPV6)" msgstr "æœåС噍 IP åœ°å€ ï¼ˆä»»ä½• 0.0.0.0) " #: ../../i18n_templatelist.c:75 #: ../../static/t/aide/siteconfig/tab_setting.html:10 msgid "XMPP (Jabber) client to server port (-1 to disable)" msgstr "XMPP (Jabber) 客户端到æœåŠ¡å™¨ç«¯å£ ï¼ˆç¦ç”¨-1) " #: ../../i18n_templatelist.c:76 #: ../../static/t/aide/siteconfig/tab_setting.html:13 msgid "XMPP (Jabber) server to server port (-1 to disable)" msgstr "XMPP (Jabber) æœåŠ¡å™¨åˆ°æœåŠ¡å™¨ç«¯å£ ï¼ˆç¦ç”¨-1) " #: ../../i18n_templatelist.c:77 #: ../../static/t/aide/siteconfig/tab_setting.html:16 msgid "Advanced server fine-tuning controls" msgstr "微调控件的高级的æœåС噍 " #: ../../i18n_templatelist.c:78 #: ../../static/t/aide/siteconfig/tab_setting.html:18 msgid "Maximum message length" msgstr "最大消æ¯é•¿åº¦ " #: ../../i18n_templatelist.c:79 #: ../../static/t/aide/siteconfig/tab_setting.html:21 msgid "Server connection idle timeout (in seconds)" msgstr "æœåŠ¡å™¨è¿žæŽ¥ç©ºé—²è¶…æ—¶æ—¶é—´ (以秒为å•ä½ï¼‰ " #: ../../i18n_templatelist.c:80 #: ../../static/t/aide/siteconfig/tab_setting.html:24 msgid "Network run frequency (in seconds)" msgstr "网络è¿è¡Œé¢‘率 (以秒为å•ä½ï¼‰ " #: ../../i18n_templatelist.c:81 #: ../../static/t/aide/siteconfig/tab_setting.html:27 msgid "Maximum concurrent sessions (0 = no limit)" msgstr "最大并å‘ä¼šè¯ ï¼ˆ0 = æ— é™åˆ¶) " #: ../../i18n_templatelist.c:82 #: ../../static/t/aide/siteconfig/tab_setting.html:32 msgid "Minimum number of worker threads" msgstr "å·¥ä½œçº¿ç¨‹çš„æœ€å°æ•°ç›® " #: ../../i18n_templatelist.c:83 #: ../../static/t/aide/siteconfig/tab_setting.html:35 msgid "Maximum number of worker threads" msgstr "工作线程的最大数目 " #: ../../i18n_templatelist.c:84 #: ../../static/t/aide/siteconfig/tab_setting.html:40 msgid "Automatically delete committed database logs" msgstr "会自动删除已æäº¤çš„æ•°æ®åº“的日志 " #: ../../i18n_templatelist.c:85 ../../i18n_templatelist.c:467 #: ../../static/t/menu/advanced_roomcommands.html:6 #: ../../static/t/room/create.html:11 msgid "Create a new room" msgstr "创建一个新的房间 " #: ../../i18n_templatelist.c:86 ../../static/t/room/create.html:18 msgid "Name of room: " msgstr "文件室的å称:" #: ../../i18n_templatelist.c:87 ../../i18n_templatelist.c:584 #: ../../static/t/room/create.html:20 #: ../../static/t/room/edit/tab_config.html:11 msgid "Resides on floor: " msgstr "驻留在地æ¿ä¸Šï¼š" #: ../../i18n_templatelist.c:88 ../../static/t/room/create.html:32 msgid "Default view for room: " msgstr "房间的默认视图:" #: ../../i18n_templatelist.c:89 ../../i18n_templatelist.c:585 #: ../../static/t/room/create.html:70 #: ../../static/t/room/edit/tab_config.html:17 msgid "Type of room:" msgstr "房间类型:" #: ../../i18n_templatelist.c:90 ../../i18n_templatelist.c:586 #: ../../static/t/room/create.html:75 #: ../../static/t/room/edit/tab_config.html:23 msgid "Public (automatically appears to everyone)" msgstr "公共 (æ¯ä¸ªäººéƒ½è‡ªåŠ¨æ˜¾ç¤ºï¼‰" #: ../../i18n_templatelist.c:91 ../../i18n_templatelist.c:587 #: ../../static/t/room/create.html:79 #: ../../static/t/room/edit/tab_config.html:29 msgid "Private - hidden (accessible to anyone who knows its name)" msgstr "ç§äºº-éšè— (å¯å‘任何人知é“它的å称)" #: ../../i18n_templatelist.c:92 ../../i18n_templatelist.c:588 #: ../../static/t/room/create.html:83 #: ../../static/t/room/edit/tab_config.html:36 msgid "Private - require password: " msgstr "ç§äºº-需è¦å¯†ç ï¼š" #: ../../i18n_templatelist.c:93 ../../i18n_templatelist.c:589 #: ../../static/t/room/create.html:88 #: ../../static/t/room/edit/tab_config.html:45 msgid "Private - invitation only" msgstr "ä»…é™é‚€è¯·ç§è¥" #: ../../i18n_templatelist.c:94 ../../i18n_templatelist.c:590 #: ../../static/t/room/create.html:92 #: ../../static/t/room/edit/tab_config.html:52 msgid "Personal (mailbox for you only)" msgstr "个人 (仅为您邮箱)" #: ../../i18n_templatelist.c:95 #, fuzzy msgid "Create new room" msgstr "创建一个新的房间 " #: ../../i18n_templatelist.c:97 ../../i18n_templatelist.c:253 #: ../../i18n_templatelist.c:528 ../../i18n_templatelist.c:529 #: ../../i18n_templatelist.c:952 ../../static/t/confirmlogoff.html:3 #: ../../static/t/iconbar.html:80 ../../static/t/logout.html:10 #: ../../static/t/menu/basic_commands.html:19 msgid "Log off" msgstr "注销 " #: ../../i18n_templatelist.c:98 ../../static/t/logout.html:16 msgid "Log in again" msgstr "冿¬¡ç™»å½• " #: ../../i18n_templatelist.c:99 ../../static/t/room/zap_this.html:3 msgid "Zap (forget/unsubscribe) the current room" msgstr "æ­¼ç­ ï¼ˆå¿˜è®°/退订) 现时的房间" #: ../../i18n_templatelist.c:100 ../../static/t/room/zap_this.html:6 msgid "If you select this option," msgstr "如果您选择此选项," #: ../../i18n_templatelist.c:101 ../../static/t/room/zap_this.html:8 msgid "will disappear from your room list. Is this what you wish to do?" msgstr "将从您的房间列表中消失。这是你想åšçš„å—?" #: ../../i18n_templatelist.c:102 #, fuzzy msgid "Zap this room" msgstr "è·³è¿‡è¿™é—´å±‹å­ " #: ../../i18n_templatelist.c:104 ../../static/t/trailing.html:18 msgid "" "WARNING: You have JavaScript disabled in your web browser. Many functions " "of this system will not work properly." msgstr "" "警告: 您必须在您的 web æµè§ˆå™¨ä¸­ç¦ç”¨ JavaScript。许多函数 这一系统将无法正常" "工作。" #: ../../i18n_templatelist.c:105 ../../i18n_templatelist.c:408 #: ../../i18n_templatelist.c:749 ../../static/t/room/edit/tab_feed.html:14 #: ../../static/t/who/box_list_static.html:6 ../../static/t/who/summary.html:5 msgid "User name" msgstr "用户åç§° " #: ../../i18n_templatelist.c:106 ../../i18n_templatelist.c:750 #: ../../static/t/who/box_list_static.html:7 ../../static/t/who/summary.html:6 msgid "Room" msgstr "房间 " #: ../../i18n_templatelist.c:107 ../../static/t/who/box_list_static.html:8 msgid "From host" msgstr "从主机 " #: ../../i18n_templatelist.c:109 ../../i18n_templatelist.c:475 #: ../../i18n_templatelist.c:642 ../../static/t/msg_listview.html:10 #: ../../static/t/sieve/display_one.html:24 #: ../../static/t/view_mailq/table.html:10 msgid "Sender" msgstr "å‘件人 " #: ../../i18n_templatelist.c:111 ../../static/t/msg_listview.html:18 msgid "Loading messages from server, please wait" msgstr "从æœåŠ¡å™¨åŠ è½½çš„é‚®ä»¶ï¼Œè¯·ç¨å€™ " #: ../../i18n_templatelist.c:112 ../../static/t/msg_listview.html:24 msgid "Open in new window" msgstr "在新窗å£ä¸­æ‰“å¼€ " #: ../../i18n_templatelist.c:113 ../../i18n_templatelist.c:493 #: ../../i18n_templatelist.c:923 ../../static/t/msg_listview.html:25 #: ../../static/t/view_message.html:31 msgid "Move" msgstr "移动 " #: ../../i18n_templatelist.c:114 ../../static/t/msg_listview.html:26 msgid "Copy" msgstr "副本 " #: ../../i18n_templatelist.c:116 ../../i18n_templatelist.c:497 #: ../../static/t/msg_listview.html:28 ../../static/t/view_message.html:35 msgid "Print" msgstr "æ‰“å° " #: ../../i18n_templatelist.c:117 ../../static/t/aide/inet/fallbackhosts.html:2 msgid "(send outbound mail to these hosts only when direct delivery fails)" msgstr "(å‘é€å‡ºç«™é‚®ä»¶ï¼Œè¿™äº›ä¸»æœºç›´æŽ¥ä¼ é€’失败时,æ‰)" #: ../../i18n_templatelist.c:118 ../../static/t/room/zapped_list.html:7 msgid "Zapped (forgotten) rooms" msgstr "该地 (被é—忘) 室" #: ../../i18n_templatelist.c:119 ../../static/t/room/zapped_list.html:10 msgid "Click on any room to un-zap it and goto that room." msgstr "å•击任何房间以è”åˆå›½ zap 上它,并转到那个房间。" #: ../../i18n_templatelist.c:120 msgid "" "You have one or more instant messages waiting, but the Citadel Instant " "Messenger window failed to open. This is probably because you have a popup " "blocker installed. Please configure your popup blocker to allow popups from " "this site if you wish to receive instant messages." msgstr "" #: ../../i18n_templatelist.c:121 ../../static/t/menu/your_info.html:2 msgid "Change your preferences and settings" msgstr "更改您的首选项和设置 " #: ../../i18n_templatelist.c:122 ../../static/t/menu/your_info.html:3 msgid "Update your contact information" msgstr "更新您的è”ç³»ä¿¡æ¯ " #: ../../i18n_templatelist.c:123 ../../i18n_templatelist.c:882 #: ../../static/t/menu/change_pw.html:6 ../../static/t/menu/your_info.html:4 msgid "Change your password" msgstr "æ›´æ”¹æ‚¨çš„å¯†ç  " #: ../../i18n_templatelist.c:124 ../../static/t/menu/your_info.html:5 msgid "Enter your 'bio'" msgstr "请输入您的生物 " #: ../../i18n_templatelist.c:125 ../../static/t/menu/your_info.html:6 msgid "Edit your online photo" msgstr "编辑您的在线照片 " #: ../../i18n_templatelist.c:126 ../../i18n_templatelist.c:389 #: ../../i18n_templatelist.c:446 ../../static/t/menu/your_info.html:7 #: ../../static/t/sieve/list.html:32 ../../static/t/sieve/none.html:4 msgid "View/edit server-side mail filters" msgstr "查看/编辑æœåŠ¡å™¨ç«¯é‚®ä»¶ç­›é€‰å™¨" #: ../../i18n_templatelist.c:127 ../../static/t/menu/your_info.html:8 msgid "Edit your push email settings" msgstr "编辑你推电å­é‚®ä»¶è®¾ç½® " #: ../../i18n_templatelist.c:128 ../../static/t/menu/your_info.html:9 msgid "Manage your OpenIDs" msgstr "ç®¡ç†æ‚¨çš„ OpenIDs " #: ../../i18n_templatelist.c:129 ../../static/t/aide/display_logstatus.html:4 msgid "Temporarily enable debug logging for components" msgstr "" #: ../../i18n_templatelist.c:130 ../../static/t/aide/display_logstatus.html:13 msgid "" "This screen allows you to enable debug logging of components of the current " "citserver process. The setting is non-restart permanent. If you want it to " "be enabled permanently add it to the CITADEL_LOGDEBUG environment variable " "in your init script." msgstr "" #: ../../i18n_templatelist.c:131 msgid "The citadel server has to be restarted. It will be back in a minute." msgstr "" #: ../../i18n_templatelist.c:132 ../../i18n_templatelist.c:987 #: ../../static/t/view_message/inline_attach.html:4 #: ../../static/t/view_message/list_attach.html:3 msgid "View" msgstr "视图 " #: ../../i18n_templatelist.c:133 ../../i18n_templatelist.c:988 #: ../../static/t/view_message/inline_attach.html:5 #: ../../static/t/view_message/list_attach.html:4 msgid "Download" msgstr "下载 " #: ../../i18n_templatelist.c:136 ../../static/t/aide/display_menu.html:12 msgid "Global Configuration" msgstr "全局é…ç½®" #: ../../i18n_templatelist.c:137 ../../static/t/aide/display_menu.html:14 msgid "User account management" msgstr "ç”¨æˆ·å¸æˆ·ç®¡ç†" #: ../../i18n_templatelist.c:138 ../../static/t/aide/display_menu.html:16 msgid "Shutdown Citadel" msgstr "关闭城堡" #: ../../i18n_templatelist.c:139 ../../static/t/aide/display_menu.html:18 msgid "Rooms and Floors" msgstr "客房和地æ¿" #: ../../i18n_templatelist.c:140 ../../static/t/room/display_private.html:7 msgid "Go to a hidden room" msgstr "转到一个éšè—的房间" #: ../../i18n_templatelist.c:141 ../../static/t/room/display_private.html:8 msgid "" "If you know the name of a hidden (guess-name) or passworded room, you can " "enter that room by typing its name below. Once you gain access to a private " "room, it will appear in your regular room listings so you don‘t have to keep " "returning here." msgstr "" "如果您知é“éšè— (猜å称) 或 passworded 房间的å称,您å¯ä»¥ 输入通过键入其åç§°" "下é¢çš„那间屋å­é‡Œã€‚ä¸€æ—¦æ‚¨è®¿é—®ä¸€ä¸ªç§æœ‰ 房间,它将出现在您定期房间列表使您ä¸å¿…ä¿" "æŒ è¿”å›žåœ¨è¿™é‡Œã€‚" #: ../../i18n_templatelist.c:142 ../../static/t/room/display_private.html:14 msgid "Enter room name:" msgstr "输入房间å称:" #: ../../i18n_templatelist.c:143 ../../static/t/room/display_private.html:21 msgid "Enter room password:" msgstr "输入房间密ç ï¼š" #: ../../i18n_templatelist.c:144 #, fuzzy msgid "Go there" msgstr "关于 " #: ../../i18n_templatelist.c:146 ../../i18n_templatelist.c:313 #: ../../i18n_templatelist.c:314 ../../i18n_templatelist.c:405 #: ../../i18n_templatelist.c:483 ../../static/t/view_message.html:7 #: ../../static/t/view_message/print.html:8 #: ../../static/t/view_message/replyquote.html:3 #: ../../static/t/view_message/replyquote.html:7 #: ../../static/t/view_submessage.html:4 msgid "from " msgstr "从 " #: ../../i18n_templatelist.c:147 ../../i18n_templatelist.c:484 #: ../../static/t/view_message.html:14 #: ../../static/t/view_message/print.html:14 msgid "to" msgstr "自 " #: ../../i18n_templatelist.c:148 ../../i18n_templatelist.c:284 #: ../../i18n_templatelist.c:295 ../../i18n_templatelist.c:332 #: ../../i18n_templatelist.c:485 ../../static/t/edit/message.html:54 #: ../../static/t/view_message.html:15 #: ../../static/t/view_message/print.html:15 msgid "CC:" msgstr "抄é€ï¼š " #: ../../i18n_templatelist.c:149 ../../i18n_templatelist.c:287 #: ../../i18n_templatelist.c:315 ../../i18n_templatelist.c:486 #: ../../static/t/edit/message.html:68 ../../static/t/view_message.html:16 #: ../../static/t/view_message/print.html:16 #: ../../static/t/view_message/replyquote.html:8 msgid "Subject:" msgstr "主题: " #: ../../i18n_templatelist.c:150 ../../i18n_templatelist.c:831 #: ../../static/t/aide/display_sitewide_config.html:19 #: ../../static/t/aide/siteconfig/tab_pushmail.html:1 msgid "Push Email" msgstr "推进电å­é‚®ä»¶ " #: ../../i18n_templatelist.c:151 #: ../../static/t/aide/siteconfig/tab_pushmail.html:5 msgid "Funambol server host (blank to disable)" msgstr "战略性æœåŠ¡å™¨ä¸»æœº (ç¦ç”¨ç©ºç™½ï¼‰ " #: ../../i18n_templatelist.c:152 #: ../../static/t/aide/siteconfig/tab_pushmail.html:8 msgid "Funambol server port " msgstr "战略性æœåŠ¡å™¨ç«¯å£ " #: ../../i18n_templatelist.c:153 #: ../../static/t/aide/siteconfig/tab_pushmail.html:11 msgid "Funambol sync source" msgstr "æˆ˜ç•¥æ€§åŒæ­¥æº " #: ../../i18n_templatelist.c:154 #: ../../static/t/aide/siteconfig/tab_pushmail.html:14 msgid "Funambol auth details (user:pass)" msgstr "战略性身份验è¯çš„è¯¦ç»†ä¿¡æ¯ ï¼ˆç”¨æˆ·ï¼š 通) " #: ../../i18n_templatelist.c:155 #: ../../static/t/aide/siteconfig/tab_pushmail.html:17 msgid "External pager tool (blank to disable)" msgstr "外部页导航工具 (ç¦ç”¨ç©ºç™½ï¼‰ " #: ../../i18n_templatelist.c:156 ../../static/t/prefs/box.html:9 msgid "Tree (folders) view" msgstr "(文件夹) 树视图 " #: ../../i18n_templatelist.c:157 ../../static/t/prefs/box.html:11 msgid "Table (rooms) view" msgstr "表 (房间) 视图 " #: ../../i18n_templatelist.c:158 ../../static/t/prefs/box.html:20 msgid "12 hour (am/pm)" msgstr "12 å°æ—¶ (am/pm) " #: ../../i18n_templatelist.c:159 ../../static/t/prefs/box.html:25 msgid "24 hour" msgstr "24 å°æ—¶ " #: ../../i18n_templatelist.c:160 ../../static/t/prefs/box.html:152 msgid "Sunday" msgstr "星期日 " #: ../../i18n_templatelist.c:161 ../../static/t/prefs/box.html:153 msgid "Monday" msgstr "星期一 " #: ../../i18n_templatelist.c:162 ../../static/t/prefs/box.html:174 msgid "No signature" msgstr "没有签å " #: ../../i18n_templatelist.c:165 ../../static/t/prefs/box.html:238 msgid "Full-functionality" msgstr "全功能 " #: ../../i18n_templatelist.c:166 ../../static/t/prefs/box.html:241 msgid "Safe mode" msgstr "å®‰å…¨æ¨¡å¼ " #: ../../i18n_templatelist.c:167 ../../static/t/prefs/box.html:242 msgid "" "Safe mode is less intensive on your web browser, but not as fully featured." msgstr "å®‰å…¨æ¨¡å¼æ˜¯å°‘用 web æµè§ˆå™¨ï¼Œä½†ä¸æ˜¯å……分的特色。 " #: ../../i18n_templatelist.c:168 msgid "Change" msgstr "" #: ../../i18n_templatelist.c:170 ../../i18n_templatelist.c:171 #: ../../static/t/preferences.html:4 ../../static/t/preferences.html:7 msgid "Preferences and settings" msgstr "首选项和设置" #: ../../i18n_templatelist.c:172 ../../static/t/aide/inet/notify.html:2 msgid "(URLS for notifications when users receive new mails; )" msgstr "(当用户收到新邮件 ï¼› 通知 URL)" #: ../../i18n_templatelist.c:173 ../../static/t/aide/inet/notify.html:2 msgid "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" msgstr "Syntax: Notificationtemplatename:http[s]://user:password@hostname/path" #: ../../i18n_templatelist.c:174 ../../static/t/display_main_menu.html:9 msgid "Basic commands" msgstr "基本命令" #: ../../i18n_templatelist.c:175 ../../static/t/display_main_menu.html:12 msgid "Your info" msgstr "您的信æ¯" #: ../../i18n_templatelist.c:176 ../../static/t/display_main_menu.html:14 msgid "Advanced room commands" msgstr "高级的房命令" #: ../../i18n_templatelist.c:177 #: ../../static/t/aide/edituser/detailview.html:4 msgid "Edit user account: " msgstr "ç¼–è¾‘ç”¨æˆ·å¸æˆ·ï¼š" #: ../../i18n_templatelist.c:178 ../../i18n_templatelist.c:340 #: ../../i18n_templatelist.c:763 ../../i18n_templatelist.c:769 #: ../../i18n_templatelist.c:893 #: ../../static/t/aide/edituser/detailview.html:20 #: ../../static/t/get_logged_in.html:55 ../../static/t/get_logged_in.html:70 #: ../../static/t/openid_manual_create.html:9 ../../static/t/who/edit.html:39 msgid "User name:" msgstr "用户å:" #: ../../i18n_templatelist.c:179 ../../i18n_templatelist.c:409 #: ../../static/t/aide/edituser/detailview.html:24 #: ../../static/t/room/edit/tab_feed.html:15 msgid "Password" msgstr "密ç " #: ../../i18n_templatelist.c:180 #: ../../static/t/aide/edituser/detailview.html:28 msgid "Permission to send Internet mail" msgstr "å‘é€ Internet 邮件的æƒé™" #: ../../i18n_templatelist.c:181 #: ../../static/t/aide/edituser/detailview.html:32 msgid "Number of logins" msgstr "登录å的数目" #: ../../i18n_templatelist.c:182 #: ../../static/t/aide/edituser/detailview.html:36 msgid "Messages submitted" msgstr "æäº¤é‚®ä»¶" #: ../../i18n_templatelist.c:183 #: ../../static/t/aide/edituser/detailview.html:40 msgid "Access level" msgstr "访问级别" #: ../../i18n_templatelist.c:191 #: ../../static/t/aide/edituser/detailview.html:54 msgid "User ID number" msgstr "用户 ID å·" #: ../../i18n_templatelist.c:192 #: ../../static/t/aide/edituser/detailview.html:58 msgid "Date and time of last login" msgstr "上次登入时间的日期和时间" #: ../../i18n_templatelist.c:193 #: ../../static/t/aide/edituser/detailview.html:68 msgid "Auto-purge after this many days" msgstr "这几天åŽè‡ªåŠ¨æ¸…é™¤" #: ../../i18n_templatelist.c:196 #: ../../static/t/aide/siteconfig/tab_pop3.html:1 msgid "POP3" msgstr "POP3" #: ../../i18n_templatelist.c:197 #: ../../static/t/aide/siteconfig/tab_pop3.html:6 msgid "POP3 listener port (-1 to disable)" msgstr "POP3 侦å¬å™¨ç«¯å£ (ç¦ç”¨-1) " #: ../../i18n_templatelist.c:198 #: ../../static/t/aide/siteconfig/tab_pop3.html:9 msgid "POP3 over SSL port (-1 to disable)" msgstr "POP3 通过 SSL ç«¯å£ ï¼ˆç¦ç”¨-1) " #: ../../i18n_templatelist.c:199 #: ../../static/t/aide/siteconfig/tab_pop3.html:12 msgid "POP3 fetch frequency in seconds" msgstr "以秒为å•ä½çš„ POP3 回è¿é¢‘率 " #: ../../i18n_templatelist.c:200 #: ../../static/t/aide/siteconfig/tab_pop3.html:15 msgid "POP3 fastest fetch frequency in seconds" msgstr "以秒为å•ä½çš„ POP3 最快回è¿é¢‘率 " #: ../../i18n_templatelist.c:201 ../../i18n_templatelist.c:502 #: ../../static/t/aide/global_config.html:6 #: ../../static/t/view_mailq/header.html:3 msgid "View the outbound SMTP queue" msgstr "查看出站 SMTP 队列 " #: ../../i18n_templatelist.c:202 ../../i18n_templatelist.c:211 #: ../../static/t/view_mailq/header.html:14 #: ../../static/t/view_mailq/header.html:47 msgid "Refresh this page" msgstr "刷新此页 " #: ../../i18n_templatelist.c:203 ../../static/t/view_mailq/header.html:20 msgid "HINT" msgstr "" #: ../../i18n_templatelist.c:204 ../../static/t/view_mailq/header.html:21 msgid "" "Citadel reattempts sending mail per interval; it starts at 60 second, and " "doubles each time. You can however bypass this mechanism once; all messages " "will be reattempted on the next queue run." msgstr "" #: ../../i18n_templatelist.c:205 ../../static/t/view_mailq/header.html:22 msgid "OK, got you, lets go!" msgstr "" #: ../../i18n_templatelist.c:206 ../../static/t/view_mailq/header.html:29 msgid "Reschedule all messages for delivery on next queue run" msgstr "" #: ../../i18n_templatelist.c:207 ../../static/t/view_mailq/header.html:35 msgid "Currently active mail delivery jobs" msgstr "" #: ../../i18n_templatelist.c:208 ../../static/t/view_mailq/header.html:36 #, fuzzy msgid "Remote Sites:" msgstr "远程主机" #: ../../i18n_templatelist.c:209 ../../static/t/view_mailq/header.html:37 #, fuzzy msgid "Status:" msgstr "状æ€ï¼š" #: ../../i18n_templatelist.c:210 ../../static/t/view_mailq/header.html:45 #, fuzzy msgid "Jobs waiting for further processing:" msgstr "继续处ç†" #: ../../i18n_templatelist.c:212 #: ../../static/t/aide/display_serverrestart_page.html:4 msgid "Message to your Users:" msgstr "给您的用户的消æ¯ï¼š" #: ../../i18n_templatelist.c:213 ../../i18n_templatelist.c:272 #: ../../i18n_templatelist.c:527 ../../static/t/iconbar.html:72 #: ../../static/t/room/edit.html:5 ../../static/t/room/edit/editroom.html:4 msgid "Administration" msgstr "政府 " #: ../../i18n_templatelist.c:214 ../../i18n_templatelist.c:273 #: ../../static/t/room/edit.html:6 ../../static/t/room/edit/editroom.html:5 msgid "Configuration" msgstr "é…ç½®" #: ../../i18n_templatelist.c:215 ../../i18n_templatelist.c:274 #: ../../static/t/room/edit.html:7 ../../static/t/room/edit/editroom.html:6 msgid "Message expire policy" msgstr "邮件过期这层政策" #: ../../i18n_templatelist.c:216 ../../i18n_templatelist.c:275 #: ../../static/t/room/edit.html:8 ../../static/t/room/edit/editroom.html:7 msgid "Access controls" msgstr "访问控制和网站策略设置" #: ../../i18n_templatelist.c:217 ../../i18n_templatelist.c:276 #: ../../static/t/room/edit.html:9 ../../static/t/room/edit/editroom.html:8 msgid "Sharing" msgstr "共享" #: ../../i18n_templatelist.c:218 ../../i18n_templatelist.c:277 #: ../../static/t/room/edit.html:10 ../../static/t/room/edit/editroom.html:9 msgid "Mailing list service" msgstr "邮件列表æœåŠ¡" #: ../../i18n_templatelist.c:219 ../../i18n_templatelist.c:278 #: ../../static/t/room/edit.html:11 ../../static/t/room/edit/editroom.html:10 msgid "Remote retrieval" msgstr "远程检索" #: ../../i18n_templatelist.c:221 ../../static/t/iconbar/save.html:11 msgid "" "Your icon bar has been updated. Please select any of its choices to continue." msgstr "已更新您的图标æ ã€‚请选择继续其选择的任何类情况的å‘生。 " #: ../../i18n_templatelist.c:222 ../../static/t/iconbar/save.html:11 msgid "" "You may need to force refresh (SHIFT-F5)> in order for changes to take effect" msgstr "您å¯èƒ½éœ€è¦è¿›è¡Œå¼ºåˆ¶åˆ·æ–° (shift é”® F5) > 为了使更改生效 " #: ../../i18n_templatelist.c:223 #: ../../static/t/aide/siteconfig/tab_general.html:1 msgid "General site configuration items" msgstr "一般站点的é…置项 " #: ../../i18n_templatelist.c:224 #: ../../static/t/aide/siteconfig/tab_general.html:5 msgid "Change Login Logo" msgstr "更改登录徽标 " #: ../../i18n_templatelist.c:225 #: ../../static/t/aide/siteconfig/tab_general.html:6 msgid "Change Logout Logo" msgstr "更改注销徽标 " #: ../../i18n_templatelist.c:226 ../../i18n_templatelist.c:237 #: ../../i18n_templatelist.c:991 ../../static/t/aide/ignetconf/add.html:15 #: ../../static/t/aide/ignetconf/edit_node.html:15 #: ../../static/t/aide/siteconfig/tab_general.html:8 msgid "Node name" msgstr "节点åç§° " #: ../../i18n_templatelist.c:227 #: ../../static/t/aide/siteconfig/tab_general.html:11 msgid "Fully qualified domain name" msgstr "完全é™å®šçš„域å " #: ../../i18n_templatelist.c:228 #: ../../static/t/aide/siteconfig/tab_general.html:14 msgid "Human-readable node name" msgstr "人类å¯è¯»çš„节点åç§° " #: ../../i18n_templatelist.c:229 #: ../../static/t/aide/siteconfig/tab_general.html:17 msgid "Telephone number" msgstr "电è¯å·ç  " #: ../../i18n_templatelist.c:230 #: ../../static/t/aide/siteconfig/tab_general.html:20 msgid "Paginator prompt (for text mode clients)" msgstr "ç›®å‰æç¤º (文本模å¼çš„客户端) " #: ../../i18n_templatelist.c:231 #: ../../static/t/aide/siteconfig/tab_general.html:23 msgid "Geographic location of this system" msgstr "此系统的地ç†ä½ç½® " #: ../../i18n_templatelist.c:232 #: ../../static/t/aide/siteconfig/tab_general.html:26 msgid "Name of system administrator" msgstr "系统管ç†å‘˜çš„åç§° " #: ../../i18n_templatelist.c:233 #: ../../static/t/aide/siteconfig/tab_general.html:29 msgid "Default timezone for unzoned calendar items" msgstr "Unzoned 的日历项目的默认时区 " #: ../../i18n_templatelist.c:234 msgid "Has Files" msgstr "" #: ../../i18n_templatelist.c:235 #, fuzzy msgid "Networked Room" msgstr "网络共享空间" #: ../../i18n_templatelist.c:236 ../../i18n_templatelist.c:675 #: ../../i18n_templatelist.c:990 ../../static/t/aide/display_ignetconf.html:10 #: ../../static/t/aide/ignetconf/add.html:5 #: ../../static/t/aide/ignetconf/edit_node.html:5 msgid "Add a new node" msgstr "添加一个新节点 " #: ../../i18n_templatelist.c:238 ../../i18n_templatelist.c:992 #: ../../static/t/aide/ignetconf/add.html:17 #: ../../static/t/aide/ignetconf/edit_node.html:17 msgid "Shared secret" msgstr "共享的密钥 " #: ../../i18n_templatelist.c:239 ../../i18n_templatelist.c:993 #: ../../static/t/aide/ignetconf/add.html:19 #: ../../static/t/aide/ignetconf/edit_node.html:19 msgid "Host or IP address" msgstr "主机或 IP åœ°å€ " #: ../../i18n_templatelist.c:240 ../../i18n_templatelist.c:994 #: ../../static/t/aide/ignetconf/add.html:21 #: ../../static/t/aide/ignetconf/edit_node.html:21 msgid "Port number" msgstr "端å£å· " #: ../../i18n_templatelist.c:241 #, fuzzy msgid "Add node?" msgstr "添加一个新节点 " #: ../../i18n_templatelist.c:243 ../../i18n_templatelist.c:262 #: ../../static/t/who/activesmtpsessions_one.html:13 #: ../../static/t/who/section.html:4 msgid "(kill)" msgstr "(æ€ï¼‰ " #: ../../i18n_templatelist.c:244 ../../i18n_templatelist.c:433 #: ../../static/t/who/section.html:5 #, fuzzy msgid "Edit configuration" msgstr "怀胎é…ç½® " #: ../../i18n_templatelist.c:245 ../../i18n_templatelist.c:434 #: ../../static/t/who/section.html:6 #, fuzzy msgid "Edit address book entry" msgstr "此通讯簿是空" #: ../../i18n_templatelist.c:248 ../../i18n_templatelist.c:250 #: ../../i18n_templatelist.c:836 msgid "idle since" msgstr "" #: ../../i18n_templatelist.c:249 ../../i18n_templatelist.c:251 #: ../../i18n_templatelist.c:837 #, fuzzy msgid "Minutes" msgstr "分钟 " #: ../../i18n_templatelist.c:252 ../../i18n_templatelist.c:838 #, fuzzy msgid "active" msgstr "试 " #: ../../i18n_templatelist.c:255 ../../static/t/aide/ignetconf/section.html:4 msgid "(Edit)" msgstr "(编辑) " #: ../../i18n_templatelist.c:256 ../../i18n_templatelist.c:925 #: ../../static/t/aide/ignetconf/section.html:5 #: ../../static/t/view_mailq/message.html:2 msgid "(Delete)" msgstr "(删除) " #: ../../i18n_templatelist.c:257 ../../static/t/no_new_msgs.html:3 msgid "No new messages." msgstr "没有新的消æ¯ã€‚" #: ../../i18n_templatelist.c:258 ../../static/t/newstartpage.html:4 msgid "New start page" msgstr "新的起始页 " #: ../../i18n_templatelist.c:259 ../../static/t/newstartpage.html:9 msgid "Your start page has been changed." msgstr "已更改您的起始页。 " #: ../../i18n_templatelist.c:260 ../../static/t/newstartpage.html:12 msgid "" "(Note: this does not change your browser's home page. It changes the page " "you begin on when you log on to" msgstr "(注: è¿™ä¸ä¼šæ›´æ”¹æ‚¨çš„æµè§ˆå™¨çš„ä¸»é¡µã€‚å®ƒä¼šæ›´æ”¹é¡µå½“æ‚¨ç™»å½•åˆ°æ‚¨åœ¨å¼€å§‹ " #: ../../i18n_templatelist.c:261 ../../static/t/view_blog/comment_box.html:8 #, fuzzy msgid "Post a comment" msgstr "%d 的评论 " #: ../../i18n_templatelist.c:263 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:5 msgid "Confirm delete" msgstr "确认删除 " #: ../../i18n_templatelist.c:264 #: ../../static/t/aide/ignetconf/display_confirm_delete.html:11 msgid "Are you sure you want to delete " msgstr "您确实è¦åˆ é™¤ " #: ../../i18n_templatelist.c:267 ../../static/t/aide/usermanagement.html:2 msgid "Add, change, delete user accounts" msgstr "æ·»åŠ ã€ æ›´æ”¹ã€ åˆ é™¤ç”¨æˆ·å¸æˆ·" #: ../../i18n_templatelist.c:269 ../../static/t/aide/inet/clamav.html:2 msgid "(hosts running the ClamAV clamd service)" msgstr "(主机è¿è¡Œ ClamAV clamd æœåŠ¡ï¼‰" #: ../../i18n_templatelist.c:270 #, fuzzy msgid "Send" msgstr "å‘件人 " #: ../../i18n_templatelist.c:271 #: ../../static/t/aide/display_serverrestart.html:26 msgid "Restart Citadel" msgstr "釿–°å¯åŠ¨åŸŽå ¡ " #: ../../i18n_templatelist.c:279 ../../static/t/edit/message.html:20 msgid "from" msgstr "从 " #: ../../i18n_templatelist.c:280 ../../i18n_templatelist.c:281 #: ../../i18n_templatelist.c:325 ../../static/t/edit/markdown_epic.html:33 #: ../../static/t/edit/message.html:26 ../../static/t/edit/message.html:35 msgid "Anonymous" msgstr "匿å " #: ../../i18n_templatelist.c:282 ../../static/t/edit/message.html:44 msgid "in" msgstr "在中 " #: ../../i18n_templatelist.c:283 ../../i18n_templatelist.c:294 #: ../../i18n_templatelist.c:331 ../../static/t/edit/message.html:48 msgid "To:" msgstr "自: " #: ../../i18n_templatelist.c:285 ../../i18n_templatelist.c:296 #: ../../i18n_templatelist.c:333 ../../static/t/edit/message.html:60 msgid "BCC:" msgstr "密件抄é€ï¼š " #: ../../i18n_templatelist.c:286 ../../static/t/edit/message.html:68 msgid "Subject (optional):" msgstr "(å¯é€‰ï¼‰ 的主题: " #: ../../i18n_templatelist.c:288 ../../static/t/edit/message.html:83 msgid "--- forwarded message ---" msgstr "— — 转å‘çš„æ¶ˆæ¯ â€” — " #: ../../i18n_templatelist.c:290 ../../i18n_templatelist.c:327 #: ../../static/t/edit/markdown_epic.html:51 #: ../../static/t/edit/message.html:107 msgid "Post message" msgstr "é‚®æ”¿æ¶ˆæ¯ " #: ../../i18n_templatelist.c:291 ../../i18n_templatelist.c:328 #: ../../static/t/edit/markdown_epic.html:59 #: ../../static/t/edit/message.html:115 msgid "Save to Drafts" msgstr "ä¿å­˜åˆ°è‰ç¨¿ " #: ../../i18n_templatelist.c:292 ../../i18n_templatelist.c:329 #: ../../i18n_templatelist.c:359 ../../static/t/edit/markdown_epic.html:67 #: ../../static/t/edit/message.html:123 #: ../../static/t/edit/message/attachments_pane.html:7 msgid "Attachments:" msgstr "附件: " #: ../../i18n_templatelist.c:298 ../../i18n_templatelist.c:494 #: ../../i18n_templatelist.c:896 #, fuzzy msgid "Delete this message?" msgstr "删除这个房间" #: ../../i18n_templatelist.c:300 #, fuzzy msgid "Room Logo" msgstr "房间列表" #: ../../i18n_templatelist.c:301 ../../static/t/searchomatic.html:4 msgid "Search: " msgstr "æœç´¢ï¼š " #: ../../i18n_templatelist.c:302 #: ../../static/t/aide/display_generic_result.html:2 msgid "Server command results" msgstr "æœåŠ¡å™¨å‘½ä»¤çš„ç»“æžœ " #: ../../i18n_templatelist.c:303 #: ../../static/t/aide/display_generic_result.html:18 msgid "Enter another command" msgstr "请输入å¦ä¸€ä¸ªå‘½ä»¤ " #: ../../i18n_templatelist.c:304 #: ../../static/t/aide/display_generic_result.html:19 msgid "Return to menu" msgstr "返回到èœå• " #: ../../i18n_templatelist.c:305 ../../static/t/who/list_static_header.html:1 msgid "Users currently on" msgstr "当å‰çš„用户 " #: ../../i18n_templatelist.c:306 ../../i18n_templatelist.c:918 #: ../../static/t/user/show.html:4 ../../static/t/who/bio.html:4 msgid "User profile" msgstr "用户é…置文件 " #: ../../i18n_templatelist.c:307 ../../i18n_templatelist.c:919 #: ../../static/t/user/show.html:9 ../../static/t/who/bio.html:11 #, fuzzy msgid "Click here to send an instant message to" msgstr "å•击此处以å‘é€åˆ° çš„å³æ—¶æ¶ˆæ¯ " #: ../../i18n_templatelist.c:308 #, fuzzy msgid "Pictures in" msgstr "åªæœ‰å›¾ç‰‡ " #: ../../i18n_templatelist.c:309 ../../static/t/aide/edituser/select.html:5 msgid "Edit or delete users" msgstr "编辑或删除用户" #: ../../i18n_templatelist.c:310 ../../i18n_templatelist.c:825 #: ../../static/t/aide/display_sitewide_config.html:6 #: ../../static/t/aide/edituser/select.html:9 msgid "You need to be aide to view this." msgstr "æ‚¨éœ€è¦æŸ¥çœ‹è¿™çš„助手。 " #: ../../i18n_templatelist.c:311 ../../static/t/aide/edituser/select.html:17 msgid "Add users" msgstr "添加用户" #: ../../i18n_templatelist.c:312 ../../static/t/aide/edituser/select.html:20 msgid "Edit or Delete users" msgstr "编辑或删除用户" #: ../../i18n_templatelist.c:316 ../../static/t/aide/serverrestart/box.html:3 msgid "Please wait while the Citadel server is restarted... " msgstr "请城堡æœåС噍釿–°å¯åŠ¨ï¼Œç¨å€™... " #: ../../i18n_templatelist.c:317 ../../static/t/user/list.html:3 msgid "User list for " msgstr "的用户列表 " #: ../../i18n_templatelist.c:318 ../../static/t/user/list.html:9 msgid "User Name" msgstr "用户åç§° " #: ../../i18n_templatelist.c:319 ../../static/t/user/list.html:10 msgid "Number" msgstr "ç¼–å· " #: ../../i18n_templatelist.c:320 ../../static/t/user/list.html:11 msgid "Access Level" msgstr "访问级别 " #: ../../i18n_templatelist.c:321 ../../static/t/user/list.html:12 msgid "Last Login" msgstr "上次登入时间 " #: ../../i18n_templatelist.c:322 ../../static/t/user/list.html:13 msgid "Total Logins" msgstr "总登录 " #: ../../i18n_templatelist.c:323 ../../static/t/user/list.html:14 msgid "Total Posts" msgstr "æ€»å¸–å­ " #: ../../i18n_templatelist.c:324 ../../i18n_templatelist.c:519 #: ../../i18n_templatelist.c:522 ../../static/t/edit/markdown_epic.html:13 #: ../../static/t/iconbar.html:50 ../../static/t/iconbar.html:59 msgid "Loading" msgstr "加载 " #: ../../i18n_templatelist.c:335 ../../static/t/openid_manual_create.html:2 msgid "Your OpenID" msgstr "" #: ../../i18n_templatelist.c:336 ../../static/t/openid_manual_create.html:2 msgid "was successfully verified." msgstr "å·²æˆåŠŸéªŒè¯ã€‚" #: ../../i18n_templatelist.c:337 ../../static/t/openid_manual_create.html:3 msgid "However, the user name" msgstr "但是,用户åç§°" #: ../../i18n_templatelist.c:338 ../../static/t/openid_manual_create.html:3 msgid "conflicts with an existing user." msgstr "与现有用户的冲çªã€‚" #: ../../i18n_templatelist.c:339 ../../static/t/openid_manual_create.html:5 msgid "Please specify the user name you would like to use." msgstr "请指定您想è¦ä½¿ç”¨çš„用户å。" #: ../../i18n_templatelist.c:342 msgid "Exit" msgstr "" #: ../../i18n_templatelist.c:343 ../../static/t/room/edit/tab_expire.html:9 msgid "Message expire policy for this room" msgstr "邮件过期的这间屋å­çš„æ”¿ç­–" #: ../../i18n_templatelist.c:344 ../../static/t/room/edit/tab_expire.html:15 msgid "Use the default policy for this floor" msgstr "è¿™ç§åœ°æ¿ä½¿ç”¨é»˜è®¤ç­–ç•¥" #: ../../i18n_templatelist.c:345 ../../i18n_templatelist.c:351 #: ../../i18n_templatelist.c:686 ../../i18n_templatelist.c:692 #: ../../static/t/aide/siteconfig/tab_autopurger.html:68 #: ../../static/t/aide/siteconfig/tab_autopurger.html:86 #: ../../static/t/room/edit/tab_expire.html:18 #: ../../static/t/room/edit/tab_expire.html:46 msgid "Never automatically expire messages" msgstr "永远ä¸ä¼šè‡ªåŠ¨ä½¿é‚®ä»¶è¿‡æœŸ " #: ../../i18n_templatelist.c:346 ../../i18n_templatelist.c:352 #: ../../i18n_templatelist.c:687 ../../i18n_templatelist.c:693 #: ../../static/t/aide/siteconfig/tab_autopurger.html:71 #: ../../static/t/aide/siteconfig/tab_autopurger.html:89 #: ../../static/t/room/edit/tab_expire.html:21 #: ../../static/t/room/edit/tab_expire.html:49 msgid "Expire by message count" msgstr "过期的邮件数 " #: ../../i18n_templatelist.c:347 ../../i18n_templatelist.c:353 #: ../../i18n_templatelist.c:688 ../../i18n_templatelist.c:694 #: ../../static/t/aide/siteconfig/tab_autopurger.html:73 #: ../../static/t/aide/siteconfig/tab_autopurger.html:92 #: ../../static/t/room/edit/tab_expire.html:24 #: ../../static/t/room/edit/tab_expire.html:52 msgid "Expire by message age" msgstr "è¿‡æœŸçš„ä¿¡æ¯æ—¶ä»£ " #: ../../i18n_templatelist.c:348 ../../i18n_templatelist.c:354 #: ../../i18n_templatelist.c:689 ../../i18n_templatelist.c:695 #: ../../static/t/aide/siteconfig/tab_autopurger.html:75 #: ../../static/t/aide/siteconfig/tab_autopurger.html:94 #: ../../static/t/room/edit/tab_expire.html:26 #: ../../static/t/room/edit/tab_expire.html:54 msgid "Number of messages or days: " msgstr "æ¶ˆæ¯æˆ–几天的数目: " #: ../../i18n_templatelist.c:349 ../../static/t/room/edit/tab_expire.html:37 msgid "Message expire policy for this floor" msgstr "邮件过期这层政策" #: ../../i18n_templatelist.c:350 ../../static/t/room/edit/tab_expire.html:43 msgid "Use the system default" msgstr "使用系统默认值" #: ../../i18n_templatelist.c:358 ../../i18n_templatelist.c:760 #: ../../i18n_templatelist.c:761 #: ../../static/t/edit/message/attachments_pane.html:5 #: ../../static/t/get_logged_in.html:7 msgid "Close window" msgstr "å…³é—­çª—å£ " #: ../../i18n_templatelist.c:360 #, c-format msgid "{percent}% of {total_size}" msgstr "" #: ../../i18n_templatelist.c:361 #, fuzzy msgid "Upload failed" msgstr "上传的文件: " #: ../../i18n_templatelist.c:362 msgid "Processing..." msgstr "" #: ../../i18n_templatelist.c:363 msgid "Paused" msgstr "" #: ../../i18n_templatelist.c:364 msgid "You may only drop one file." msgstr "" #: ../../i18n_templatelist.c:365 msgid "" "Unrecoverable error - the browser does not permit uploading of any kind." msgstr "" #: ../../i18n_templatelist.c:366 #, fuzzy msgid "Are you shure you want to delete {filename}?" msgstr "您确实è¦åˆ é™¤ " #: ../../i18n_templatelist.c:367 msgid "failed to delete {filename}!" msgstr "" #: ../../i18n_templatelist.c:368 msgid "deleting {filename}" msgstr "" #: ../../i18n_templatelist.c:369 #: ../../static/t/edit/message/attachments_pane.html:63 msgid "Drop files here to upload" msgstr "" #: ../../i18n_templatelist.c:370 #: ../../static/t/edit/message/attachments_pane.html:66 msgid "Attach file" msgstr "附加文件" #: ../../i18n_templatelist.c:371 #: ../../static/t/edit/message/attachments_pane.html:69 msgid "Processing dropped files..." msgstr "" #: ../../i18n_templatelist.c:373 #: ../../static/t/edit/message/attachments_pane.html:83 msgid "Retry" msgstr "" #: ../../i18n_templatelist.c:374 #: ../../static/t/edit/message/attachments_pane.html:84 msgid "Remove" msgstr "删除 " #: ../../i18n_templatelist.c:375 #: ../../static/t/aide/siteconfig/tab_indexing.html:1 msgid "Indexing and Journaling" msgstr "索引和日记 " #: ../../i18n_templatelist.c:376 #: ../../static/t/aide/siteconfig/tab_indexing.html:2 msgid "Warning: these facilities are resource intensive." msgstr "警告: 这些设施会å ç”¨å¤§é‡èµ„æºã€‚ " #: ../../i18n_templatelist.c:377 #: ../../static/t/aide/siteconfig/tab_indexing.html:6 msgid "Enable full text index" msgstr "å¯ç”¨å…¨æ–‡ç´¢å¼• " #: ../../i18n_templatelist.c:378 #: ../../static/t/aide/siteconfig/tab_indexing.html:9 msgid "Perform journaling of email messages" msgstr "执行日志记录的电å­é‚®ä»¶ " #: ../../i18n_templatelist.c:379 #: ../../static/t/aide/siteconfig/tab_indexing.html:13 msgid "Perform journaling of non-email messages" msgstr "执行éžç”µå­é‚®ä»¶æ¶ˆæ¯çš„æ—¥å¿—记录 " #: ../../i18n_templatelist.c:380 #: ../../static/t/aide/siteconfig/tab_indexing.html:16 msgid "Email destination of journalized messages" msgstr "日记中记录的消æ¯çš„电å­é‚®ä»¶ç›®æ ‡ " #: ../../i18n_templatelist.c:381 ../../static/t/files.html:4 msgid "Files available for download in" msgstr "å¯ä¾›ä¸‹è½½çš„æ–‡ä»¶ " #: ../../i18n_templatelist.c:382 ../../static/t/files.html:9 msgid "Upload a file:" msgstr "上传的文件: " #: ../../i18n_templatelist.c:384 ../../i18n_templatelist.c:544 msgid "Upload" msgstr "上传 " #: ../../i18n_templatelist.c:385 ../../static/t/files.html:30 msgid "Filename" msgstr "文件å " #: ../../i18n_templatelist.c:386 ../../static/t/files.html:31 msgid "Size" msgstr "å¤§å° " #: ../../i18n_templatelist.c:387 ../../static/t/files.html:32 msgid "Content" msgstr "内容 " #: ../../i18n_templatelist.c:388 ../../static/t/files.html:33 msgid "Description" msgstr "说明 " #: ../../i18n_templatelist.c:390 ../../static/t/sieve/none.html:9 msgid "" "This installation of Citadel was built without support for server-side mail " "filtering.
    Please contact your system administrator if you require this " "feature.
    " msgstr "此安装的城堡建æˆä¸æ”¯æŒæœåŠ¡å™¨ç«¯é‚®ä»¶è¿‡æ»¤
    请è”系您的系统管ç†å‘˜è”系。" #: ../../i18n_templatelist.c:391 ../../i18n_templatelist.c:393 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "new of" msgstr "æ–°çš„ " #: ../../i18n_templatelist.c:392 ../../i18n_templatelist.c:394 #: ../../i18n_templatelist.c:479 ../../i18n_templatelist.c:929 #: ../../static/t/msg_listselector_bottom.html:7 #: ../../static/t/msg_listselector_top.html:7 #: ../../static/t/roombanner.html:10 ../../static/t/roombanner.html:11 msgid "messages" msgstr "邮件 " #: ../../i18n_templatelist.c:395 ../../static/t/roombanner.html:28 msgid "Select page: " msgstr "选择的页é¢ï¼š " #: ../../i18n_templatelist.c:406 ../../static/t/room/edit/tab_feed.html:2 msgid "" "Retrieve messages from these remote POP3 accounts and store them in this " "room:" msgstr "从这些远程 POP3 叿ˆ·æ£€ç´¢æ¶ˆæ¯ï¼Œå¹¶å°†å®ƒä»¬å­˜å‚¨åœ¨æ­¤ 房间:" #: ../../i18n_templatelist.c:407 ../../static/t/room/edit/tab_feed.html:13 msgid "Remote host" msgstr "远程主机" #: ../../i18n_templatelist.c:410 ../../static/t/room/edit/tab_feed.html:16 msgid "Keep messages on server?" msgstr "在æœåŠ¡å™¨ä¸Šä¿ç•™é‚®ä»¶å—?" #: ../../i18n_templatelist.c:411 ../../static/t/room/edit/tab_feed.html:17 msgid "Interval" msgstr "æ—¶é—´é—´éš”" #: ../../i18n_templatelist.c:412 ../../i18n_templatelist.c:415 #: ../../i18n_templatelist.c:840 ../../i18n_templatelist.c:842 #: ../../i18n_templatelist.c:845 ../../i18n_templatelist.c:861 msgid "Add" msgstr "添加 " #: ../../i18n_templatelist.c:413 ../../static/t/room/edit/tab_feed.html:32 msgid "Fetch the following RSS feeds and store them in this room:" msgstr "获å–以下的 RSS 订阅æºï¼Œå¹¶å°†å®ƒä»¬å­˜å‚¨åœ¨è¿™ä¸ªæˆ¿é—´é‡Œï¼š" #: ../../i18n_templatelist.c:414 ../../static/t/room/edit/tab_feed.html:45 msgid "Feed URL" msgstr "饲料的 URL" #: ../../i18n_templatelist.c:416 ../../static/t/aide/edituser/add.html:1 msgid "" "To create a new user account, enter the desired user name in the box below " "and click 'Create'." msgstr "" "è‹¥è¦åˆ›å»ºä¸€ä¸ªæ–°çš„ç”¨æˆ·å¸æˆ·ï¼Œåœ¨ä¸‹é¢çš„æ¡†ä¸­è¾“入所需的用户åç§° ç„¶åŽå•击创建。" #: ../../i18n_templatelist.c:417 ../../static/t/aide/edituser/add.html:5 msgid "New user: " msgstr "新用户:" #: ../../i18n_templatelist.c:418 ../../i18n_templatelist.c:787 msgid "Create" msgstr "创建" #: ../../i18n_templatelist.c:419 ../../static/t/aide/inet/dirnames.html:2 msgid "(domains mapped with the Global Address Book)" msgstr "(域映射与全局通讯簿)" #: ../../i18n_templatelist.c:420 ../../static/t/wiki/pagelist.html:1 msgid "List of Wiki pages" msgstr "Wiki 页é¢çš„列表 " #: ../../i18n_templatelist.c:421 ../../i18n_templatelist.c:582 #: ../../i18n_templatelist.c:627 ../../i18n_templatelist.c:698 #: ../../i18n_templatelist.c:954 ../../i18n_templatelist.c:989 #: ../../static/t/room/edit/alias_removal.html:1 #: ../../static/t/room/edit/digestrecp_removal.html:1 #: ../../static/t/room/edit/listrecp_removal.html:1 #: ../../static/t/room/edit/participate_removal.html:1 #: ../../static/t/room/edit/pop3client_removal.html:9 #: ../../static/t/room/edit/rssclient_removal.html:5 msgid "(remove)" msgstr "(删除)" #: ../../i18n_templatelist.c:422 ../../static/t/room/edit/tab_access.html:5 msgid "" "The users listed below have access to this room. To remove a user from the " "access list, select the user name from the list and click 'Kick'." msgstr "" "下é¢åˆ—出的用户有æƒè®¿é—®è¿™ä¸ªæˆ¿é—´ã€‚è‹¥è¦åˆ é™¤ç”¨æˆ·ä»Ž 访问列表中,从列表中选择用户å" "称,然åŽå•击 '踢'。" #: ../../i18n_templatelist.c:423 msgid "Kick" msgstr "" #: ../../i18n_templatelist.c:424 ../../static/t/room/edit/tab_access.html:21 msgid "" "To grant another user access to this room, enter the user name in the box " "below and click 'Invite'." msgstr "è¦æŽˆäºˆè¿™ä¸ªæˆ¿é—´å¦ä¸€ä¸ªç”¨æˆ·è®¿é—®ï¼Œåœ¨æ¡†ä¸­è¾“入用户å 下é¢ï¼Œå•击邀请。" #: ../../i18n_templatelist.c:425 ../../static/t/room/edit/tab_access.html:28 msgid "Invite:" msgstr "邀请:" #: ../../i18n_templatelist.c:426 #, fuzzy msgid "Invite" msgstr "邀请:" #: ../../i18n_templatelist.c:427 #, fuzzy msgid "User" msgstr "用户" #: ../../i18n_templatelist.c:428 ../../i18n_templatelist.c:430 #: ../../static/t/room/edit/tab_access.html:37 msgid "Users" msgstr "用户" #: ../../i18n_templatelist.c:429 ../../i18n_templatelist.c:849 #, fuzzy msgid "Addressbook Popup" msgstr "通讯簿 " #: ../../i18n_templatelist.c:432 #: ../../static/t/aide/edituser/box_select.html:1 msgid "" "To edit an existing user account, select the user name from the list and " "click 'Edit'." msgstr "è‹¥è¦ç¼–è¾‘çŽ°æœ‰çš„ç”¨æˆ·å¸æˆ·ï¼Œè¯·ä»Žåˆ—表中选择用户åå’Œ å•击编辑。" #: ../../i18n_templatelist.c:435 #, fuzzy msgid "Delete user" msgstr "删除规则" #: ../../i18n_templatelist.c:436 #, fuzzy msgid "Delete this user?" msgstr "删除此脚本å—?" #: ../../i18n_templatelist.c:437 #, fuzzy msgid "Delete File" msgstr "删除规则" #: ../../i18n_templatelist.c:438 ../../static/t/files/section_onefile.html:20 msgid "Slideshow" msgstr "å¹»ç¯ç‰‡æ”¾æ˜  " #: ../../i18n_templatelist.c:439 ../../static/t/aide/inet/spamass.html:2 msgid "(hosts running the SpamAssassin service)" msgstr "(主机è¿è¡Œ SpamAssassin æœåŠ¡ï¼‰" #: ../../i18n_templatelist.c:442 #: ../../static/t/ical/attachment/display_conflict.html:5 msgid "This is an update of" msgstr "" #: ../../i18n_templatelist.c:443 ../../i18n_templatelist.c:445 #: ../../static/t/ical/attachment/display_conflict.html:5 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "which is already in your calendar." msgstr "这是 '%s' 已在您的日历中的更新。 " #: ../../i18n_templatelist.c:444 #: ../../static/t/ical/attachment/display_conflict.html:6 #, fuzzy msgid "This event would conflict with" msgstr "与 %s å·²ç»åœ¨æ‚¨çš„æ—¥åŽ†ä¸­çš„æƒ…å†µä¸‹ï¼Œæ­¤äº‹ä»¶å°†å‘生冲çªã€‚ " #: ../../i18n_templatelist.c:447 ../../static/t/sieve/list.html:41 msgid "When new mail arrives: " msgstr "新邮件到达时:" #: ../../i18n_templatelist.c:448 ../../static/t/sieve/list.html:43 msgid "Leave it in my inbox without filtering" msgstr "ä¸éœ€è¦ç­›é€‰å°†å®ƒç•™åœ¨æˆ‘的收件箱" #: ../../i18n_templatelist.c:449 ../../static/t/sieve/list.html:44 msgid "Filter it according to rules selected below" msgstr "æ ¹æ®ä¸‹é¢æ‰€é€‰çš„规则æ¥å¯¹å…¶è¿›è¡Œç­›é€‰" #: ../../i18n_templatelist.c:450 ../../static/t/sieve/list.html:45 msgid "Filter it through a manually edited script (advanced users only)" msgstr "通过手动编辑脚本 (仅适用于高级用户) 对其进行筛选" #: ../../i18n_templatelist.c:451 ../../static/t/sieve/list.html:52 msgid "Your incoming mail will not be filtered through any scripts." msgstr "您收到的邮件ä¸ä¼šé€šè¿‡ä»»ä½•脚本过滤" #: ../../i18n_templatelist.c:452 ../../static/t/sieve/list.html:64 msgid "Add rule" msgstr "添加规则" #: ../../i18n_templatelist.c:453 ../../static/t/sieve/list.html:71 msgid "The currently active script is: " msgstr "当å‰å¤„于活动状æ€çš„脚本是:" #: ../../i18n_templatelist.c:454 ../../i18n_templatelist.c:783 #: ../../static/t/sieve/add.html:3 ../../static/t/sieve/list.html:76 msgid "Add or delete scripts" msgstr "添加或删除脚本" #: ../../i18n_templatelist.c:457 #: ../../static/t/aide/siteconfig/tab_directory.html:1 msgid "Configure the LDAP connector for Citadel" msgstr "é…ç½® Citdael çš„ LDAP 接头 " #: ../../i18n_templatelist.c:459 #: ../../static/t/aide/siteconfig/tab_directory.html:4 msgid "" "NOTE: This Citadel server has been built without LDAP support. These " "options will have no effect." msgstr "注æ„: 此城堡æœåŠ¡å™¨å»ºæˆäº†æ—  LDAP 支æŒã€‚这些选项将ä¸èµ·ä½œç”¨ã€‚ " #: ../../i18n_templatelist.c:460 #: ../../static/t/aide/siteconfig/tab_directory.html:9 msgid "Host name of LDAP server (blank to disable)" msgstr "(若è¦ç¦ç”¨ç©ºç™½ï¼‰ çš„ LDAP æœåŠ¡å™¨çš„ä¸»æœºå " #: ../../i18n_templatelist.c:461 #: ../../static/t/aide/siteconfig/tab_directory.html:13 msgid "Port number of LDAP server (blank to disable)" msgstr "(若è¦ç¦ç”¨ç©ºç™½ï¼‰ çš„ LDAP æœåŠ¡å™¨çš„ä¸»æœºå " #: ../../i18n_templatelist.c:462 #: ../../static/t/aide/siteconfig/tab_directory.html:16 msgid "Base DN" msgstr "基地 DN " #: ../../i18n_templatelist.c:463 #: ../../static/t/aide/siteconfig/tab_directory.html:19 msgid "Bind DN" msgstr "绑定 DN " #: ../../i18n_templatelist.c:464 #: ../../static/t/aide/siteconfig/tab_directory.html:22 msgid "Password for bind DN" msgstr "DN ç»‘å®šå¯†ç  " #: ../../i18n_templatelist.c:465 #: ../../static/t/menu/advanced_roomcommands.html:3 msgid "Edit or delete this room" msgstr "编辑或删除这个房间 " #: ../../i18n_templatelist.c:466 #: ../../static/t/menu/advanced_roomcommands.html:5 msgid "Go to a 'hidden' room" msgstr "转到éšè—的房间 " #: ../../i18n_templatelist.c:468 #: ../../static/t/menu/advanced_roomcommands.html:7 msgid "Zap (forget) this room" msgstr "æ­¼ç­ ï¼ˆå¿˜è®°ï¼‰ 这个房间 " #: ../../i18n_templatelist.c:469 #: ../../static/t/menu/advanced_roomcommands.html:8 msgid "List all forgotten rooms" msgstr "列出所有的房间都被é—忘 " #: ../../i18n_templatelist.c:470 #: ../../static/t/menu/advanced_roomcommands.html:9 #, fuzzy msgid "Zap duplicate messages" msgstr "阅读新邮件 " #: ../../i18n_templatelist.c:471 #: ../../static/t/menu/advanced_roomcommands.html:9 msgid "(Messages of similar subject, sender and date are moved to trash)" msgstr "" #: ../../i18n_templatelist.c:472 ../../static/t/view_mailq/table.html:4 msgid "Message ID" msgstr "æ¶ˆæ¯ ID " #: ../../i18n_templatelist.c:473 ../../static/t/view_mailq/table.html:6 msgid "Date/time submitted" msgstr "æäº¤çš„æ—¥æœŸ/æ—¶é—´ " #: ../../i18n_templatelist.c:474 ../../static/t/view_mailq/table.html:8 #, fuzzy msgid "Next attempt" msgstr "上次å°è¯• " #: ../../i18n_templatelist.c:476 ../../static/t/view_mailq/table.html:12 msgid "Recipients" msgstr "收件人 " #: ../../i18n_templatelist.c:477 ../../i18n_templatelist.c:927 #: ../../static/t/msg_listselector_bottom.html:2 #: ../../static/t/msg_listselector_top.html:2 msgid "Reading #" msgstr "阅读 # " #: ../../i18n_templatelist.c:480 ../../i18n_templatelist.c:930 #: ../../static/t/msg_listselector_bottom.html:12 #: ../../static/t/msg_listselector_top.html:12 msgid "oldest to newest" msgstr "最早到最新 " #: ../../i18n_templatelist.c:481 ../../i18n_templatelist.c:931 #: ../../static/t/msg_listselector_bottom.html:20 #: ../../static/t/msg_listselector_top.html:20 msgid "newest to oldest" msgstr "最新到旧 " #: ../../i18n_templatelist.c:482 #: ../../static/t/aide/serverrestart/box_page_do.html:3 msgid "" "Please wait while your users are being paged, the citadel server will be " "restarted after that... " msgstr "请等待您的用户都被分页,城堡æœåŠ¡å™¨ä¼šé‡æ–°å¯åЍåŽ... " #: ../../i18n_templatelist.c:487 ../../static/t/view_message.html:19 msgid "Edit" msgstr "编辑 " #: ../../i18n_templatelist.c:488 ../../i18n_templatelist.c:490 #: ../../static/t/view_message.html:22 ../../static/t/view_message.html:26 msgid "Reply" msgstr "ç­”å¤ " #: ../../i18n_templatelist.c:489 ../../static/t/view_message.html:23 msgid "ReplyQuoted" msgstr "引用回å¤" #: ../../i18n_templatelist.c:491 ../../static/t/view_message.html:27 msgid "ReplyAll" msgstr "å…¨éƒ¨å›žå¤ " #: ../../i18n_templatelist.c:492 ../../static/t/view_message.html:28 msgid "Forward" msgstr "è½¬å‘ " #: ../../i18n_templatelist.c:496 ../../static/t/view_message.html:34 msgid "Headers" msgstr "标题 " #: ../../i18n_templatelist.c:498 ../../static/t/aide/global_config.html:2 msgid "Edit site-wide configuration" msgstr "编辑站点范围的é…ç½® " #: ../../i18n_templatelist.c:499 ../../static/t/aide/global_config.html:3 msgid "Domain names and Internet mail configuration" msgstr "域ååŠäº’è”网邮件é…ç½® " #: ../../i18n_templatelist.c:500 ../../static/t/aide/global_config.html:4 msgid "Configure replication with other Citadel servers" msgstr "与其他城堡æœåС噍é…ç½®å¤åˆ¶ " #: ../../i18n_templatelist.c:501 ../../static/t/aide/global_config.html:5 msgid "Enable/Disable logging of the server components" msgstr "" #: ../../i18n_templatelist.c:503 #, fuzzy msgid "Powered by Citadel" msgstr "显示æä¾›åŠ¨åŠ›çš„åŸŽå ¡' 图标 " #: ../../i18n_templatelist.c:504 ../../static/t/iconbar.html:7 msgid "Language:" msgstr "" #: ../../i18n_templatelist.c:507 #, fuzzy msgid "Go to your email inbox" msgstr "å¿«æ·æ–¹å¼åˆ°æ‚¨çš„电å­é‚®ä»¶æ”¶ä»¶ç®± " #: ../../i18n_templatelist.c:508 ../../static/t/iconbar.html:19 msgid "Mail" msgstr "邮件 " #: ../../i18n_templatelist.c:509 #, fuzzy msgid "Go to your personal calendar" msgstr "å¿«æ·æ–¹å¼åˆ°æ‚¨çš„个人日历 " #: ../../i18n_templatelist.c:511 #, fuzzy msgid "Go to your personal address book" msgstr "个人通讯簿 " #: ../../i18n_templatelist.c:513 #, fuzzy msgid "Go to your personal notes" msgstr "您个人的笔记 " #: ../../i18n_templatelist.c:515 #, fuzzy msgid "Go to your personal task list" msgstr "æ‚¨çš„ä¸ªäººä»»åŠ¡åˆ—è¡¨å¿«æ·æ–¹å¼ " #: ../../i18n_templatelist.c:517 #, fuzzy msgid "List all your accessible rooms" msgstr "列出所有的房间都被é—忘 " #: ../../i18n_templatelist.c:520 msgid "See who is online right now" msgstr "" #: ../../i18n_templatelist.c:521 ../../static/t/iconbar.html:57 msgid "Online users" msgstr "在线用户 " #: ../../i18n_templatelist.c:524 msgid "Advanced Options Menu: Advanced Room commands, Account Info, and Chat" msgstr "" #: ../../i18n_templatelist.c:525 ../../static/t/iconbar.html:65 msgid "Advanced" msgstr "高级 " #: ../../i18n_templatelist.c:526 #, fuzzy msgid "Room and system administration functions" msgstr "系统管ç†å‘˜çš„åç§° " #: ../../i18n_templatelist.c:530 ../../static/t/iconbar.html:83 msgid "customize this menu" msgstr "自定义此èœå• " #: ../../i18n_templatelist.c:531 ../../i18n_templatelist.c:532 #: ../../i18n_templatelist.c:765 ../../i18n_templatelist.c:774 #: ../../i18n_templatelist.c:776 ../../i18n_templatelist.c:778 #: ../../i18n_templatelist.c:781 ../../i18n_templatelist.c:807 #: ../../static/t/get_logged_in.html:62 ../../static/t/get_logged_in.html:86 #: ../../static/t/get_logged_in.html:91 ../../static/t/get_logged_in.html:96 #: ../../static/t/get_logged_in.html:105 ../../static/t/iconbar.html:88 #: ../../static/t/login.html:17 msgid "Log in" msgstr "登录 " #: ../../i18n_templatelist.c:533 ../../static/t/iconbar.html:92 msgid "switch to room list" msgstr "切æ¢åˆ°æˆ¿é—´åˆ—表 " #: ../../i18n_templatelist.c:534 ../../static/t/iconbar.html:93 msgid "switch to menu" msgstr "切æ¢åˆ°èœå• " #: ../../i18n_templatelist.c:535 ../../static/t/iconbar.html:94 msgid "My folders" msgstr "我的文件夹 " #: ../../i18n_templatelist.c:536 #: ../../static/t/aide/siteconfig/tab_imap.html:1 msgid "IMAP" msgstr "" #: ../../i18n_templatelist.c:538 #: ../../static/t/aide/siteconfig/tab_imap.html:5 msgid "IMAP listener port (-1 to disable)" msgstr "IMAP 侦å¬å™¨ç«¯å£ (ç¦ç”¨-1) " #: ../../i18n_templatelist.c:539 #: ../../static/t/aide/siteconfig/tab_imap.html:8 msgid "IMAP over SSL port (-1 to disable)" msgstr "IMAP 通过 SSL ç«¯å£ ï¼ˆç¦ç”¨-1) " #: ../../i18n_templatelist.c:540 #: ../../static/t/aide/siteconfig/tab_imap.html:11 msgid "Keep original from headers in IMAP" msgstr "ä¿æŒåŽŸå§‹é‚®ä»¶å¤´ä»Ž IMAP " #: ../../i18n_templatelist.c:541 ../../static/t/files/graphicsupload.html:2 msgid "Image upload" msgstr "图片上传 " #: ../../i18n_templatelist.c:542 ../../static/t/files/graphicsupload.html:6 msgid "You can upload an image directly from your computer" msgstr "您å¯ä»¥ç›´æŽ¥ä»Žæ‚¨çš„è®¡ç®—æœºä¸Šä¼ çš„æ˜ åƒ " #: ../../i18n_templatelist.c:543 ../../static/t/files/graphicsupload.html:8 msgid "Please select a file to upload:" msgstr "请选择è¦ä¸Šè½½çš„æ–‡ä»¶ï¼š " #: ../../i18n_templatelist.c:545 msgid "Reset form" msgstr "é‡ç½®è¡¨å• " #: ../../i18n_templatelist.c:547 ../../static/t/listsub/display.html:7 msgid "List subscription" msgstr "订阅列表 " #: ../../i18n_templatelist.c:548 ../../static/t/listsub/display.html:13 msgid "List subscribe/unsubscribe" msgstr "订阅的列表/insibscribe " #: ../../i18n_templatelist.c:549 ../../i18n_templatelist.c:558 #: ../../static/t/listsub/display.html:19 #: ../../static/t/listsub/display.html:38 msgid "Confirmation request sent" msgstr "å‘é€ç¡®è®¤è¯·æ±‚ " #: ../../i18n_templatelist.c:550 ../../static/t/listsub/display.html:20 msgid "You are subscribing " msgstr "" #: ../../i18n_templatelist.c:551 ../../static/t/listsub/display.html:21 #, fuzzy msgid " to the " msgstr "关于 " #: ../../i18n_templatelist.c:552 ../../static/t/listsub/display.html:22 #, fuzzy msgid " mailing list." msgstr "邮件列表æœåŠ¡" #: ../../i18n_templatelist.c:553 ../../static/t/listsub/display.html:23 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your subscription." msgstr "" #: ../../i18n_templatelist.c:554 ../../static/t/listsub/display.html:24 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe you to lists without your consent." msgstr "" #: ../../i18n_templatelist.c:555 ../../static/t/listsub/display.html:26 msgid "" "Please click on the link which is being e-mailed to you and your " "subscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:556 ../../static/t/listsub/display.html:28 msgid "Go back..." msgstr "回去。。。 " #: ../../i18n_templatelist.c:557 ../../i18n_templatelist.c:566 #: ../../static/t/listsub/display.html:31 #: ../../static/t/listsub/display.html:51 #, fuzzy msgid "ERROR" msgstr "错误: " #: ../../i18n_templatelist.c:559 ../../static/t/listsub/display.html:39 msgid "You are unsubscribing" msgstr "" #: ../../i18n_templatelist.c:560 ../../static/t/listsub/display.html:41 #, fuzzy msgid "from the" msgstr "从 " #: ../../i18n_templatelist.c:561 ../../static/t/listsub/display.html:43 #, fuzzy msgid "mailing list." msgstr "邮件列表æœåŠ¡" #: ../../i18n_templatelist.c:562 ../../static/t/listsub/display.html:44 msgid "" "The listserver has sent you an e-mail with one additional Web link for you " "to click on to confirm your unsubscription." msgstr "" #: ../../i18n_templatelist.c:563 ../../static/t/listsub/display.html:45 msgid "" "This extra step is for your protection, as it prevents others from being " "able to unsubscribe you from lists without your consent." msgstr "" #: ../../i18n_templatelist.c:564 ../../static/t/listsub/display.html:47 msgid "" "Please click on the link which is being e-mailed to you and your " "unsubscription will be confirmed." msgstr "" #: ../../i18n_templatelist.c:565 ../../static/t/listsub/display.html:48 #, fuzzy msgid "Back..." msgstr "回去。。。 " #: ../../i18n_templatelist.c:567 ../../static/t/listsub/display.html:58 #, fuzzy msgid "Confirmation successful!" msgstr "å‘é€ç¡®è®¤è¯·æ±‚ " #: ../../i18n_templatelist.c:568 ../../static/t/listsub/display.html:60 #, fuzzy msgid "Confirmation failed." msgstr "é…ç½®" #: ../../i18n_templatelist.c:569 ../../static/t/listsub/display.html:61 msgid "This could mean one of two things:" msgstr "" #: ../../i18n_templatelist.c:570 ../../static/t/listsub/display.html:63 msgid "" "You waited too long to confirm your subscribe/unsubscribe request (the " "confirmation link is only valid for three days)" msgstr "" #: ../../i18n_templatelist.c:571 ../../static/t/listsub/display.html:64 msgid "" "You have already successfully confirmed your subscribe/unsubscribe " "request and are attempting to do it again." msgstr "" #: ../../i18n_templatelist.c:572 ../../static/t/listsub/display.html:66 msgid "The error returned by the server was: " msgstr "" #: ../../i18n_templatelist.c:573 ../../static/t/listsub/display.html:74 #, fuzzy msgid "Name of list:" msgstr "任务的åç§°" #: ../../i18n_templatelist.c:574 ../../static/t/listsub/display.html:79 #, fuzzy msgid "Your e-mail address:" msgstr "首选的电å­é‚®ä»¶åœ°å€ " #: ../../i18n_templatelist.c:575 ../../static/t/listsub/display.html:83 msgid "(If subscribing) preferred format: " msgstr "" #: ../../i18n_templatelist.c:576 ../../static/t/listsub/display.html:84 #, fuzzy msgid "One message at a time" msgstr "输入消æ¯çš„æ–‡æœ¬ï¼š " #: ../../i18n_templatelist.c:577 ../../static/t/listsub/display.html:85 #, fuzzy msgid "Digest format" msgstr "æ—¶é—´æ ¼å¼ " #: ../../i18n_templatelist.c:578 ../../static/t/listsub/display.html:93 msgid "" "When you attempt to subscribe or unsubscribe to a mailing list, you will " "receive an e-mail containing one additional web link to click on for final " "confirmation." msgstr "" #: ../../i18n_templatelist.c:579 ../../static/t/listsub/display.html:94 msgid "" "This extra step is for your protection, as it prevents others from being " "able to subscribe or unsubscribe you to lists." msgstr "" #: ../../i18n_templatelist.c:583 ../../static/t/room/edit/tab_config.html:7 msgid "name of room: " msgstr "文件室的å称:" #: ../../i18n_templatelist.c:591 ../../static/t/room/edit/tab_config.html:56 msgid "If private, cause current users to forget room" msgstr "å¦‚æžœæ˜¯ç§æœ‰çš„导致当å‰ç”¨æˆ·å¿˜è®°å®¤" #: ../../i18n_templatelist.c:592 ../../static/t/room/edit/tab_config.html:62 msgid "Preferred users only" msgstr "首选的用户åª" #: ../../i18n_templatelist.c:593 ../../static/t/room/edit/tab_config.html:67 msgid "Read-only room" msgstr "åªè¯»çš„æˆ¿é—´" #: ../../i18n_templatelist.c:594 ../../static/t/room/edit/tab_config.html:72 msgid "All users allowed to post may also delete messages" msgstr "å…许å‘布的所有用户,也å¯ä»¥éƒ½åˆ é™¤é‚®ä»¶" #: ../../i18n_templatelist.c:595 ../../static/t/room/edit/tab_config.html:77 msgid "File directory room" msgstr "文件目录室" #: ../../i18n_templatelist.c:596 ../../static/t/room/edit/tab_config.html:81 msgid "Directory name: " msgstr "目录å称:" #: ../../i18n_templatelist.c:597 ../../static/t/room/edit/tab_config.html:87 msgid "Uploading allowed" msgstr "上载å…许" #: ../../i18n_templatelist.c:598 ../../static/t/room/edit/tab_config.html:92 msgid "Downloading allowed" msgstr "下载å…许" #: ../../i18n_templatelist.c:599 ../../static/t/room/edit/tab_config.html:97 msgid "Visible directory" msgstr "å¯è§çš„目录" #: ../../i18n_templatelist.c:600 ../../static/t/room/edit/tab_config.html:104 msgid "Network shared room" msgstr "网络共享空间" #: ../../i18n_templatelist.c:601 ../../static/t/room/edit/tab_config.html:109 msgid "Permanent (does not auto-purge)" msgstr "常驻 (并ä¸è‡ªåŠ¨æ¸…é™¤ï¼‰" #: ../../i18n_templatelist.c:602 ../../static/t/room/edit/tab_config.html:114 msgid "Subject Required (Force users to specify a message subject)" msgstr "所需的主题 (强制用户指定邮件主题)" #: ../../i18n_templatelist.c:603 ../../static/t/room/edit/tab_config.html:117 msgid "Anonymous messages" msgstr "åŒ¿åæ¶ˆæ¯" #: ../../i18n_templatelist.c:604 ../../static/t/room/edit/tab_config.html:123 msgid "No anonymous messages" msgstr "æ²¡æœ‰åŒ¿åæ¶ˆæ¯" #: ../../i18n_templatelist.c:605 ../../static/t/room/edit/tab_config.html:128 msgid "All messages are anonymous" msgstr "所有消æ¯éƒ½æ˜¯åŒ¿å" #: ../../i18n_templatelist.c:606 ../../static/t/room/edit/tab_config.html:133 msgid "Prompt user when entering messages" msgstr "æç¤ºç”¨æˆ·è¾“å…¥æ¶ˆæ¯æ—¶" #: ../../i18n_templatelist.c:607 ../../static/t/room/edit/tab_config.html:137 msgid "Room aide: " msgstr "房间的助手:" #: ../../i18n_templatelist.c:611 #, fuzzy msgid "Delete this entry?" msgstr "删除这个房间" #: ../../i18n_templatelist.c:613 ../../static/t/room/edit/tab_share.html:5 msgid "Not shared with" msgstr "ä¸ä¸Žå…±äº«" #: ../../i18n_templatelist.c:614 ../../static/t/room/edit/tab_share.html:6 msgid "Shared with" msgstr "与共享" #: ../../i18n_templatelist.c:615 ../../i18n_templatelist.c:618 #: ../../static/t/room/edit/tab_share.html:12 #: ../../static/t/room/edit/tab_share.html:22 msgid "Remote node name" msgstr "远程节点åç§°" #: ../../i18n_templatelist.c:616 ../../i18n_templatelist.c:619 #: ../../static/t/room/edit/tab_share.html:13 #: ../../static/t/room/edit/tab_share.html:23 msgid "Remote room name" msgstr "远程房间åç§°" #: ../../i18n_templatelist.c:617 ../../i18n_templatelist.c:620 #: ../../static/t/room/edit/tab_share.html:14 #: ../../static/t/room/edit/tab_share.html:24 msgid "Actions" msgstr "行动" #: ../../i18n_templatelist.c:622 ../../static/t/room/edit/tab_share.html:36 #, fuzzy msgid "" "When sharing a room, it must be shared from both ends. Adding a node to the " "'shared' list sends messages out, but in order to receive messages, the " "other nodes must be configured to send messages out to your system as well." msgstr "" "当共享一个房间,必须从两端共享它。添加节点 共享列表å‘é€å‡ºåŽ»ï¼Œä½†ä¸ºäº†æŽ¥æ”¶é‚®ä»¶ï¼Œ" "邮件 必须将的邮件å‘é€åˆ°æ‚¨çš„系统以åŠé…置其他节点。
  • 如果远程房间å称为空," "则å‡å®šçš„æˆ¿é—´å称是 相åŒçš„远程节点上。
  • 如果远程房间å称是ä¸åŒçš„ 远程节点还" "å¿…é¡»é…置在这里的房间的å称。" #: ../../i18n_templatelist.c:623 ../../static/t/room/edit/tab_share.html:38 msgid "" "If the remote room name is blank, it is assumed that the room name is " "identical on the remote node." msgstr "" #: ../../i18n_templatelist.c:624 ../../static/t/room/edit/tab_share.html:40 msgid "" "If the remote room name is different, the remote node must also configure " "the name of the room here." msgstr "" #: ../../i18n_templatelist.c:625 ../../i18n_templatelist.c:712 #, fuzzy msgid "resend messages to this node" msgstr "在æœåŠ¡å™¨ä¸Šä¿ç•™é‚®ä»¶å—?" #: ../../i18n_templatelist.c:626 ../../static/t/room/edit/tab_share.html:42 msgid "" "Re-sharing may stress your system and produce large spoolfiles that need to " "be transmitted; All messages in this room not originating from this node are " "re-spooled and re-sent with the next networker run." msgstr "" #: ../../i18n_templatelist.c:628 ../../static/t/floors.html:4 msgid "Add/change/delete floors" msgstr "添加〠更改或删除层 " #: ../../i18n_templatelist.c:629 ../../static/t/floors.html:10 msgid "Floor number" msgstr "层数 " #: ../../i18n_templatelist.c:630 ../../static/t/floors.html:11 msgid "Floor name" msgstr "楼é¢åç§° " #: ../../i18n_templatelist.c:631 ../../static/t/floors.html:12 msgid "Number of rooms" msgstr "房间数 " #: ../../i18n_templatelist.c:632 ../../static/t/floors.html:13 msgid "Floor CSS" msgstr "åœ°æ¿ CSS " #: ../../i18n_templatelist.c:633 #, fuzzy msgid "Create new floor" msgstr "创建一个新的房间 " #: ../../i18n_templatelist.c:634 msgid "Move rule up" msgstr "å‘上移动规则" #: ../../i18n_templatelist.c:635 msgid "Move rule down" msgstr "å‘下移动规则" #: ../../i18n_templatelist.c:636 msgid "Delete rule" msgstr "删除规则" #: ../../i18n_templatelist.c:637 ../../static/t/sieve/display_one.html:16 msgid "If" msgstr "如果" #: ../../i18n_templatelist.c:639 ../../static/t/sieve/display_one.html:21 msgid "To or Cc" msgstr "或抄é€" #: ../../i18n_templatelist.c:641 ../../static/t/sieve/display_one.html:23 msgid "Reply-to" msgstr "回å¤" #: ../../i18n_templatelist.c:643 ../../static/t/sieve/display_one.html:25 msgid "Resent-From" msgstr "近期从" #: ../../i18n_templatelist.c:644 ../../static/t/sieve/display_one.html:26 msgid "Resent-To" msgstr "è¿‘å¹´æ¥ " #: ../../i18n_templatelist.c:645 ../../static/t/sieve/display_one.html:27 msgid "Envelope From" msgstr "从信å°" #: ../../i18n_templatelist.c:646 ../../static/t/sieve/display_one.html:28 msgid "Envelope To" msgstr "ä¿¡å°" #: ../../i18n_templatelist.c:647 ../../static/t/sieve/display_one.html:29 msgid "X-Mailer" msgstr "X-å‘件人" #: ../../i18n_templatelist.c:648 ../../static/t/sieve/display_one.html:30 msgid "X-Spam-Flag" msgstr "X-垃圾邮件标志" #: ../../i18n_templatelist.c:649 ../../static/t/sieve/display_one.html:31 msgid "X-Spam-Status" msgstr "X-垃圾邮件状æ€" #: ../../i18n_templatelist.c:650 ../../static/t/sieve/display_one.html:32 msgid "List-ID" msgstr "列表 ID" #: ../../i18n_templatelist.c:651 ../../static/t/sieve/display_one.html:33 msgid "Message size" msgstr "邮件大å°" #: ../../i18n_templatelist.c:652 ../../i18n_templatelist.c:796 #: ../../static/t/select_messageindex_all.html:1 #: ../../static/t/sieve/display_one.html:34 msgid "All" msgstr "所有" #: ../../i18n_templatelist.c:653 ../../static/t/sieve/display_one.html:41 msgid "contains" msgstr "包å«" #: ../../i18n_templatelist.c:654 ../../static/t/sieve/display_one.html:42 msgid "does not contain" msgstr "ä¸åŒ…å«" #: ../../i18n_templatelist.c:655 ../../static/t/sieve/display_one.html:43 msgid "is" msgstr "是" #: ../../i18n_templatelist.c:656 ../../static/t/sieve/display_one.html:44 msgid "is not" msgstr "䏿˜¯" #: ../../i18n_templatelist.c:657 ../../static/t/sieve/display_one.html:45 msgid "matches" msgstr "匹é…" #: ../../i18n_templatelist.c:658 ../../static/t/sieve/display_one.html:46 msgid "does not match" msgstr "ä¸åŒ¹é…" #: ../../i18n_templatelist.c:659 ../../static/t/sieve/display_one.html:52 msgid "(All messages)" msgstr "(所有消æ¯ï¼‰" #: ../../i18n_templatelist.c:660 ../../static/t/sieve/display_one.html:56 msgid "is larger than" msgstr "大于" #: ../../i18n_templatelist.c:661 ../../static/t/sieve/display_one.html:57 msgid "is smaller than" msgstr "å°äºŽ" #: ../../i18n_templatelist.c:662 ../../static/t/sieve/display_one.html:59 #, fuzzy msgid "bytes" msgstr "å¹´ " #: ../../i18n_templatelist.c:663 ../../static/t/sieve/display_one.html:65 msgid "Keep" msgstr "ä¿æŒ" #: ../../i18n_templatelist.c:664 ../../static/t/sieve/display_one.html:66 msgid "Discard silently" msgstr "默默地放弃" #: ../../i18n_templatelist.c:665 ../../static/t/sieve/display_one.html:67 msgid "Reject" msgstr "æ‹’ç»" #: ../../i18n_templatelist.c:666 ../../static/t/sieve/display_one.html:68 msgid "Move message to" msgstr "移动消æ¯" #: ../../i18n_templatelist.c:667 ../../static/t/sieve/display_one.html:69 msgid "Forward to" msgstr "转å‘到" #: ../../i18n_templatelist.c:668 ../../static/t/sieve/display_one.html:70 msgid "Vacation" msgstr "度å‡" #: ../../i18n_templatelist.c:669 ../../static/t/sieve/display_one.html:82 msgid "Message:" msgstr "消æ¯ï¼š" #: ../../i18n_templatelist.c:670 ../../static/t/sieve/display_one.html:90 msgid "and then" msgstr "ç„¶åŽ" #: ../../i18n_templatelist.c:671 ../../static/t/sieve/display_one.html:93 msgid "continue processing" msgstr "继续处ç†" #: ../../i18n_templatelist.c:672 ../../static/t/sieve/display_one.html:94 msgid "stop" msgstr "åœæ­¢" #: ../../i18n_templatelist.c:673 ../../static/t/aide/inet/aliases.html:2 msgid "(domains for which this host receives mail)" msgstr "(域,此主机接收邮件)" #: ../../i18n_templatelist.c:674 ../../static/t/aide/display_ignetconf.html:4 msgid "Network configuration" msgstr "网络é…ç½® " #: ../../i18n_templatelist.c:676 ../../static/t/aide/display_ignetconf.html:14 msgid "Currently configured nodes" msgstr "当å‰é…置的节点 " #: ../../i18n_templatelist.c:677 ../../static/t/floors_edit_one.html:11 msgid "(delete floor)" msgstr "(删除楼) " #: ../../i18n_templatelist.c:678 ../../static/t/floors_edit_one.html:13 msgid "(edit graphic)" msgstr "(编辑图形) " #: ../../i18n_templatelist.c:679 #, fuzzy msgid "Change name" msgstr "更改房间å称:" #: ../../i18n_templatelist.c:680 msgid "Change CSS" msgstr "" #: ../../i18n_templatelist.c:681 ../../static/t/addressbook/namelist.html:4 msgid "Add:" msgstr "" #: ../../i18n_templatelist.c:682 #: ../../static/t/aide/siteconfig/tab_autopurger.html:1 msgid "Configure automatic expiry of old messages" msgstr "é…置自动到期的旧邮件 " #: ../../i18n_templatelist.c:683 #: ../../static/t/aide/siteconfig/tab_autopurger.html:2 msgid "These settings may be overridden on a per-floor or per-room basis." msgstr "æ¯å±‚或æ¯ä¸ªæˆ¿é—´çš„基础上,å¯ä»¥é‡å†™è¿™äº›è®¾ç½®ã€‚ " #: ../../i18n_templatelist.c:684 #: ../../static/t/aide/siteconfig/tab_autopurger.html:6 msgid "Hour to run database auto-purge" msgstr "å°æ—¶è¿è¡Œæ•°æ®åº“自动清除 " #: ../../i18n_templatelist.c:685 #: ../../static/t/aide/siteconfig/tab_autopurger.html:66 msgid "Default message expire policy for public rooms" msgstr "默认邮件过期,公共机房的政策 " #: ../../i18n_templatelist.c:690 #: ../../static/t/aide/siteconfig/tab_autopurger.html:81 msgid "Default message expire policy for private mailboxes" msgstr "默认消æ¯è¿‡æœŸä¸“用邮箱策略 " #: ../../i18n_templatelist.c:691 #: ../../static/t/aide/siteconfig/tab_autopurger.html:83 msgid "Same policy as public rooms" msgstr "公用房间相åŒçš„ç­–ç•¥ " #: ../../i18n_templatelist.c:696 #: ../../static/t/aide/siteconfig/tab_autopurger.html:99 msgid "Default user purge time (days)" msgstr "默认用户清除时间 (天) " #: ../../i18n_templatelist.c:697 #: ../../static/t/aide/siteconfig/tab_autopurger.html:102 msgid "Default room purge time (days)" msgstr "默认的房间清除时间 (天) " #: ../../i18n_templatelist.c:700 #, fuzzy msgid "Are you sure you want to delete this room?" msgstr "您确实è¦åˆ é™¤ " #: ../../i18n_templatelist.c:701 ../../static/t/room/edit/tab_admin.html:5 msgid "Delete this room" msgstr "删除这个房间" #: ../../i18n_templatelist.c:702 ../../static/t/room/edit/tab_admin.html:10 msgid "Set or change the icon for this rooms banner" msgstr "设置或更改此房间旗帜的图标" #: ../../i18n_templatelist.c:703 ../../static/t/room/edit/tab_admin.html:14 msgid "Edit this rooms Info file" msgstr "ç¼–è¾‘æ­¤æˆ¿é—´ä¿¡æ¯æ–‡ä»¶" #: ../../i18n_templatelist.c:704 #: ../../static/t/aide/display_generic_cmd.html:4 msgid "Enter a server command" msgstr "输入一个æœåŠ¡å™¨çš„å‘½ä»¤ " #: ../../i18n_templatelist.c:705 #: ../../static/t/aide/display_generic_cmd.html:12 msgid "" "This screen allows you to enter Citadel server commands which are not " "supported by WebCit. If you do not know what that means, then this screen " "will not be of much use to you." msgstr "" "æ­¤å±å¹•å…许您输入城堡æœåŠ¡å™¨å‘½ä»¤è€Œä¸æ˜¯WebCit 的支æŒã€‚如果你ä¸çŸ¥é“è¿™æ„味ç€ä»€ä¹ˆï¼Œ" "ç„¶åŽæ­¤å±å¹•ä¸ä¼šç»™ä½ å¤šå¤§ç”¨å¤„。 " #: ../../i18n_templatelist.c:706 #: ../../static/t/aide/display_generic_cmd.html:15 msgid "Enter command:" msgstr "请输入命令: " #: ../../i18n_templatelist.c:707 #: ../../static/t/aide/display_generic_cmd.html:17 msgid "Command input (if requesting SEND_LISTING transfer mode):" msgstr "输入 ï¼ˆå¦‚æžœè¦æ±‚ SEND_LISTING 传输模å¼ï¼‰ 的命令: " #: ../../i18n_templatelist.c:708 #: ../../static/t/aide/display_generic_cmd.html:20 msgid "Detected host header is " msgstr "检测到的主机标头 " #: ../../i18n_templatelist.c:709 #, fuzzy msgid "Send command" msgstr "请输入命令: " #: ../../i18n_templatelist.c:711 msgid "Unshare" msgstr "" #: ../../i18n_templatelist.c:713 ../../static/t/aide/inet/rbldns.html:2 msgid "(hosts running a Realtime Blackhole List)" msgstr "(主机è¿è¡Œå®žæ—¶é»‘åå•)" #: ../../i18n_templatelist.c:714 #: ../../static/t/aide/siteconfig/tab_access.html:1 msgid "Access controls and site policy settings" msgstr "访问控制和网站策略设置 " #: ../../i18n_templatelist.c:715 #: ../../static/t/aide/siteconfig/tab_access.html:5 msgid "Allow aides to zap (forget) rooms" msgstr "å…许歼ç­çš„助手 (忘了) 的房间 " #: ../../i18n_templatelist.c:716 #: ../../static/t/aide/siteconfig/tab_access.html:9 msgid "Quarantine messages from problem users" msgstr "问题用户隔离的邮件 " #: ../../i18n_templatelist.c:717 #: ../../static/t/aide/siteconfig/tab_access.html:12 msgid "Name of quarantine room" msgstr "隔离房间的åç§° " #: ../../i18n_templatelist.c:718 #: ../../static/t/aide/siteconfig/tab_access.html:17 msgid "Name of room to log pages" msgstr "房间到登录页的åç§° " #: ../../i18n_templatelist.c:719 #: ../../static/t/aide/siteconfig/tab_access.html:22 msgid "Authentication mode" msgstr "èº«ä»½éªŒè¯æ¨¡å¼ " #: ../../i18n_templatelist.c:720 #: ../../static/t/aide/siteconfig/tab_access.html:24 msgid "Self contained" msgstr "自载 " #: ../../i18n_templatelist.c:721 #: ../../static/t/aide/siteconfig/tab_access.html:25 msgid "Host based" msgstr "基于主机 " #: ../../i18n_templatelist.c:722 #: ../../static/t/aide/siteconfig/tab_access.html:26 msgid "LDAP (RFC2307)" msgstr "LDAP (RFC2307)" #: ../../i18n_templatelist.c:723 #: ../../static/t/aide/siteconfig/tab_access.html:27 msgid "LDAP (Active Directory)" msgstr "LDAP (Active Directory)" #: ../../i18n_templatelist.c:724 #: ../../static/t/aide/siteconfig/tab_access.html:30 msgid "Allow anonymous guest access" msgstr "å…è®¸åŒ¿åæ¥å®¾è®¿é—® " #: ../../i18n_templatelist.c:725 #: ../../static/t/aide/siteconfig/tab_access.html:33 msgid "Master user name (blank to disable)" msgstr "主用户åç§° (ç¦ç”¨ç©ºç™½ï¼‰ " #: ../../i18n_templatelist.c:726 #: ../../static/t/aide/siteconfig/tab_access.html:36 msgid "Master user password" msgstr "ä¸»ç”¨æˆ·å¯†ç  " #: ../../i18n_templatelist.c:727 #: ../../static/t/aide/siteconfig/tab_access.html:41 msgid "Initial access level for new users" msgstr "新用户的的åˆå§‹çš„访问级别 " #: ../../i18n_templatelist.c:735 #: ../../static/t/aide/siteconfig/tab_access.html:52 msgid "Access level required to create rooms" msgstr "创建房间所需的访问级别 " #: ../../i18n_templatelist.c:743 #: ../../static/t/aide/siteconfig/tab_access.html:63 msgid "Automatically grant room-aide status to users who create private rooms" msgstr "è‡ªåŠ¨æŽˆäºˆç”¨æˆ·åˆ›å»ºåŒ…æˆ¿æˆ¿é—´åŠ©æ‰‹çŠ¶æ€ " #: ../../i18n_templatelist.c:744 #: ../../static/t/aide/siteconfig/tab_access.html:66 #, fuzzy msgid "Automatically grant room-aide status to users who create BLOG rooms" msgstr "è‡ªåŠ¨æŽˆäºˆç”¨æˆ·åˆ›å»ºåŒ…æˆ¿æˆ¿é—´åŠ©æ‰‹çŠ¶æ€ " #: ../../i18n_templatelist.c:745 #: ../../static/t/aide/siteconfig/tab_access.html:69 msgid "Restrict access to Internet mail" msgstr "é™åˆ¶è®¿é—® Internet 邮件 " #: ../../i18n_templatelist.c:746 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Disable self-service user account creation" msgstr "ç¦ç”¨è‡ªåŠ©æœåŠ¡çš„ç”¨æˆ·å¸æˆ·åˆ›å»º " #: ../../i18n_templatelist.c:747 #: ../../static/t/aide/siteconfig/tab_access.html:74 msgid "Hint: do not select both!" msgstr "æç¤ºï¼š 请ä¸è¦é€‰æ‹©ä¸¤ä¸ª ï¼ " #: ../../i18n_templatelist.c:748 #: ../../static/t/aide/siteconfig/tab_access.html:77 msgid "Require registration for new users" msgstr "ä¸ºæ–°ç”¨æˆ·éœ€è¦æ³¨å†Œ " #: ../../i18n_templatelist.c:751 ../../static/t/aide/floorconfig.html:2 msgid "Add, change, or delete floors" msgstr "添加〠更改或删除层 " #: ../../i18n_templatelist.c:752 ../../static/t/viewomatic.html:4 msgid "View as:" msgstr "查看为:" #: ../../i18n_templatelist.c:753 #, fuzzy msgid "Delete this note?" msgstr "删除这个房间" #: ../../i18n_templatelist.c:757 ../../static/t/loggedinas.html:3 msgid "Logged in as" msgstr "作为登录 " #: ../../i18n_templatelist.c:758 ../../static/t/loggedinas.html:6 msgid "Not logged in." msgstr "未登录。 " #: ../../i18n_templatelist.c:759 ../../static/t/get_logged_in.html:3 msgid "You must be logged in to access this page." msgstr "您必须登录访问此页。 " #: ../../i18n_templatelist.c:762 ../../static/t/get_logged_in.html:53 msgid "Log in using a user name and password" msgstr "使用用户å和密ç ç™»å½• " #: ../../i18n_templatelist.c:764 ../../i18n_templatelist.c:770 #: ../../static/t/get_logged_in.html:58 ../../static/t/get_logged_in.html:73 msgid "Password:" msgstr "密ç ï¼š " #: ../../i18n_templatelist.c:766 ../../i18n_templatelist.c:767 #: ../../static/t/get_logged_in.html:63 ../../static/t/get_logged_in.html:67 msgid "New user? Register now" msgstr "æ–°ç”¨æˆ·ï¼Ÿç«‹å³æ³¨å†Œ " #: ../../i18n_templatelist.c:768 ../../static/t/get_logged_in.html:68 msgid "" "enter the name and password you wish to use, and click "New User." " msgstr "输入的å称和密ç ï¼Œæ‚¨æƒ³è¦ä½¿ç”¨ï¼Œå¹¶å•击 "新用户."" #: ../../i18n_templatelist.c:772 ../../static/t/get_logged_in.html:81 msgid "Log in using OpenID" msgstr "使用 OpenID 登录 " #: ../../i18n_templatelist.c:773 ../../static/t/get_logged_in.html:83 msgid "OpenID URL:" msgstr "OpenID çš„ URL: " #: ../../i18n_templatelist.c:775 ../../static/t/get_logged_in.html:90 #, fuzzy msgid "Log in using Google" msgstr "使用 OpenID 登录 " #: ../../i18n_templatelist.c:777 ../../static/t/get_logged_in.html:95 #, fuzzy msgid "Log in using Yahoo" msgstr "使用 OpenID 登录 " #: ../../i18n_templatelist.c:779 ../../static/t/get_logged_in.html:100 #, fuzzy msgid "Log in using AOL or AIM" msgstr "使用 OpenID 登录 " #: ../../i18n_templatelist.c:780 ../../static/t/get_logged_in.html:102 msgid "Enter your AOL or AIM screen name:" msgstr "" #: ../../i18n_templatelist.c:782 ../../static/t/get_logged_in.html:113 msgid "Please wait" msgstr "" #: ../../i18n_templatelist.c:784 ../../static/t/sieve/add.html:7 msgid "Add a new script" msgstr "添加一个新的脚本" #: ../../i18n_templatelist.c:785 ../../static/t/sieve/add.html:8 msgid "" "To create a new script, enter the desired script name in the box below and " "click 'Create'." msgstr "è‹¥è¦åˆ›å»ºä¸€ä¸ªæ–°çš„脚本,在下é¢çš„æ¡†ä¸­è¾“入所需的脚本åç§°å¹¶å•击创建" #: ../../i18n_templatelist.c:786 ../../static/t/sieve/add.html:12 msgid "Script name: " msgstr "脚本的å称:" #: ../../i18n_templatelist.c:788 ../../static/t/sieve/add.html:16 msgid "Edit scripts" msgstr "编辑脚本" #: ../../i18n_templatelist.c:789 ../../static/t/sieve/add.html:18 msgid "Return to the script editing screen" msgstr "返回到该脚本编辑å±å¹•" #: ../../i18n_templatelist.c:790 ../../static/t/sieve/add.html:21 msgid "Delete scripts" msgstr "删除脚本" #: ../../i18n_templatelist.c:791 ../../static/t/sieve/add.html:22 msgid "" "To delete an existing script, select the script name from the list and click " "'Delete'." msgstr "è‹¥è¦åˆ é™¤çŽ°æœ‰çš„è„šæœ¬ï¼Œä»Žåˆ—è¡¨ä¸­é€‰æ‹©è„šæœ¬åç§°å¹¶å•击删除" #: ../../i18n_templatelist.c:793 ../../static/t/aide/restart.html:2 msgid "Restart Now" msgstr "çŽ°åœ¨é‡æ–°å¯åЍ" #: ../../i18n_templatelist.c:794 ../../static/t/aide/restart.html:3 msgid "Restart after paging users" msgstr "釿–°å¯åЍåŽå¯»å‘¼ç”¨æˆ·" #: ../../i18n_templatelist.c:795 ../../static/t/aide/restart.html:4 msgid "Restart when all users are idle" msgstr "所有用户都å‡å¤„äºŽç©ºé—²çŠ¶æ€æ—¶é‡æ–°å¯åЍ" #: ../../i18n_templatelist.c:797 ../../static/t/prefs/pushemail.html:2 msgid "Configure Push Email" msgstr "é…ç½®é‚®ä»¶æŽ¨é€ " #: ../../i18n_templatelist.c:798 ../../static/t/prefs/pushemail.html:9 msgid "Push email and SMS settings" msgstr "推动电å­é‚®ä»¶å’ŒçŸ­ä¿¡è®¾ç½®" #: ../../i18n_templatelist.c:799 ../../static/t/prefs/pushemail.html:17 msgid "" "If your administrator has enabled the functionality, Citadel can notify a " "Funambol server that you haved recieved new email and automatically " "syncronize any devices you have with the Funambol client installed." msgstr "" "如果您的管ç†å‘˜å·²å¯ç”¨è¯¥åŠŸèƒ½ï¼Œå¯ä»¥é€šçŸ¥åŸŽå ¡æˆ˜ç•¥æ€§æœåŠ¡å™¨ï¼Œæ‚¨æ”¶åˆ°çš„æ‰€è§æ‰€é—»æ–°çš„电" "å­é‚®ä»¶å’Œè‡ªåŠ¨åŒæ­¥æ‚¨æ‹¥æœ‰çš„任何设备战略性客户端安装。 " #: ../../i18n_templatelist.c:800 ../../static/t/prefs/pushemail.html:20 msgid "" "Alternatively, if the administrator has configured it, Citadel can send a " "text message to you when new mail arrives." msgstr "å¦å¤–,如果管ç†å‘˜å·²é…置它,城堡å¯ä»¥å‘逿–°é‚®ä»¶åˆ°è¾¾æ—¶çš„æ–‡æœ¬æ¶ˆæ¯ã€‚ " #: ../../i18n_templatelist.c:801 ../../static/t/prefs/pushemail.html:26 msgid "Notify Funambol server" msgstr "通知的战略性æœåС噍" #: ../../i18n_templatelist.c:802 ../../static/t/prefs/pushemail.html:31 msgid "Send a text message to..." msgstr "å‘逿–‡æœ¬æ¶ˆæ¯..." #: ../../i18n_templatelist.c:803 ../../static/t/prefs/pushemail.html:33 msgid "" "(Use international format, without any leading zeros, spaces or hypens, like " "+61415011501)" msgstr "(使用国际标准格å¼ï¼Œæ²¡æœ‰ä»»ä½•å‰å¯¼é›¶ã€ 空格或连åƒ+61415011501) " #: ../../i18n_templatelist.c:804 ../../static/t/prefs/pushemail.html:38 msgid "Use custom notification scheme configured by your Admin" msgstr "使用自定义通知计划由您的管ç†å‘˜é…ç½® " #: ../../i18n_templatelist.c:805 ../../static/t/prefs/pushemail.html:43 msgid "Don‘t send any notifications" msgstr "ä¸è¦å‘é€ä»»ä½•通知 " #: ../../i18n_templatelist.c:806 ../../static/t/login.html:7 msgid "powered by" msgstr "æä¾›è€…" #: ../../i18n_templatelist.c:808 #: ../../static/t/aide/siteconfig/tab_smtp.html:1 msgid "SMTP-Servers" msgstr "" #: ../../i18n_templatelist.c:810 #: ../../static/t/aide/siteconfig/tab_smtp.html:5 msgid "SMTP MTA port (-1 to disable)" msgstr "MTA SMTP ç«¯å£ ï¼ˆç¦ç”¨-1) " #: ../../i18n_templatelist.c:811 #: ../../static/t/aide/siteconfig/tab_smtp.html:8 msgid "SMTP MSA port (-1 to disable)" msgstr "MSA SMTP ç«¯å£ ï¼ˆç¦ç”¨-1) " #: ../../i18n_templatelist.c:812 #: ../../static/t/aide/siteconfig/tab_smtp.html:11 msgid "SMTP over SSL port (-1 to disable)" msgstr "SMTP 通过 SSL ç«¯å£ ï¼ˆç¦ç”¨-1) " #: ../../i18n_templatelist.c:813 #: ../../static/t/aide/siteconfig/tab_smtp.html:14 msgid "Perform RBL checks upon connect instead of after RCPT" msgstr "执行 RBL 检查åŽçš„è¿žæŽ¥è€Œä¸æ˜¯åŽ RCPT " #: ../../i18n_templatelist.c:814 #: ../../static/t/aide/siteconfig/tab_smtp.html:17 msgid "Flag message as spam, instead of rejecting it" msgstr "å°†é‚®ä»¶æ ‡è®°ä¸ºåžƒåœ¾é‚®ä»¶ï¼Œè€Œä¸æ˜¯æ‹’ç» " #: ../../i18n_templatelist.c:815 #: ../../static/t/aide/siteconfig/tab_smtp.html:20 msgid "Allow unauthenticated SMTP clients to spoof this sites domains" msgstr "å…许未ç»èº«ä»½éªŒè¯çš„ SMTP 客户端欺骗这个站点域 " #: ../../i18n_templatelist.c:816 #: ../../static/t/aide/siteconfig/tab_smtp.html:23 msgid "Correct forged From: lines during authenticated SMTP" msgstr "从正确伪造: ç»è¿‡èº«ä»½éªŒè¯çš„ SMTP 在行 " #: ../../i18n_templatelist.c:817 #: ../../static/t/aide/siteconfig/tab_smtp.html:27 msgid "No, allow any address in the From: header" msgstr "" #: ../../i18n_templatelist.c:818 #: ../../static/t/aide/siteconfig/tab_smtp.html:30 msgid "Only change the From: header if the address is not valid for the user" msgstr "" #: ../../i18n_templatelist.c:819 #: ../../static/t/aide/siteconfig/tab_smtp.html:33 msgid "Yes, always place the user's primary email address in the From: header" msgstr "" #: ../../i18n_templatelist.c:820 #: ../../static/t/aide/siteconfig/tab_smtp.html:36 msgid "No, REJECT messages containing an invalid From: header" msgstr "" #: ../../i18n_templatelist.c:821 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "Postfix TCP Dictionary Port" msgstr "åŽç¼€çš„è¯å…¸ TCP ç«¯å£ " #: ../../i18n_templatelist.c:822 #: ../../static/t/aide/siteconfig/tab_smtp.html:43 msgid "-1 to disable" msgstr "è‹¥è¦ç¦ç”¨-1 " #: ../../i18n_templatelist.c:823 #: ../../static/t/aide/siteconfig/tab_smtp.html:46 msgid "ManageSieve Port (-1 to disable)" msgstr "ManageSieve ç«¯å£ ï¼ˆç¦ç”¨-1) " #: ../../i18n_templatelist.c:824 #: ../../static/t/aide/display_sitewide_config.html:3 msgid "Site configuration" msgstr "怀胎é…ç½® " #: ../../i18n_templatelist.c:826 #: ../../static/t/aide/display_sitewide_config.html:12 msgid "General" msgstr "一般 " #: ../../i18n_templatelist.c:827 #: ../../static/t/aide/display_sitewide_config.html:14 #, fuzzy msgid "Settings" msgstr "Iconbar 设置" #: ../../i18n_templatelist.c:828 #: ../../static/t/aide/display_sitewide_config.html:15 msgid "SMTP" msgstr "" #: ../../i18n_templatelist.c:829 #: ../../static/t/aide/display_sitewide_config.html:16 msgid "IMAP4" msgstr "" #: ../../i18n_templatelist.c:830 #: ../../static/t/aide/display_sitewide_config.html:17 msgid "Pop3" msgstr "Pop3" #: ../../i18n_templatelist.c:832 #: ../../static/t/aide/display_sitewide_config.html:21 msgid "Indexing/Journaling" msgstr "索引/日记" #: ../../i18n_templatelist.c:833 #: ../../static/t/aide/display_sitewide_config.html:23 msgid "Access" msgstr "访问" #: ../../i18n_templatelist.c:834 #: ../../static/t/aide/display_sitewide_config.html:24 msgid "Directory" msgstr "目录" #: ../../i18n_templatelist.c:835 #: ../../static/t/aide/display_sitewide_config.html:25 msgid "Auto-purger" msgstr "自动普格尔" #: ../../i18n_templatelist.c:839 ../../static/t/room/edit/tab_listserv.html:6 #, fuzzy msgid "" "The contents of this room are being mailed as individual messages " "to the following list recipients:

    " msgstr "" " 这个房间里的内容都被作为å•个邮件
    邮寄 以下列列表中的收件人:

    " #: ../../i18n_templatelist.c:841 ../../static/t/room/edit/tab_listserv.html:23 #, fuzzy msgid "" "The contents of this room are being mailed in digest form to the " "following list recipients:

    " msgstr "" " 这个房间里的内容都被以邮寄 ,æ¥ä»¥æœˆåˆŠå½¢å¼ 以下列表中的收件人:

    " #: ../../i18n_templatelist.c:843 ../../static/t/room/edit/tab_listserv.html:43 msgid "Posts to this room will be sent to these mailing lists" msgstr "" #: ../../i18n_templatelist.c:844 ../../static/t/room/edit/tab_listserv.html:44 msgid "" "All messages posted / mailed into this room will be sent to these email " "addresses. If you link this with mailinglist subscriptions, make shure the " "default sender address below matches the subscribed address. You will see " "your messages twice once the mailinglist sends it back to you." msgstr "" #: ../../i18n_templatelist.c:846 #, fuzzy msgid "List" msgstr "列表 ID" #: ../../i18n_templatelist.c:847 #, fuzzy msgid "Digest" msgstr "æ—¶é—´æ ¼å¼ " #: ../../i18n_templatelist.c:848 ../../i18n_templatelist.c:850 #: ../../static/t/room/edit/tab_listserv.html:66 msgid "Add recipients from Contacts or other address books" msgstr "从è”系人或其他通讯簿添加收件人" #: ../../i18n_templatelist.c:851 ../../static/t/room/edit/tab_listserv.html:75 msgid "Allow non-subscribers to mail to this room." msgstr "å…许订阅æœåŠ¡å™¨ä»¥ä¾¿å°†é‚®ä»¶åˆ°è¿™ä¸ªæˆ¿é—´ã€‚" #: ../../i18n_templatelist.c:852 ../../static/t/room/edit/tab_listserv.html:81 msgid "Room post publication needs Admin permission." msgstr "房间åŽçš„出版物需求助手的æƒé™ã€‚" #: ../../i18n_templatelist.c:853 ../../static/t/room/edit/tab_listserv.html:86 msgid "Allow self-service subscribe/unsubscribe requests." msgstr "å…许自助æœåŠ¡è®¢é˜…é€€è®¢çš„è¯·æ±‚ã€‚" #: ../../i18n_templatelist.c:854 ../../static/t/room/edit/tab_listserv.html:92 msgid "The URL for subscribe/unsubscribe is: " msgstr "è®¢é˜…å–æ¶ˆè®¢é˜…çš„ URL 是:" #: ../../i18n_templatelist.c:856 #: ../../static/t/room/edit/tab_listserv.html:110 msgid "Which from address should be used: " msgstr "" #: ../../i18n_templatelist.c:857 #: ../../static/t/room/edit/tab_listserv.html:123 msgid "none (not advised)" msgstr "" #: ../../i18n_templatelist.c:858 #, fuzzy msgid "Set" msgstr "主题" #: ../../i18n_templatelist.c:859 #: ../../static/t/room/edit/tab_listserv.html:135 msgid "Alternative public emailaddresses pointing to this room: " msgstr "" #: ../../i18n_templatelist.c:860 #: ../../static/t/room/edit/tab_listserv.html:150 msgid "All Domains" msgstr "" #: ../../i18n_templatelist.c:862 ../../static/t/summary/page.html:4 msgid "Summary page for " msgstr "的摘è¦é¡µ " #: ../../i18n_templatelist.c:863 ../../static/t/summary/page.html:21 msgid "Messages" msgstr "邮件 " #: ../../i18n_templatelist.c:865 ../../static/t/summary/page.html:39 msgid "Today on your calendar" msgstr "今天 & nbsp; 对 & nbsp; ä½  & nbsp; 日历 " #: ../../i18n_templatelist.c:866 ../../static/t/summary/page.html:51 #, fuzzy msgid "Who‘s online now" msgstr "è°çš„ & nbsp; 在线 & nbsp; 现在 " #: ../../i18n_templatelist.c:867 ../../static/t/summary/page.html:60 msgid "About this server" msgstr "关于 & nbsp; æ­¤ & nbsp; æœåС噍 " #: ../../i18n_templatelist.c:868 ../../static/t/summary/page.html:63 msgid "You are connected to" msgstr "" #: ../../i18n_templatelist.c:869 ../../static/t/summary/page.html:64 #, fuzzy msgid "running" msgstr "调整" #: ../../i18n_templatelist.c:870 ../../static/t/summary/page.html:65 #, fuzzy msgid "with" msgstr "第五届 " #: ../../i18n_templatelist.c:871 ../../static/t/summary/page.html:66 msgid "server build" msgstr "" #: ../../i18n_templatelist.c:872 ../../static/t/summary/page.html:67 #, fuzzy msgid "and located in" msgstr "ç„¶åŽ" #: ../../i18n_templatelist.c:873 ../../static/t/summary/page.html:68 #, fuzzy msgid "Your system administrator is" msgstr "系统管ç†å‘˜çš„åç§° " #: ../../i18n_templatelist.c:874 #, fuzzy msgid "Do you really want to kill this session?" msgstr "您确实è¦åˆ é™¤æ­¤ OpenID å—? " #: ../../i18n_templatelist.c:875 ../../static/t/who.html:13 msgid "Users currently on " msgstr "当å‰çš„用户 " #: ../../i18n_templatelist.c:876 ../../static/t/who.html:22 msgid "Click on a name to read user info. Click on" msgstr "å•击其åç§°å¯è¯»å–用户信æ¯ã€‚å•击" #: ../../i18n_templatelist.c:877 ../../static/t/who.html:24 msgid "to send an instant message to that user." msgstr "å‘该用户å‘é€å³æ—¶æ¶ˆæ¯ã€‚ " #: ../../i18n_templatelist.c:878 ../../static/t/start_of_new_msgs.html:4 msgid "Old messages" msgstr "旧邮件 " #: ../../i18n_templatelist.c:879 ../../static/t/start_of_new_msgs.html:8 msgid "New messages" msgstr "新邮件 " #: ../../i18n_templatelist.c:880 #, fuzzy msgid "Share" msgstr "共享" #: ../../i18n_templatelist.c:881 ../../static/t/aide/inet/masqdomains.html:2 msgid "(Domains as which users are allowed to masquerade)" msgstr "(å…许哪些用户作为域伪装) " #: ../../i18n_templatelist.c:883 ../../static/t/menu/change_pw.html:16 msgid "Enter new password:" msgstr "输入新的密ç ï¼š " #: ../../i18n_templatelist.c:884 ../../static/t/menu/change_pw.html:20 msgid "Enter it again to confirm:" msgstr "è¾“å…¥å¹¶å†æ¬¡ç¡®è®¤ï¼š " #: ../../i18n_templatelist.c:885 msgid "Change password" msgstr "æ›´æ”¹å¯†ç  " #: ../../i18n_templatelist.c:887 ../../static/t/who/edit.html:5 msgid "Edit your session display" msgstr "ç¼–è¾‘æ‚¨çš„ä¼šè¯æ˜¾ç¤º" #: ../../i18n_templatelist.c:888 ../../static/t/who/edit.html:10 msgid "" "This screen allows you to change the way your session appears in the 'Who is " "online' listing. To turn off any 'fake' name you've previously set, simply " "click the appropriate 'change' button without typing anything in the " "corresponding box. " msgstr "" "æ­¤å±å¹•å…许您更改您的会è¯åœ¨ 'è°åœ¨çº¿åˆ—表中的显示的方å¼ã€‚è‹¥è¦å…³é—­ä»¥å‰è®¾ç½®çš„任何 " "'å‡' çš„å称,åªéœ€å•击适当的更改按钮无需输入任何内容在相应的框中。" #: ../../i18n_templatelist.c:889 ../../static/t/who/edit.html:18 msgid "Room name:" msgstr "房间å称:" #: ../../i18n_templatelist.c:890 msgid "Change room name" msgstr "更改房间å称:" #: ../../i18n_templatelist.c:891 ../../static/t/who/edit.html:29 msgid "Host name:" msgstr "主机å:" #: ../../i18n_templatelist.c:892 msgid "Change host name" msgstr "更改主机åç§°" #: ../../i18n_templatelist.c:894 msgid "Change user name" msgstr "更改用户å" #: ../../i18n_templatelist.c:917 msgid "(INBOX)" msgstr "" #: ../../i18n_templatelist.c:920 ../../static/t/wiki/history.html:1 msgid "History of edits for this page" msgstr "ç¼–è¾‘æ­¤é¡µçš„åŽ†å² " #: ../../i18n_templatelist.c:921 ../../static/t/msg/confirm_move.html:4 msgid "Confirm move of message" msgstr "确认消æ¯çš„移动 " #: ../../i18n_templatelist.c:922 ../../static/t/msg/confirm_move.html:12 msgid "Move this message to:" msgstr "移动到此消æ¯ï¼š " #: ../../i18n_templatelist.c:926 ../../static/t/view_mailq/message.html:6 msgid "Originaly posted in: " msgstr "" #: ../../i18n_templatelist.c:932 ../../static/t/menu/basic_commands.html:3 msgid "List known rooms" msgstr "已知房间列表 " #: ../../i18n_templatelist.c:933 ../../static/t/menu/basic_commands.html:3 msgid "Where can I go from here?" msgstr "哪儿å¯ä»¥ä»Žè¿™é‡Œï¼Ÿ " #: ../../i18n_templatelist.c:934 ../../i18n_templatelist.c:985 #: ../../static/t/menu/basic_commands.html:4 ../../static/t/navbar.html:191 msgid "Goto next room" msgstr "è½¬åˆ°éš”å£æˆ¿é—´ " #: ../../i18n_templatelist.c:935 ../../static/t/menu/basic_commands.html:4 msgid "...with unread messages" msgstr "… … 以 未读的 æ¶ˆæ¯ " #: ../../i18n_templatelist.c:936 ../../static/t/menu/basic_commands.html:5 msgid "Skip to next room" msgstr "è·³åˆ°éš”å£æˆ¿é—´ " #: ../../i18n_templatelist.c:937 ../../static/t/menu/basic_commands.html:5 msgid "(come back here later)" msgstr "(回æ¥ä»¥åŽ) " #: ../../i18n_templatelist.c:938 ../../i18n_templatelist.c:956 #: ../../static/t/menu/basic_commands.html:6 ../../static/t/navbar.html:5 msgid "Ungoto" msgstr "Ungoto" #: ../../i18n_templatelist.c:939 ../../static/t/menu/basic_commands.html:6 msgid "oops! Back to " msgstr "哎呀 ï¼å›ž " #: ../../i18n_templatelist.c:940 ../../i18n_templatelist.c:957 #: ../../static/t/menu/basic_commands.html:10 ../../static/t/navbar.html:13 msgid "Read new messages" msgstr "阅读新邮件 " #: ../../i18n_templatelist.c:941 ../../static/t/menu/basic_commands.html:10 msgid "...in this room" msgstr "... 这房间 " #: ../../i18n_templatelist.c:942 ../../i18n_templatelist.c:958 #: ../../static/t/menu/basic_commands.html:11 ../../static/t/navbar.html:19 msgid "Read all messages" msgstr "阅读所有邮件 " #: ../../i18n_templatelist.c:943 ../../static/t/menu/basic_commands.html:11 msgid "...old and new" msgstr "….old å’Œ æ–° " #: ../../i18n_templatelist.c:944 ../../i18n_templatelist.c:959 #: ../../static/t/menu/basic_commands.html:12 ../../static/t/navbar.html:25 msgid "Enter a message" msgstr "è¾“å…¥çš„æ¶ˆæ¯ " #: ../../i18n_templatelist.c:945 ../../static/t/menu/basic_commands.html:12 msgid "(post in this room)" msgstr "(在这个房间里å‘布) " #: ../../i18n_templatelist.c:946 ../../static/t/menu/basic_commands.html:13 msgid "File library" msgstr "文件库 " #: ../../i18n_templatelist.c:947 ../../static/t/menu/basic_commands.html:13 msgid "(List files available for download)" msgstr "(列出å¯ä¾›ä¸‹è½½çš„æ–‡ä»¶ï¼‰ " #: ../../i18n_templatelist.c:948 ../../static/t/menu/basic_commands.html:17 msgid "Summary page" msgstr "摘è¦é¡µ " #: ../../i18n_templatelist.c:949 ../../static/t/menu/basic_commands.html:17 msgid "Summary of my account" msgstr "æˆ‘çš„è´¦æˆ·çš„æ‘˜è¦ " #: ../../i18n_templatelist.c:950 ../../static/t/menu/basic_commands.html:18 msgid "User list" msgstr "的用户列表 " #: ../../i18n_templatelist.c:951 ../../static/t/menu/basic_commands.html:18 msgid "(all registered users)" msgstr "(所有已注册的用户) " #: ../../i18n_templatelist.c:953 ../../static/t/menu/basic_commands.html:19 msgid "Bye!" msgstr "å†è§ ï¼ " #: ../../i18n_templatelist.c:955 ../../static/t/aide/inet/smarthosts.html:2 msgid "(if present, forward all outbound mail to one of these hosts)" msgstr "(如果存在的è¯ï¼Œæ‰€æœ‰å‡ºç«™é‚®ä»¶è½¬å‘到这些主机之一)" #: ../../i18n_templatelist.c:960 ../../static/t/navbar.html:34 msgid "View contacts" msgstr "查看è”系人 " #: ../../i18n_templatelist.c:961 ../../static/t/navbar.html:40 msgid "Add new contact" msgstr "添加新è”系人 " #: ../../i18n_templatelist.c:962 ../../static/t/navbar.html:49 msgid "Day view" msgstr "天视图 " #: ../../i18n_templatelist.c:963 ../../static/t/navbar.html:55 msgid "Month view" msgstr "月视图 " #: ../../i18n_templatelist.c:964 ../../static/t/navbar.html:61 msgid "Add new event" msgstr "添加新事件 " #: ../../i18n_templatelist.c:965 ../../static/t/navbar.html:70 msgid "Calendar list" msgstr "日历列表 " #: ../../i18n_templatelist.c:966 ../../static/t/navbar.html:79 msgid "View tasks" msgstr "查看任务 " #: ../../i18n_templatelist.c:967 ../../static/t/navbar.html:85 msgid "Add new task" msgstr "添加新任务 " #: ../../i18n_templatelist.c:968 ../../static/t/navbar.html:94 msgid "View notes" msgstr "查看备注 " #: ../../i18n_templatelist.c:969 ../../static/t/navbar.html:101 msgid "Add new note" msgstr "添加新的注释 " #: ../../i18n_templatelist.c:970 ../../static/t/navbar.html:110 msgid "Refresh message list" msgstr "刷新消æ¯åˆ—表 " #: ../../i18n_templatelist.c:972 ../../static/t/navbar.html:122 msgid "Write mail" msgstr "写邮件 " #: ../../i18n_templatelist.c:973 ../../i18n_templatelist.c:977 #: ../../static/t/navbar.html:132 ../../static/t/navbar.html:155 msgid "Wiki home" msgstr "Wiki 回家 " #: ../../i18n_templatelist.c:974 ../../i18n_templatelist.c:978 #: ../../static/t/navbar.html:139 ../../static/t/navbar.html:162 msgid "Edit this page" msgstr "编辑此页 " #: ../../i18n_templatelist.c:976 ../../i18n_templatelist.c:980 #: ../../static/t/navbar.html:145 ../../static/t/navbar.html:168 msgid "History" msgstr "åŽ†å² " #: ../../i18n_templatelist.c:981 ../../static/t/navbar.html:177 msgid "New blog post" msgstr "" #: ../../i18n_templatelist.c:982 msgid "" "Leave all messages marked as unread, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:983 ../../static/t/navbar.html:185 msgid "Skip this room" msgstr "è·³è¿‡è¿™é—´å±‹å­ " #: ../../i18n_templatelist.c:984 msgid "Mark all messages as read, go to next room with unread messages" msgstr "" #: ../../i18n_templatelist.c:986 ../../static/t/navbar.html:196 msgid "Resend Mailqueue now" msgstr "" #: ../../i18n_templatelist.c:995 #, fuzzy msgid "Save changes?" msgstr "ä¿å­˜æ›´æ”¹" #~ msgid "" #~ "You are subscribing %s to the %s mailing list. The " #~ "listserver has sent you an e-mail with one additional Web link for you to " #~ "click on to confirm your subscription. This extra step is for your " #~ "protection, as it prevents others from being able to subscribe you to " #~ "lists without your consent.

    Please click on the link which is " #~ "being e-mailed to you and your subscription will be confirmed.
    \n" #~ msgstr "" #~ "您的订阅 %s 到 %s 邮件列表中。\"ä¿¡ç¬ºå·²å‘æ‚¨å‘é€å¸¦æœ‰ä¸€ä¸ª" #~ "附加的 Web 链接,为您的电å­é‚®ä»¶å•击以确认您的订购。这ç§é¢å¤–的步骤是为你作" #~ "ä¸ºå®ƒçš„ä¿æŠ¤ï¼Œé˜²æ­¢ä»–äººèƒ½å¤Ÿä¸ºæ‚¨è®¢é˜…åˆ—è¡¨æ²¡æœ‰ä½ çš„åŒæ„,

    请点击以下链接" #~ "正在 e-邮寄给您,并将确认您的订购。
    \n" #~ msgid "" #~ "WARNING: Failed to parse Server Config; do you run a to new citserver?" #~ msgstr "警告: æ— æ³•è§£æžæœåС噍é…ç½® ;你跑到新的 citserver åšå—? " #~ msgid "There is no room called '%s'." #~ msgstr "没有å为 '%s' 的空间。 " #~ msgid "Network" #~ msgstr "网络" #~ msgid "Tuning" #~ msgstr "调整" #~ msgid "Instantly expunge deleted messages in IMAP" #~ msgstr "ç«‹å³å€ºæƒåœ¨ IMAP 中已删除的邮件 " #~ msgid "A script by that name already exists." #~ msgstr "脚本通过该å称已存在" #~ msgid "" #~ "A new script has been created. Return to the script editing screen to " #~ "edit and activate it." #~ msgstr "已创建一个新的脚本。返回脚本编辑å±å¹•编辑,并将其激活。" #~ msgid "Delete script" #~ msgstr "删除脚本" #~ msgid "" #~ "You are connected to %s, running %s with %s, server build %s and located " #~ "in %s. Your system administrator is %s." #~ msgstr "" #~ "您连接到 %s,è¿è¡ŒæœåŠ¡å™¨ç”Ÿæˆ %s%s %s 与ä½äºŽ %s。%s 您的系统管ç†å‘˜è”系。 " #~ msgid "Yes with users list" #~ msgstr "是用户列表 " #~ msgid " - powered by Citadel" #~ msgstr "-ç”± < href='http://www.citadel.org'> " #~ msgid "Room list" #~ msgstr "房间列表" #~ msgid "View as room list" #~ msgstr "查看房间列表" #~ msgid "View as folder list" #~ msgstr "查看文件夹列表" webcit-9.01-dfsg/preferences.c000066400000000000000000000713231254743150300163200ustar00rootroot00000000000000/* * Manage user preferences with a little help from the Citadel server. * * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" #include "dav.h" HashList *PreferenceHooks; extern HashList *HandlerHash; typedef struct _PrefDef { ePrefType eType; StrBuf *Setting; const char *PrefStr; PrefEvalFunc OnLoad; StrBuf *OnLoadName; } PrefDef; typedef struct _Preference { PrefDef *Type; ePrefType eFlatPrefType; StrBuf *Key; StrBuf *Val; long lval; long decoded; StrBuf *DeQPed; } Preference; void DestroyPrefDef(void *vPrefDef) { PrefDef *Prefdef = (PrefDef*) vPrefDef; FreeStrBuf(&Prefdef->Setting); FreeStrBuf(&Prefdef->OnLoadName); free(Prefdef); } void DestroyPreference(void *vPref) { Preference *Pref = (Preference*) vPref; FreeStrBuf(&Pref->Key); FreeStrBuf(&Pref->Val); FreeStrBuf(&Pref->DeQPed); free(Pref); } void _RegisterPreference(const char *Setting, long SettingLen, const char *PrefStr, ePrefType Type, PrefEvalFunc OnLoad, const char *OnLoadName) { PrefDef *Newpref = (PrefDef*) malloc(sizeof(PrefDef)); Newpref->Setting = NewStrBufPlain(Setting, SettingLen); Newpref->PrefStr = PrefStr; Newpref->eType = Type; Newpref->OnLoad = OnLoad; if (Newpref->OnLoad != NULL) { Newpref->OnLoadName = NewStrBufPlain(OnLoadName, -1); } else Newpref->OnLoadName = NULL; Put(PreferenceHooks, Setting, SettingLen, Newpref, DestroyPrefDef); } const char *PrefGetLocalStr(const char *Setting, long len) { void *hash_value; if (GetHash(PreferenceHooks, Setting, len, &hash_value) != 0) { PrefDef *Newpref = (PrefDef*) hash_value; return _(Newpref->PrefStr); } return ""; } #ifdef DBG_PREFS_HASH inline const char *PrintPref(void *vPref) { Preference *Pref = (Preference*) vPref; if (Pref->DeQPed != NULL) return ChrPtr(Pref->DeQPed); else return ChrPtr(Pref->Val); } #endif void GetPrefTypes(HashList *List) { HashPos *It; long len; const char *Key; void *vSetting; void *vPrefDef; Preference *Pref; PrefDef *PrefType; It = GetNewHashPos(List, 0); while (GetNextHashPos(List, It, &len, &Key, &vSetting)) { Pref = (Preference*) vSetting; if (GetHash(PreferenceHooks, SKEY(Pref->Key), &vPrefDef) && (vPrefDef != NULL)) { PrefType = (PrefDef*) vPrefDef; Pref->Type = PrefType; Pref->eFlatPrefType = Pref->Type->eType; syslog(LOG_DEBUG, "Loading [%s]with type [%d] [\"%s\"]\n", ChrPtr(Pref->Key), Pref->Type->eType, ChrPtr(Pref->Val)); switch (Pref->Type->eType) { case PRF_UNSET: /* WHUT? */ break; case PRF_STRING: break; case PRF_INT: Pref->lval = StrTol(Pref->Val); Pref->decoded = 1; break; case PRF_QP_STRING: Pref->DeQPed = NewStrBufPlain(NULL, StrLength(Pref->Val)); StrBufEUid_unescapize(Pref->DeQPed, Pref->Val); Pref->decoded = 1; break; case PRF_YESNO: Pref->lval = strcmp(ChrPtr(Pref->Val), "yes") == 0; Pref->decoded = 1; break; } if (PrefType->OnLoad != NULL){ syslog(LOG_DEBUG, "Loading with: -> %s(\"%s\", %ld)\n", ChrPtr(PrefType->OnLoadName), ChrPtr(Pref->Val), Pref->lval); PrefType->OnLoad(Pref->Val, Pref->lval); } } } DeleteHashPos(&It); } void ParsePref(HashList **List, StrBuf *ReadBuf) { int Done = 0; Preference *Data = NULL; Preference *LastData = NULL; while (!Done) { if (StrBuf_ServGetln(ReadBuf) < 0) break; if ( (StrLength(ReadBuf)==3) && !strcmp(ChrPtr(ReadBuf), "000")) { Done = 1; break; } if ((ChrPtr(ReadBuf)[0] == ' ') && (LastData != NULL)) { StrBufAppendBuf(LastData->Val, ReadBuf, 1); } else { LastData = Data = malloc(sizeof(Preference)); memset(Data, 0, sizeof(Preference)); Data->Key = NewStrBuf(); Data->Val = NewStrBuf(); StrBufExtract_token(Data->Key, ReadBuf, 0, '|'); StrBufExtract_token(Data->Val, ReadBuf, 1, '|'); /***************** BEGIN VILE SLEAZY HACK ************************/ /* some users might still have this start page configured, which now breaks */ if ( (!strcasecmp(ChrPtr(Data->Key), "startpage")) && (!strcasecmp(ChrPtr(Data->Val), "/do_template?template=summary_page")) ) { FreeStrBuf(&Data->Val); Data->Val = NewStrBufPlain(HKEY("/summary")); } /******************* END VILE SLEAZY HACK ************************/ if (!IsEmptyStr(ChrPtr(Data->Key))) { Put(*List, SKEY(Data->Key), Data, DestroyPreference); } else { StrBufTrim(ReadBuf); syslog(LOG_INFO, "ignoring spurious preference line: [%s]\n", ChrPtr(ReadBuf)); DestroyPreference(Data); LastData = NULL; } Data = NULL; } } GetPrefTypes(*List); } /* * display preferences dialog */ void load_preferences(void) { folder Room; wcsession *WCC = WC; int Done = 0; StrBuf *ReadBuf; long msgnum = 0L; memset(&Room, 0, sizeof(folder)); ReadBuf = NewStrBufPlain(NULL, SIZ * 4); if (goto_config_room(ReadBuf, &Room) != 0) { FreeStrBuf(&ReadBuf); FlushFolder(&Room); return; /* oh well. */ } serv_puts("MSGS ALL|0|1"); StrBuf_ServGetln(ReadBuf); if (GetServerStatus(ReadBuf, NULL) == 8) { serv_puts("subj|__ WebCit Preferences __"); serv_puts("000"); } while (!Done && (StrBuf_ServGetln(ReadBuf) >= 0)) { if ( (StrLength(ReadBuf)==3) && !strcmp(ChrPtr(ReadBuf), "000")) { Done = 1; break; } msgnum = StrTol(ReadBuf); } if (msgnum > 0L) { serv_printf("MSG0 %ld", msgnum); StrBuf_ServGetln(ReadBuf); if (GetServerStatus(ReadBuf, NULL) == 1) { while ( (StrBuf_ServGetln(ReadBuf) >= 0) && (strcmp(ChrPtr(ReadBuf), "text") && strcmp(ChrPtr(ReadBuf), "000")) ) { /* flush */ } if (!strcmp(ChrPtr(ReadBuf), "text")) { ParsePref(&WCC->hash_prefs, ReadBuf); } } } /* Go back to the room we're supposed to be in */ if (StrLength(WCC->CurRoom.name) > 0) { serv_printf("GOTO %s", ChrPtr(WCC->CurRoom.name)); StrBuf_ServGetln(ReadBuf); GetServerStatus(ReadBuf, NULL); } FreeStrBuf(&ReadBuf); FlushFolder(&Room); } /* * Go to the user's configuration room, creating it if necessary. * returns 0 on success or nonzero upon failure. */ int goto_config_room(StrBuf *Buf, folder *Room) { serv_printf("GOTO %s", USERCONFIGROOM); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) != 2) { /* try to create the config room if not there */ serv_printf("CRE8 1|%s|4|0", USERCONFIGROOM); StrBuf_ServGetln(Buf); GetServerStatus(Buf, NULL); serv_printf("GOTO %s", USERCONFIGROOM); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) != 2) { return(1); } } ParseGoto(Room, Buf); return(0); } void WritePrefsToServer(HashList *Hash) { wcsession *WCC = WC; long len; HashPos *HashPos; void *vPref; const char *Key; Preference *Pref; StrBuf *SubBuf = NULL; Hash = WCC->hash_prefs; #ifdef DBG_PREFS_HASH dbg_PrintHash(Hash, PrintPref, NULL); #endif HashPos = GetNewHashPos(Hash, 0); while (GetNextHashPos(Hash, HashPos, &len, &Key, &vPref)!=0) { size_t nchars; if (vPref == NULL) continue; Pref = (Preference*) vPref; nchars = StrLength(Pref->Val); if (nchars > 80){ int n = 0; size_t offset, nchars; if (SubBuf == NULL) SubBuf = NewStrBufPlain(NULL, SIZ); nchars = 1; offset = 0; while (nchars > 0) { if (n == 0) nchars = 70; else nchars = 80; nchars = StrBufSub(SubBuf, Pref->Val, offset, nchars); if (n == 0) { serv_printf("%s|%s", ChrPtr(Pref->Key), ChrPtr(SubBuf)); } else { serv_printf(" %s", ChrPtr(SubBuf)); } offset += nchars; nchars = StrLength(Pref->Val) - offset; n++; } } else { serv_printf("%s|%s", ChrPtr(Pref->Key), ChrPtr(Pref->Val)); } } FreeStrBuf(&SubBuf); DeleteHashPos(&HashPos); } /* * save the modifications */ void save_preferences(void) { folder Room; wcsession *WCC = WC; int Done = 0; StrBuf *ReadBuf; long msgnum = 0L; ReadBuf = NewStrBuf(); memset(&Room, 0, sizeof(folder)); if (goto_config_room(ReadBuf, &Room) != 0) { FreeStrBuf(&ReadBuf); FlushFolder(&Room); return; /* oh well. */ } /* make shure the config room has the right type, else it might reject our config */ if (Room.view != VIEW_BBS) { serv_printf("VIEW %d", VIEW_BBS); StrBuf_ServGetln(ReadBuf); if (GetServerStatus(ReadBuf, NULL) != 2) { /* UPS? */ } else if (goto_config_room(ReadBuf, &Room) != 0) { FreeStrBuf(&ReadBuf); FlushFolder(&Room); return; /* oh well. */ } } serv_puts("MSGS ALL|0|1"); StrBuf_ServGetln(ReadBuf); if (GetServerStatus(ReadBuf, NULL) == 8) { serv_puts("subj|__ WebCit Preferences __"); serv_puts("000"); } while (!Done && (StrBuf_ServGetln(ReadBuf) >= 0)) { if ( (StrLength(ReadBuf)==3) && !strcmp(ChrPtr(ReadBuf), "000")) { Done = 1; break; } msgnum = StrTol(ReadBuf); } if (msgnum > 0L) { serv_printf("DELE %ld", msgnum); StrBuf_ServGetln(ReadBuf); GetServerStatus(ReadBuf, NULL); } serv_printf("ENT0 1||0|1|__ WebCit Preferences __|"); StrBuf_ServGetln(ReadBuf); if (GetServerStatus(ReadBuf, NULL) == 4) { WritePrefsToServer(WCC->hash_prefs); serv_puts(""); serv_puts("000"); } /** Go back to the room we're supposed to be in */ if (StrLength(WCC->CurRoom.name) > 0) { serv_printf("GOTO %s", ChrPtr(WCC->CurRoom.name)); StrBuf_ServGetln(ReadBuf); GetServerStatus(ReadBuf, NULL); } FreeStrBuf(&ReadBuf); FlushFolder(&Room); } /* * query the actual setting of key in the citadel database * * key config key to query * keylen length of the key string * value StrBuf-value to the key to get * returns: found? */ int get_pref_backend(const char *key, size_t keylen, Preference **Pref) { void *hash_value = NULL; #ifdef DBG_PREFS_HASH dbg_PrintHash(WC->hash_prefs, PrintPref, NULL); #endif if (GetHash(WC->hash_prefs, key, keylen, &hash_value) == 0) { *Pref = NULL; return 0; } else { *Pref = (Preference*) hash_value; return 1; } } int get_PREFERENCE(const char *key, size_t keylen, StrBuf **value) { Preference *Pref; int Ret; Ret = get_pref_backend(key, keylen, &Pref); if (Ret != 0) *value = Pref->Val; else *value = NULL; return Ret; } /* * Write a key into the webcit preferences database for this user * * key key whichs value is to be modified * keylen length of the key string * value value to set * save_to_server 1 = flush all data to the server, 0 = cache it for now */ long compare_preference(const Preference *PrefA, const Preference *PrefB) { ePrefType TypeA, TypeB; if (PrefA->Type != NULL) { TypeA = PrefA->Type->eType; } else { TypeA = PrefA->eFlatPrefType; } if (PrefB->Type != NULL) { TypeB = PrefB->Type->eType; } else { TypeB = PrefB->eFlatPrefType; } if ( (TypeA != PRF_UNSET) && (TypeB != PRF_UNSET) && (TypeA != TypeB) ) { if (TypeA > TypeB) { return 1; } else { /* (PrefA->Type < PrefB->Type) */ return -1; } } if (TypeB == PRF_UNSET) { TypeA = PRF_UNSET; } switch (TypeA) { default: case PRF_UNSET: case PRF_STRING: return strcmp(ChrPtr(PrefA->Val), ChrPtr(PrefB->Val)); case PRF_YESNO: case PRF_INT: if (PrefA->lval == PrefB->lval) return 0; else if (PrefA->lval > PrefB->lval) return 1; else return -1; case PRF_QP_STRING: return strcmp(ChrPtr(PrefA->DeQPed), ChrPtr(PrefB->DeQPed)); } } /* * Write a key into the webcit preferences database for this user * * key key which value is to be modified * keylen length of the key string * value value to set * save_to_server 1 = flush all data to the server, 0 = cache it for now */ void set_preference_backend(const char *key, size_t keylen, long lvalue, StrBuf *value, long lPrefType, int save_to_server, PrefDef *PrefType) { wcsession *WCC = WC; void *vPrefDef; void *vPrefB; Preference *Pref; Pref = (Preference*) malloc(sizeof(Preference)); memset(Pref, 0, sizeof(Preference)); Pref->Key = NewStrBufPlain(key, keylen); if ((PrefType == NULL) && GetHash(PreferenceHooks, SKEY(Pref->Key), &vPrefDef) && (vPrefDef != NULL)) PrefType = (PrefDef*) vPrefDef; if (PrefType != NULL) { Pref->Type = PrefType; Pref->eFlatPrefType = PrefType->eType; if (Pref->Type->eType != lPrefType) syslog(LOG_WARNING, "warning: saving preference with wrong type [%s] %d != %ld \n", key, Pref->Type->eType, lPrefType); switch (Pref->Type->eType) { case PRF_UNSET: /* default to string... */ case PRF_STRING: Pref->Val = value; Pref->decoded = 1; break; case PRF_INT: Pref->lval = lvalue; Pref->Val = value; if (Pref->Val == NULL) Pref->Val = NewStrBufPlain(NULL, 64); StrBufPrintf(Pref->Val, "%ld", lvalue); Pref->decoded = 1; break; case PRF_QP_STRING: Pref->DeQPed = value; Pref->Val = NewStrBufPlain(NULL, StrLength(Pref->DeQPed) * 3); StrBufEUid_escapize(Pref->Val, Pref->DeQPed); Pref->decoded = 1; break; case PRF_YESNO: Pref->lval = lvalue; if (lvalue) Pref->Val = NewStrBufPlain(HKEY("yes")); else Pref->Val = NewStrBufPlain(HKEY("no")); Pref->decoded = 1; break; } if (Pref->Type->OnLoad != NULL) Pref->Type->OnLoad(Pref->Val, Pref->lval); } else { Pref->eFlatPrefType = lPrefType; switch (lPrefType) { case PRF_STRING: Pref->Val = value; Pref->decoded = 1; break; case PRF_INT: Pref->lval = lvalue; Pref->Val = value; if (Pref->Val == NULL) Pref->Val = NewStrBufPlain(NULL, 64); StrBufPrintf(Pref->Val, "%ld", lvalue); Pref->decoded = 1; break; case PRF_QP_STRING: Pref->DeQPed = value; Pref->Val = NewStrBufPlain(NULL, StrLength(Pref->DeQPed) * 3); StrBufEUid_escapize(Pref->Val, Pref->DeQPed); Pref->decoded = 1; break; case PRF_YESNO: Pref->lval = lvalue; if (lvalue) Pref->Val = NewStrBufPlain(HKEY("yes")); else Pref->Val = NewStrBufPlain(HKEY("no")); Pref->decoded = 1; break; } } if ((save_to_server != 0) && GetHash(WCC->hash_prefs, key, keylen, &vPrefB) && (vPrefB != NULL) && (compare_preference (Pref, vPrefB) == 0)) save_to_server = 0; Put(WCC->hash_prefs, key, keylen, Pref, DestroyPreference); if (save_to_server) WCC->SavePrefsToServer = 1; } void set_PREFERENCE(const char *key, size_t keylen, StrBuf *value, int save_to_server) { set_preference_backend(key, keylen, 0, value, PRF_STRING, save_to_server, NULL); } int get_PREF_LONG(const char *key, size_t keylen, long *value, long Default) { Preference *Pref; int Ret; Ret = get_pref_backend(key, keylen, &Pref); if (Ret == 0) { *value = Default; return 0; } if (Pref->decoded) *value = Pref->lval; else { *value = Pref->lval = atol(ChrPtr(Pref->Val)); Pref->decoded = 1; } return Ret; } void set_PREF_LONG(const char *key, size_t keylen, long value, int save_to_server) { set_preference_backend(key, keylen, value, NULL, PRF_INT, save_to_server, NULL); } int get_PREF_YESNO(const char *key, size_t keylen, int *value, int Default) { Preference *Pref; int Ret; Ret = get_pref_backend(key, keylen, &Pref); if (Ret == 0) { *value = Default; return 0; } if (Pref->decoded) *value = Pref->lval; else { *value = Pref->lval = strcmp(ChrPtr(Pref->Val), "yes") == 0; Pref->decoded = 1; } return Ret; } void set_PREF_YESNO(const char *key, size_t keylen, long value, int save_to_server) { set_preference_backend(key, keylen, value, NULL, PRF_YESNO, save_to_server, NULL); } int get_room_prefs_backend(const char *key, size_t keylen, Preference **Pref) { StrBuf *pref_name; int Ret; pref_name = NewStrBufPlain (HKEY("ROOM:")); StrBufAppendBuf(pref_name, WC->CurRoom.name, 0); StrBufAppendBufPlain(pref_name, HKEY(":"), 0); StrBufAppendBufPlain(pref_name, key, keylen, 0); Ret = get_pref_backend(SKEY(pref_name), Pref); FreeStrBuf(&pref_name); return Ret; } const StrBuf *get_X_PREFS(const char *key, size_t keylen, const char *xkey, size_t xkeylen) { int ret; StrBuf *pref_name; Preference *Prf; pref_name = NewStrBufPlain (HKEY("XPREF:")); StrBufAppendBufPlain(pref_name, xkey, xkeylen, 0); StrBufAppendBufPlain(pref_name, HKEY(":"), 0); StrBufAppendBufPlain(pref_name, key, keylen, 0); ret = get_pref_backend(SKEY(pref_name), &Prf); FreeStrBuf(&pref_name); if (ret) return Prf->Val; else return NULL; } void set_X_PREFS(const char *key, size_t keylen, const char *xkey, size_t xkeylen, StrBuf *value, int save_to_server) { StrBuf *pref_name; pref_name = NewStrBufPlain (HKEY("XPREF:")); StrBufAppendBufPlain(pref_name, xkey, xkeylen, 0); StrBufAppendBufPlain(pref_name, HKEY(":"), 0); StrBufAppendBufPlain(pref_name, key, keylen, 0); set_preference_backend(SKEY(pref_name), 0, value, PRF_STRING, save_to_server, NULL); FreeStrBuf(&pref_name); } long get_ROOM_PREFS_LONG(const char *key, size_t keylen, long *value, long Default) { Preference *Pref; int Ret; Ret = get_room_prefs_backend(key, keylen, &Pref); if (Ret == 0) { *value = Default; return 0; } if (Pref->decoded) *value = Pref->lval; else { *value = Pref->lval = atol(ChrPtr(Pref->Val)); Pref->decoded = 1; } return Ret; } StrBuf *get_ROOM_PREFS(const char *key, size_t keylen) { Preference *Pref; int Ret; Ret = get_room_prefs_backend(key, keylen, &Pref); if (Ret == 0) { return NULL; } else return Pref->Val; } void set_ROOM_PREFS(const char *key, size_t keylen, StrBuf *value, int save_to_server) { StrBuf *pref_name; pref_name = NewStrBufPlain (HKEY("ROOM:")); StrBufAppendBuf(pref_name, WC->CurRoom.name, 0); StrBufAppendBufPlain(pref_name, HKEY(":"), 0); StrBufAppendBufPlain(pref_name, key, keylen, 0); set_preference_backend(SKEY(pref_name), 0, value, PRF_STRING, save_to_server, NULL); FreeStrBuf(&pref_name); } void GetPreferences(HashList *Setting) { wcsession *WCC = WC; HashPos *It; long len; const char *Key; void *vSetting; PrefDef *PrefType; StrBuf *Buf; long lval; HashList *Tmp; Tmp = WCC->hash_prefs; WCC->hash_prefs = Setting; It = GetNewHashPos(PreferenceHooks, 0); while (GetNextHashPos(PreferenceHooks, It, &len, &Key, &vSetting)) { PrefType = (PrefDef*) vSetting; if (!HaveBstr(SKEY(PrefType->Setting))) continue; switch (PrefType->eType) { case PRF_UNSET: case PRF_STRING: Buf = NewStrBufDup(SBstr(SKEY(PrefType->Setting))); set_preference_backend(SKEY(PrefType->Setting), 0, Buf, PRF_STRING, 1, PrefType); break; case PRF_INT: lval = LBstr(SKEY(PrefType->Setting)); set_preference_backend(SKEY(PrefType->Setting), lval, NULL, PRF_INT, 1, PrefType); break; case PRF_QP_STRING: Buf = NewStrBufDup(SBstr(SKEY(PrefType->Setting))); set_preference_backend(SKEY(PrefType->Setting), 0, Buf, PRF_QP_STRING, 1, PrefType); break; case PRF_YESNO: lval = YesBstr(SKEY(PrefType->Setting)); set_preference_backend(SKEY(PrefType->Setting), lval, NULL, PRF_YESNO, 1, PrefType); break; } } WCC->hash_prefs = Tmp; DeleteHashPos(&It); } /* * Commit new preferences and settings */ void set_preferences(void) { if (!havebstr("change_button")) { AppendImportantMessage(_("Cancelled. No settings were changed."), -1); display_main_menu(); return; } GetPreferences(WC->hash_prefs); display_main_menu(); } void tmplput_CFG_Value(StrBuf *Target, WCTemplputParams *TP) { Preference *Pref; if (get_pref_backend(TKEY(0), &Pref)) { if (Pref->Type == NULL) { StrBufAppendTemplate(Target, TP, Pref->Val, 1); } switch (Pref->Type->eType) { case PRF_UNSET: /* default to string... */ case PRF_STRING: StrBufAppendTemplate(Target, TP, Pref->Val, 1); break; case PRF_INT: if (Pref->decoded != 1) { if (Pref->Val == NULL) Pref->Val = NewStrBufPlain(NULL, 64); StrBufPrintf(Pref->Val, "%ld", Pref->lval); Pref->decoded = 1; } StrBufAppendTemplate(Target, TP, Pref->Val, 1); break; case PRF_QP_STRING: if (Pref->decoded != 1) { if (Pref->DeQPed == NULL) Pref->DeQPed = NewStrBufPlain(NULL, StrLength(Pref->Val)); StrBufEUid_unescapize(Pref->DeQPed, Pref->Val); Pref->decoded = 1; } StrBufAppendTemplate(Target, TP, Pref->DeQPed, 1); break; case PRF_YESNO: if (Pref->decoded != 1) { Pref->lval = strcmp(ChrPtr(Pref->Val), "yes") == 0; Pref->decoded = 1; } StrBufAppendTemplate(Target, TP, Pref->Val, 1); break; } } } void tmplput_CFG_Descr(StrBuf *Target, WCTemplputParams *TP) { const char *SettingStr; SettingStr = PrefGetLocalStr(TKEY(0)); if (SettingStr != NULL) StrBufAppendBufPlain(Target, SettingStr, -1, 0); } void tmplput_CFG_RoomValueLong(StrBuf *Target, WCTemplputParams *TP) { long lvalue; long defval = 0; if (HAVE_PARAM(1)) defval = GetTemplateTokenNumber(Target, TP, 1, 0); get_ROOM_PREFS_LONG(TKEY(0), &lvalue, defval); StrBufAppendPrintf(Target, "%ld", lvalue); } void tmplput_CFG_RoomValue(StrBuf *Target, WCTemplputParams *TP) { StrBuf *pref = get_ROOM_PREFS(TKEY(0)); if (pref != NULL) StrBufAppendBuf(Target, pref, 0); } int ConditionalHasRoomPreference(StrBuf *Target, WCTemplputParams *TP) { if (get_ROOM_PREFS(TP->Tokens->Params[0]->Start, TP->Tokens->Params[0]->len) != NULL) return 1; return 0; } int ConditionalPreference(StrBuf *Target, WCTemplputParams *TP) { StrBuf *Pref; if (!get_PREFERENCE(TKEY(2), &Pref)) return 0; if (!HAVE_PARAM(3)) { return 1; } else if (IS_NUMBER(TP->Tokens->Params[3]->Type)) { return StrTol(Pref) == GetTemplateTokenNumber (Target, TP, 3, 0); } else { const char *pch; long len; GetTemplateTokenString(Target, TP, 3, &pch, &len); return ((len == StrLength(Pref)) && (strcmp(pch, ChrPtr(Pref)) == 0)); } } int ConditionalHasPreference(StrBuf *Target, WCTemplputParams *TP) { StrBuf *Pref; if (!get_PREFERENCE(TKEY(2), &Pref) || (Pref == NULL)) return 0; else return 1; } /******************************************************************************** * preferences stored discrete in citserver ********************************************************************************/ CtxType CTX_VEA = CTX_NONE; typedef struct __ValidEmailAddress { StrBuf *Address; int IsDefault; }ValidEmailAddress; void DeleteValidEmailAddress(void *v) { ValidEmailAddress *VEA = (ValidEmailAddress*)v; FreeStrBuf(&VEA->Address); free(VEA); } void tmplput_VEA(StrBuf *Target, WCTemplputParams *TP) { ValidEmailAddress* VEA = (ValidEmailAddress*) CTX((CTX_VEA)); StrBufAppendTemplate(Target, TP, VEA->Address, 0); } int ConditionalPreferenceIsDefaulVEA(StrBuf *Target, WCTemplputParams *TP) { ValidEmailAddress* VEA = (ValidEmailAddress*) CTX((CTX_VEA)); return VEA->IsDefault; } HashList *GetGVEAHash(StrBuf *Target, WCTemplputParams *TP) { StrBuf *Rcp; HashList *List = NULL; int Done = 0; int i, n = 1; char N[64]; StrBuf *DefaultFrom = NULL; const StrBuf *EnvelopeTo; ValidEmailAddress *VEA; get_preference("defaultfrom", &DefaultFrom); EnvelopeTo = sbstr("nvto"); Rcp = NewStrBuf(); serv_puts("GVEA"); StrBuf_ServGetln(Rcp); if (GetServerStatus(Rcp, NULL) == 1) { FlushStrBuf(Rcp); List = NewHash(1, NULL); while (!Done && (StrBuf_ServGetln(Rcp)>=0)) { if ( (StrLength(Rcp)==3) && !strcmp(ChrPtr(Rcp), "000")) { Done = 1; } else { VEA = (ValidEmailAddress*) malloc(sizeof(ValidEmailAddress)); i = snprintf(N, sizeof(N), "%d", n); StrBufTrim(Rcp); VEA->Address = Rcp; if (StrLength(EnvelopeTo) > 0) VEA->IsDefault = strstr(ChrPtr(EnvelopeTo), ChrPtr(Rcp)) != NULL; else if (StrLength(DefaultFrom) > 0) VEA->IsDefault = !strcmp(ChrPtr(Rcp), ChrPtr(DefaultFrom)); else VEA->IsDefault = 0; Put(List, N, i, VEA, DeleteValidEmailAddress); Rcp = NewStrBuf(); } n++; } } FreeStrBuf(&Rcp); return List; } void DeleteGVEAHash(HashList **KillMe) { DeleteHash(KillMe); } HashList *GetGVSNHash(StrBuf *Target, WCTemplputParams *TP) { StrBuf *Rcp; HashList *List = NULL; int Done = 0; int i, n = 1; char N[64]; Rcp = NewStrBuf(); serv_puts("GVSN"); StrBuf_ServGetln(Rcp); if (GetServerStatus(Rcp, NULL) == 1) { FlushStrBuf(Rcp); List = NewHash(1, NULL); while (!Done && (StrBuf_ServGetln(Rcp)>=0)) { if ( (StrLength(Rcp)==3) && !strcmp(ChrPtr(Rcp), "000")) { Done = 1; } else { i = snprintf(N, sizeof(N), "%d", n); StrBufTrim(Rcp); Put(List, N, i, Rcp, HFreeStrBuf); Rcp = NewStrBuf(); } n++; } } FreeStrBuf(&Rcp); return List; } void DeleteGVSNHash(HashList **KillMe) { DeleteHash(KillMe); } /* * Offer to make any page the user's "start page" (only if logged in) */ void offer_start_page(StrBuf *Target, WCTemplputParams *TP) { if (WC->logged_in) { wc_printf("Hdr->this_page)); wc_printf("\">"); wc_printf(_("Make this my start page")); wc_printf(""); }; } /* * Change the user's start page */ void change_start_page(void) { const char *pch; void *vHandler; int ProhibitSave = 0; const StrBuf *pStartPage = sbstr("startpage"); if (pStartPage != NULL) { pch = strchr(ChrPtr(pStartPage), '?'); if ((pch != NULL) && ( GetHash(HandlerHash, ChrPtr(pStartPage), pch - ChrPtr(pStartPage), &vHandler), (vHandler != NULL) && ((((WebcitHandler*)vHandler)->Flags & PROHIBIT_STARTPAGE) != 0))) { /* OK, This handler doesn't want to be set as start page, prune it. */ ProhibitSave = 1; } } if ((pStartPage == NULL) || (ProhibitSave == 1)) { set_preference_backend(HKEY("startpage"), 0, NewStrBufPlain(HKEY("")), PRF_STRING, 1, NULL); if (ProhibitSave == 1) AppendImportantMessage(_("This isn't allowed to become the start page."), -1); else AppendImportantMessage(_("You no longer have a start page selected."), -1); display_main_menu(); return; } set_preference_backend(HKEY("startpage"), 0, NewStrBufDup(pStartPage), PRF_STRING, 1, NULL); output_headers(1, 1, 0, 0, 0, 0); do_template("newstartpage"); wDumpContent(1); } void LoadStartpage(StrBuf *URL, long lvalue) { const char *pch; void *vHandler; pch = strchr(ChrPtr(URL), '?'); if (pch == NULL) { /* purge the sins of the past... */ pch = strchr(ChrPtr(URL), '&'); if (pch != NULL) { StrBufPeek(URL, pch, -1, '?'); WC->SavePrefsToServer = 1; } } else if (GetHash(HandlerHash, ChrPtr(URL), pch - ChrPtr(URL), &vHandler), (vHandler != NULL) && ((((WebcitHandler*)vHandler)->Flags & PROHIBIT_STARTPAGE) != 0)) { /* OK, This handler doesn't want to be set as start page, prune it. */ FlushStrBuf(URL); WC->SavePrefsToServer = 1; } } void InitModule_PREFERENCES (void) { RegisterCTX(CTX_VEA); WebcitAddUrlHandler(HKEY("set_preferences"), "", 0, set_preferences, 0); WebcitAddUrlHandler(HKEY("change_start_page"), "", 0, change_start_page, 0); RegisterPreference("startpage", _("Prefered startpage"), PRF_STRING, LoadStartpage); RegisterNamespace("OFFERSTARTPAGE", 0, 0, offer_start_page, NULL, CTX_NONE); RegisterNamespace("PREF:ROOM:VALUE", 1, 2, tmplput_CFG_RoomValue, NULL, CTX_NONE); RegisterNamespace("PREF:ROOM:VALUE:INT", 1, 2, tmplput_CFG_RoomValueLong, NULL, CTX_NONE); RegisterNamespace("PREF:VALUE", 1, 2, tmplput_CFG_Value, NULL, CTX_NONE); RegisterNamespace("PREF:DESCR", 1, 1, tmplput_CFG_Descr, NULL, CTX_NONE); RegisterConditional("COND:PREF", 4, ConditionalPreference, CTX_NONE); RegisterConditional("COND:PREF:SET", 4, ConditionalHasPreference, CTX_NONE); RegisterConditional("COND:ROOM:SET", 4, ConditionalHasRoomPreference, CTX_NONE); RegisterIterator("PREF:VALID:EMAIL:ADDR", 0, NULL, GetGVEAHash, NULL, DeleteGVEAHash, CTX_VEA, CTX_NONE, IT_NOFLAG); RegisterNamespace("PREF:VALID:EMAIL:ADDR:STR", 1, 1, tmplput_VEA, NULL, CTX_VEA); RegisterConditional("COND:PREF:VALID:EMAIL:ADDR:STR", 4, ConditionalPreferenceIsDefaulVEA, CTX_VEA); RegisterIterator("PREF:VALID:EMAIL:NAME", 0, NULL, GetGVSNHash, NULL, DeleteGVSNHash, CTX_STRBUF, CTX_NONE, IT_NOFLAG); } void ServerStartModule_PREFERENCES (void) { PreferenceHooks = NewHash(1, NULL); } void ServerShutdownModule_PREFERENCES (void) { DeleteHash(&PreferenceHooks); } void SessionDetachModule__PREFERENCES (wcsession *sess) { if (sess->SavePrefsToServer) { save_preferences(); sess->SavePrefsToServer = 0; } } void SessionNewModule_PREFERENCES (wcsession *sess) { sess->hash_prefs = NewHash(1,NULL); } void SessionDestroyModule_PREFERENCES (wcsession *sess) { DeleteHash(&sess->hash_prefs); } webcit-9.01-dfsg/preferences.h000066400000000000000000000054411254743150300163230ustar00rootroot00000000000000/* * Copyright (c) 1996-2013 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ typedef enum _ePrefType{ PRF_UNSET = 0, PRF_STRING = 1, PRF_INT = 2, PRF_QP_STRING = 3, PRF_YESNO = 4 } ePrefType; typedef void (*PrefEvalFunc)(StrBuf *Preference, long lvalue); void _RegisterPreference(const char *Setting, long SettingLen, const char *PrefStr, ePrefType Type, PrefEvalFunc OnLoad, const char *OnLoadName); #define RegisterPreference(a, b, c, d) _RegisterPreference(a, sizeof(a) -1, b, c, d, #d) void load_preferences(void); void save_preferences(void); #define get_preference(a, b) get_PREFERENCE(a, sizeof(a) - 1, b) #define get_pref(a, b) get_PREFERENCE(SKEY(a), b) int get_PREFERENCE(const char *key, size_t keylen, StrBuf **value); #define set_preference(a, b, c) set_PREFERENCE(a, sizeof(a) - 1, b, c) #define set_pref(a, b, c) set_PREFERENCE(SKEY(a), b, c) void set_PREFERENCE(const char *key, size_t keylen, StrBuf *value, int save_to_server); #define get_pref_long(a, b, c) get_PREF_LONG(a, sizeof(a) - 1, b, c) int get_PREF_LONG(const char *key, size_t keylen, long *value, long Default); #define set_pref_long(a, b, c) set_PREF_LONG(a, sizeof(a) - 1, b, c) void set_PREF_LONG(const char *key, size_t keylen, long value, int save_to_server); #define get_pref_yesno(a, b, c) get_PREF_YESNO(a, sizeof(a) - 1, b, c) int get_PREF_YESNO(const char *key, size_t keylen, int *value, int Default); #define set_pref_yesno(a, b, c) set_PREF_YESNO(a, sizeof(a) - 1, b, c) void set_PREF_YESNO(const char *key, size_t keylen, long value, int save_to_server); #define get_room_pref(a) get_ROOM_PREFS(a, sizeof(a) - 1) StrBuf *get_ROOM_PREFS(const char *key, size_t keylen); #define set_room_pref(a, b, c) set_ROOM_PREFS(a, sizeof(a) - 1, b, c) void set_ROOM_PREFS(const char *key, size_t keylen, StrBuf *value, int save_to_server); #define get_room_pref_long(a, b, c) get_ROOM_PREFS_LONG(a, sizeof(a) - 1, b, c) long get_ROOM_PREFS_LONG(const char *key, size_t keylen, long *value, long Default); #define get_x_pref(a, b) get_ROOM_PREFS(a, sizeof(a) - 1, b, sizeof(b) - 1) const StrBuf *get_X_PREFS(const char *key, size_t keylen, const char *xkey, size_t xkeylen); #define set_x_pref(a, b, c) set_ROOM_PREFS(a, sizeof(a) - 1, b, sizeof(b) - 1, c, d) void set_X_PREFS(const char *key, size_t keylen, const char *xkey, size_t xkeylen, StrBuf *value, int save_to_server); int goto_config_room(StrBuf *Buf, folder *room); webcit-9.01-dfsg/pushemail.c000066400000000000000000000074311254743150300160050ustar00rootroot00000000000000/* * Edits a users push email settings * Author: Mathew McBride */ #include "webcit.h" void display_pushemail(void) { folder Room; int Done = 0; StrBuf *Buf; long vector[8] = {8, 0, 0, 1, 2, 3, 4, 5}; WCTemplputParams SubTP; char mobnum[20]; StackContext(NULL, &SubTP, &vector, CTX_LONGVECTOR, 0, NULL); vector[0] = 16; /* Find any existing settings*/ Buf = NewStrBuf(); memset(&Room, 0, sizeof(folder)); if (goto_config_room(Buf, &Room) == 0) { int msgnum = 0; serv_puts("MSGS ALL|0|1"); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 8) { serv_puts("subj|__ Push email settings __"); serv_puts("000"); while (!Done && StrBuf_ServGetln(Buf) >= 0) { if ( (StrLength(Buf)==3) && !strcmp(ChrPtr(Buf), "000")) { Done = 1; break; } msgnum = StrTol(Buf); } } if (msgnum > 0L) { serv_printf("MSG0 %d", msgnum); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 1) { int i =0; Done = 0; while (!Done && StrBuf_ServGetln(Buf) >= 0) { if (( (StrLength(Buf)==3) && !strcmp(ChrPtr(Buf), "000"))|| ((StrLength(Buf)==4) && !strcmp(ChrPtr(Buf), "text"))) { Done = 1; break; } } if (!strcmp(ChrPtr(Buf), "text")) { Done = 0; while (!Done && StrBuf_ServGetln(Buf) >= 0) { if ( (StrLength(Buf)==3) && !strcmp(ChrPtr(Buf), "000")) { Done = 1; break; } if (strncasecmp(ChrPtr(Buf), "none", 4) == 0) { vector[1] = 0; } else if (strncasecmp(ChrPtr(Buf), "textmessage", 11) == 0) { vector[1] = 1; i++; } else if (strncasecmp(ChrPtr(Buf), "funambol", 8) == 0) { vector[1] = 2; } else if (strncasecmp(ChrPtr(Buf), "httpmessage", 12) == 0) { vector[1] = 3; } else if (i == 1) { strncpy(mobnum, ChrPtr(Buf), 20); i++; } } } } } serv_printf("GOTO %s", ChrPtr(WC->CurRoom.name)); StrBuf_ServGetln(Buf); GetServerStatus(Buf, NULL); } FlushFolder(&Room); output_headers(1, 1, 1, 0, 0, 0); DoTemplate(HKEY("prefs_pushemail"), NULL, &SubTP); wDumpContent(1); UnStackContext(&SubTP); FreeStrBuf(&Buf); } void save_pushemail(void) { folder Room; int Done = 0; StrBuf *Buf; char buf[SIZ]; int msgnum = 0; char *pushsetting = bstr("pushsetting"); char *sms = NULL; if (strncasecmp(pushsetting, "textmessage", 11) == 0) { sms = bstr("user_sms_number"); } Buf = NewStrBuf(); memset(&Room, 0, sizeof(folder)); if (goto_config_room(Buf, &Room) != 0) { FreeStrBuf(&Buf); FlushFolder(&Room); return; /* oh well. */ } FlushFolder(&Room); serv_puts("MSGS ALL|0|1"); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 8) { serv_puts("subj|__ Push email settings __"); serv_puts("000"); } else { printf("Junk in save_pushemail buffer!: %s\n", buf); FreeStrBuf(&Buf); return; } while (!Done && StrBuf_ServGetln(Buf) >= 0) { if ( (StrLength(Buf)==3) && !strcmp(ChrPtr(Buf), "000")) { Done = 1; break; } msgnum = StrTol(Buf); } if (msgnum > 0L) { serv_printf("DELE %d", msgnum); StrBuf_ServGetln(Buf); GetServerStatus(Buf, NULL); } serv_printf("ENT0 1||0|1|__ Push email settings __|"); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 4) { serv_puts(pushsetting); if (sms != NULL) { serv_puts(sms); } serv_puts(""); serv_puts("000"); } /** Go back to the room we're supposed to be in */ serv_printf("GOTO %s", ChrPtr(WC->CurRoom.name)); StrBuf_ServGetln(Buf); GetServerStatus(Buf, NULL); http_redirect("display_pushemail"); FreeStrBuf(&Buf); } void InitModule_PUSHMAIL (void) { WebcitAddUrlHandler(HKEY("display_pushemail"), "", 0, display_pushemail, 0); WebcitAddUrlHandler(HKEY("save_pushemail"), "", 0, save_pushemail, 0); } webcit-9.01-dfsg/roomchat.c000066400000000000000000000070411254743150300156270ustar00rootroot00000000000000/* * This module handles multiuser chat. * * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software; you can redistribute it and/or modify * it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" /* * Display the screen containing multiuser chat for a room. */ void do_chat(void) { char buf[256]; WC->last_chat_seq = 0; WC->last_chat_user[0] = 0; output_headers(1, 1, 1, 0, 0, 0); do_template("roomchat"); serv_puts("RCHT enter"); serv_getln(buf, sizeof buf); wDumpContent(1); } /* * Receiving side of the chat window. * This does JavaScript writes to * other divs whenever it refreshes and finds new data. */ void chat_recv(void) { char buf[SIZ]; char cl_user[SIZ]; serv_printf("RCHT poll|%d", WC->last_chat_seq); serv_getln(buf, sizeof buf); if (buf[0] == '1') { WC->last_chat_seq = extract_int(&buf[4], 0); extract_token(cl_user, &buf[4], 2, '|', sizeof cl_user); /* who is speaking ... */ if (strcasecmp(cl_user, WC->last_chat_user)) { wc_printf("
    \n"); if (!strcasecmp(cl_user, ChrPtr(WC->wc_fullname))) { wc_printf(""); } else { wc_printf(""); } escputs(cl_user); strcpy(WC->last_chat_user, cl_user); wc_printf(": "); } else { wc_printf("   "); } /* what did they say ... */ wc_printf(""); while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) { escputs(buf); } wc_printf("
    \n"); } } /* * This is the sending side of the chat window. The form is designed to transmit asynchronously. */ void chat_send(void) { char send_this[SIZ]; char buf[SIZ]; begin_ajax_response(); if (havebstr("send_this")) { strcpy(send_this, bstr("send_this")); } else { strcpy(send_this, ""); } if (havebstr("exit_button")) { strcpy(send_this, "/quit"); } if (!IsEmptyStr(send_this)) { serv_puts("RCHT send"); serv_getln(buf, sizeof buf); if (buf[0] == '4') { text_to_server(send_this); serv_puts("000"); } } end_ajax_response(); } /* * wholist for chat */ void chat_rwho(void) { char buf[1024]; serv_puts("RCHT rwho"); serv_getln(buf, sizeof buf); if (buf[0] == '1') { while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) { if (!strcasecmp(buf, ChrPtr(WC->wc_fullname))) { wc_printf(""); } else { wc_printf(""); } wc_printf(""); escputs(buf); wc_printf("
    \n"); } } } /* * advise the Citadel server that the user is navigating away from the chat window */ void chat_exit(void) { char buf[1024]; serv_puts("RCHT exit"); serv_getln(buf, sizeof buf); /* Throw away the server reply */ } void InitModule_ROOMCHAT (void) { WebcitAddUrlHandler(HKEY("chat"), "", 0, do_chat, 0); WebcitAddUrlHandler(HKEY("chat_recv"), "", 0, chat_recv, AJAX); WebcitAddUrlHandler(HKEY("chat_rwho"), "", 0, chat_rwho, AJAX); WebcitAddUrlHandler(HKEY("chat_exit"), "", 0, chat_exit, AJAX); WebcitAddUrlHandler(HKEY("chat_send"), "", 0, chat_send, 0); } void SessionDestroyModule_ROOMCHAT (wcsession *sess) { /* nothing here anymore */ } webcit-9.01-dfsg/roomlist.c000066400000000000000000000545251254743150300156740ustar00rootroot00000000000000/* * room listings and filters. */ #include "webcit.h" #include "webserver.h" typedef enum __eRoomParamType { eNotSet, eDomain, eAlias }eRoomParamType; HashList *GetWhoKnowsHash(StrBuf *Target, WCTemplputParams *TP) { StrBuf *Line; StrBuf *Token; long State; HashList *Whok = NULL; int Done = 0; int n = 0; serv_puts("WHOK"); Line = NewStrBuf(); StrBuf_ServGetln(Line); if (GetServerStatus(Line, &State) == 1) { Whok = NewHash(1, Flathash); while(!Done && (StrBuf_ServGetln(Line) >= 0) ) if ( (StrLength(Line)==3) && !strcmp(ChrPtr(Line), "000")) { Done = 1; } else { const char *Pos = NULL; Token = NewStrBufPlain (NULL, StrLength(Line)); StrBufExtract_NextToken(Token, Line, &Pos, '|'); Put(Whok, IKEY(n), Token, HFreeStrBuf); n++; } } else if (State == 550) AppendImportantMessage(_("Higher access is required to access this function."), -1); FreeStrBuf(&Line); return Whok; } void DeleteFloor(void *vFloor) { Floor *pFloor; pFloor = (Floor*) vFloor; FreeStrBuf(&pFloor->Name); free(pFloor); } int SortFloorsByNameOrder(const void *vfloor1, const void *vfloor2) { Floor *f1 = (Floor*) GetSearchPayload(vfloor1); Floor *f2 = (Floor*) GetSearchPayload(vfloor2); /* prefer My floor over alpabetical sort */ if (f1->ID == VIRTUAL_MY_FLOOR) return 1; if (f2->ID == VIRTUAL_MY_FLOOR) return -1; return strcmp(ChrPtr(f1->Name), ChrPtr(f2->Name)); } HashList *GetFloorListHash(StrBuf *Target, WCTemplputParams *TP) { int Done = 0; const char *Err; StrBuf *Buf; HashList *floors; HashList *floorsbyname; HashPos *it; Floor *pFloor; void *vFloor; const char *Pos; int i; wcsession *WCC = WC; const char *HashKey; long HKLen; if (WCC->Floors != NULL) return WCC->Floors; WCC->Floors = floors = NewHash(1, Flathash); WCC->FloorsByName = floorsbyname = NewHash(1, NULL); Buf = NewStrBuf(); pFloor = (Floor*) malloc(sizeof(Floor)); pFloor->ID = VIRTUAL_MY_FLOOR; pFloor->Name = NewStrBufPlain(_("My Folders"), -1); pFloor->NRooms = 0; Put(floors, IKEY(pFloor->ID), pFloor, DeleteFloor); Put(floorsbyname, SKEY(pFloor->Name), pFloor, reference_free_handler); serv_puts("LFLR"); /* get floors */ StrBufTCP_read_line(Buf, &WC->serv_sock, 0, &Err); /* '100', we hope */ if (GetServerStatus(Buf, NULL) == 1) { while(!Done && StrBuf_ServGetln(Buf) >= 0) if ( (StrLength(Buf)==3) && !strcmp(ChrPtr(Buf), "000")) { Done = 1; } else { Pos = NULL; pFloor = (Floor*) malloc(sizeof(Floor)); pFloor->ID = StrBufExtractNext_int(Buf, &Pos, '|'); pFloor->Name = NewStrBufPlain(NULL, StrLength(Buf)); StrBufExtract_NextToken(pFloor->Name, Buf, &Pos, '|'); pFloor->NRooms = StrBufExtractNext_long(Buf, &Pos, '|'); Put(floors, IKEY(pFloor->ID), pFloor, DeleteFloor); Put(floorsbyname, SKEY(pFloor->Name), pFloor, reference_free_handler); } } FreeStrBuf(&Buf); /* now lets pre-sort them alphabeticaly. */ i = 1; SortByPayload(floors, SortFloorsByNameOrder); it = GetNewHashPos(floors, 0); while ( GetNextHashPos(floors, it, &HKLen, &HashKey, &vFloor)) ((Floor*) vFloor)->AlphaN = i++; DeleteHashPos(&it); SortByHashKeyStr(floors); return floors; } HashList *GetZappedRoomListHash(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if (WCC->Floors == NULL) GetFloorListHash(Target, TP); serv_puts("LZRM -1"); return GetRoomListHash(Target, TP); } HashList *GetRoomListHashLKRA(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if (WCC->Floors == NULL) GetFloorListHash(Target, TP); if (WCC->Rooms == NULL) { serv_puts("LKRA"); WCC->Rooms = GetRoomListHash(Target, TP); } return WCC->Rooms; } HashList *GetRoomListHashLPRM(StrBuf *Target, WCTemplputParams *TP) { serv_puts("LPRM"); return GetRoomListHash(Target, TP); } void FlushIgnetCfgs(folder *room) { int i; if (room->IgnetCfgs[maxRoomNetCfg] == (HashList*) StrBufNOTNULL) { for (i = ignet_push_share; i < maxRoomNetCfg; i++) DeleteHash(&room->IgnetCfgs[i]); } memset(&room->IgnetCfgs, 0, sizeof(HashList *) * (maxRoomNetCfg + 1)); room->RoomAlias = NULL; } void FlushFolder(folder *room) { int i; FreeStrBuf(&room->XAPass); FreeStrBuf(&room->Directory); FreeStrBuf(&room->RoomAide); FreeStrBuf(&room->XInfoText); room->XHaveInfoTextLoaded = 0; FreeStrBuf(&room->name); FlushIgnetCfgs(room); if (room->RoomNameParts != NULL) { for (i=0; i < room->nRoomNameParts; i++) FreeStrBuf(&room->RoomNameParts[i]); free(room->RoomNameParts); } memset(room, 0, sizeof(folder)); } void vDeleteFolder(void *vFolder) { folder *room; room = (folder*) vFolder; FlushFolder(room); free(room); } HashList *GetRoomListHash(StrBuf *Target, WCTemplputParams *TP) { int Done = 0; HashList *rooms; folder *room; StrBuf *Buf; const char *Pos; void *vFloor; wcsession *WCC = WC; CompareFunc SortIt; WCTemplputParams SubTP; Buf = NewStrBuf(); rooms = NewHash(1, NULL); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 1) { while(!Done && (StrBuf_ServGetln(Buf) >= 0)) if ( (StrLength(Buf)==3) && !strcmp(ChrPtr(Buf), "000")) { Done = 1; } else { Pos = NULL; room = (folder*) malloc (sizeof(folder)); memset(room, 0, sizeof(folder)); /* Load the base data from the server reply */ room->name = NewStrBufPlain(NULL, StrLength(Buf)); StrBufExtract_NextToken(room->name, Buf, &Pos, '|'); room->QRFlags = StrBufExtractNext_long(Buf, &Pos, '|'); room->floorid = StrBufExtractNext_int(Buf, &Pos, '|'); room->Order = StrBufExtractNext_long(Buf, &Pos, '|'); room->QRFlags2 = StrBufExtractNext_long(Buf, &Pos, '|'); room->RAFlags = StrBufExtractNext_long(Buf, &Pos, '|'); /* ACWHUT? room->ACL = NewStrBufPlain(NULL, StrLength(Buf)); StrBufExtract_NextToken(room->ACL, Buf, &Pos, '|'); */ room->view = StrBufExtractNext_long(Buf, &Pos, '|'); room->defview = StrBufExtractNext_long(Buf, &Pos, '|'); room->lastchange = StrBufExtractNext_long(Buf, &Pos, '|'); /* Evaluate the Server sent data for later use */ /* find out, whether we are in a sub-room */ room->nRoomNameParts = StrBufNum_tokens(room->name, '\\'); if (room->nRoomNameParts > 1) { int i; Pos = NULL; room->RoomNameParts = malloc(sizeof(StrBuf*) * (room->nRoomNameParts + 1)); memset(room->RoomNameParts, 0, sizeof(StrBuf*) * (room->nRoomNameParts + 1)); for (i=0; i < room->nRoomNameParts; i++) { room->RoomNameParts[i] = NewStrBuf(); StrBufExtract_NextToken(room->RoomNameParts[i], room->name, &Pos, '\\'); } } /* Private mailboxes on the main floor get remapped to the personal folder */ if ((room->QRFlags & QR_MAILBOX) && (room->floorid == 0)) { room->floorid = VIRTUAL_MY_FLOOR; if ((room->nRoomNameParts == 1) && (StrLength(room->name) == 4) && (strcmp(ChrPtr(room->name), "Mail") == 0)) { room->is_inbox = 1; } } /* get a pointer to the floor we're on: */ GetHash(WCC->Floors, IKEY(room->floorid), &vFloor); room->Floor = (const Floor*) vFloor; /* now we know everything, remember it... */ Put(rooms, SKEY(room->name), room, vDeleteFolder); } } SubTP.Filter.ContextType = CTX_ROOMS; SortIt = RetrieveSort(&SubTP, NULL, 0, HKEY("fileunsorted"), 0); if (SortIt != NULL) SortByPayload(rooms, SortIt); else SortByPayload(rooms, SortRoomsByListOrder); FreeStrBuf(&Buf); return rooms; } HashList *GetThisRoomMAlias(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; StrBuf *Line; StrBuf *Token; HashList *Aliases = NULL; const char *pComma; long aliaslen; long locallen; long State; serv_puts("GNET "FILE_MAILALIAS); Line = NewStrBuf(); StrBuf_ServGetln(Line); if (GetServerStatus(Line, &State) == 1) { int Done = 0; int n = 0; Aliases = NewHash(1, NULL); while(!Done && (StrBuf_ServGetln(Line) >= 0)) if ( (StrLength(Line)==3) && !strcmp(ChrPtr(Line), "000")) { Done = 1; } else { pComma = strchr(ChrPtr(Line), ','); if (pComma == NULL) continue; aliaslen = pComma - ChrPtr(Line); locallen = StrLength(Line) - 1 - aliaslen; if (locallen - 5 != StrLength(WCC->CurRoom.name)) continue; if (strncmp(pComma + 1, "room_", 5) != 0) continue; if (strcasecmp(pComma + 6, ChrPtr(WCC->CurRoom.name)) != 0) continue; Token = NewStrBufPlain(ChrPtr(Line), aliaslen); Put(Aliases, IKEY(n), Token, HFreeStrBuf); n++; } } else if (State == 550) AppendImportantMessage(_("Higher access is required to access this function."), -1); FreeStrBuf(&Line); return Aliases; } void AppendPossibleAliasWithDomain( HashList *PossibleAliases, long *nPossibleAliases, const HashList *Domains, const char *prefix, long len, const char* Alias, long AliasLen) { const StrBuf *OneDomain; StrBuf *Line; HashPos *It = NULL; const char *Key; long KLen; void *pV; int n; It = GetNewHashPos(Domains, 1); n = *nPossibleAliases; while (GetNextHashPos(Domains, It, &KLen, &Key, &pV)) { OneDomain = (const StrBuf*) pV; Line = NewStrBuf(); StrBufAppendBufPlain(Line, prefix, len, 0); StrBufAppendBufPlain(Line, Alias, AliasLen, 0); StrBufAppendBufPlain(Line, HKEY("@"), 0); StrBufAppendBuf(Line, OneDomain, 0); Put(PossibleAliases, IKEY(n), Line, HFreeStrBuf); n++; } DeleteHashPos(&It); *nPossibleAliases = n; } HashList *GetThisRoomPossibleMAlias(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; HashList *Domains; StrBuf *Line; StrBuf *Token; StrBuf *RoomName; HashList *PossibleAliases = NULL; const char *pComma; const char *pAt; long aliaslen; long locallen; long State; long n = 0; Domains = GetValidDomainNames(Target, TP); if (Domains == NULL) return NULL; if (GetCount(Domains) == 0) { DeleteHash(Domains); return NULL; } PossibleAliases = NewHash(1, NULL); Line = NewStrBuf(); RoomName = NewStrBufDup(WCC->CurRoom.name); StrBufAsciify(RoomName, '_'); StrBufReplaceChars(RoomName, ' ', '_'); AppendPossibleAliasWithDomain(PossibleAliases, &n, Domains, HKEY("room_"), SKEY(RoomName)); serv_puts("GNET "FILE_MAILALIAS); StrBuf_ServGetln(Line); if (GetServerStatus(Line, &State) == 1) { int Done = 0; while(!Done && (StrBuf_ServGetln(Line) >= 0)) if ( (StrLength(Line)==3) && !strcmp(ChrPtr(Line), "000")) { Done = 1; } else { pComma = strchr(ChrPtr(Line), ','); if (pComma == NULL) continue; aliaslen = pComma - ChrPtr(Line); locallen = StrLength(Line) - 1 - aliaslen; if (locallen - 5 != StrLength(WCC->CurRoom.name)) continue; if (strncmp(pComma + 1, "room_", 5) != 0) continue; if (strcasecmp(pComma + 6, ChrPtr(WCC->CurRoom.name)) != 0) continue; pAt = strchr(ChrPtr(Line), '@'); if ((pAt == NULL) || (pAt > pComma)) { AppendPossibleAliasWithDomain(PossibleAliases, &n, Domains, HKEY(""), ChrPtr(Line), aliaslen); n++; } else { Token = NewStrBufPlain(ChrPtr(Line), aliaslen); Put(PossibleAliases, IKEY(n), Token, HFreeStrBuf); n++; } } } else if (State == 550) AppendImportantMessage(_("Higher access is required to access this function."), -1); DeleteHash(&Domains); FreeStrBuf(&Line); FreeStrBuf(&RoomName); return PossibleAliases; } HashList *GetNetConfigHash(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; StrBuf *Line; StrBuf *Token; StrBuf *Content; long WantThisOne; long PutTo; long State; WantThisOne = GetTemplateTokenNumber(Target, TP, 5, -1); if ((WantThisOne < 0) || (WantThisOne > maxRoomNetCfg)) return NULL; if (WCC->CurRoom.IgnetCfgs[maxRoomNetCfg] == (HashList*) StrBufNOTNULL) return WCC->CurRoom.IgnetCfgs[WantThisOne]; WCC->CurRoom.IgnetCfgs[maxRoomNetCfg] = (HashList*) StrBufNOTNULL; serv_puts("GNET"); Line = NewStrBuf(); Token = NewStrBuf(); StrBuf_ServGetln(Line); if (GetServerStatus(Line, &State) == 1) { const char *Pos = NULL; int Done = 0; int HaveRoomMailAlias = 0; while(!Done && (StrBuf_ServGetln(Line) >= 0)) { if (StrLength(Line) == 0) continue; if ( (StrLength(Line)==3) && !strcmp(ChrPtr(Line), "000")) { Done = 1; } else { StrBufExtract_NextToken(Token, Line, &Pos, '|'); PutTo = GetTokenDefine(SKEY(Token), -1); if (PutTo == roommailalias) { if (HaveRoomMailAlias > 0) continue; /* Only ONE alias possible! */ HaveRoomMailAlias++; } if ((PutTo >= 0) && (PutTo < maxRoomNetCfg) && (Pos != StrBufNOTNULL)) { int n; HashList *SubH; if (WCC->CurRoom.IgnetCfgs[PutTo] == NULL) { n = 0; WCC->CurRoom.IgnetCfgs[PutTo] = NewHash(1, NULL); } else { n = GetCount(WCC->CurRoom.IgnetCfgs[PutTo]); } SubH = NewHash(1, NULL); Put(WCC->CurRoom.IgnetCfgs[PutTo], IKEY(n), SubH, HDeleteHash); n = 1; /* #0 is the type... */ while (Pos != StrBufNOTNULL) { Content = NewStrBuf(); StrBufExtract_NextToken(Content, Line, &Pos, '|'); if ((PutTo == roommailalias) && n == 1) WCC->CurRoom.RoomAlias = Content; Put(SubH, IKEY(n), Content, HFreeStrBuf); n++; } } Pos = NULL; } } } else if (State == 550) AppendImportantMessage(_("Higher access is required to access this function."), -1); FreeStrBuf(&Line); FreeStrBuf(&Token); return WCC->CurRoom.IgnetCfgs[WantThisOne]; } /** Unused function that orders rooms by the listorder flag */ int SortRoomsByListOrder(const void *room1, const void *room2) { folder *r1 = (folder*) GetSearchPayload(room1); folder *r2 = (folder*) GetSearchPayload(room2); if (r1->Order == r2->Order) return 0; if (r1->Order > r2->Order) return 1; return -1; } int CompareRoomListByFloorRoomPrivFirst(const void *room1, const void *room2) { folder *r1 = (folder*) GetSearchPayload(room1); folder *r2 = (folder*) GetSearchPayload(room2); if ((r1->Floor == NULL) || (r2->Floor == NULL)) return 0; /** * are we on the same floor? else sort by floor. */ if (r1->Floor != r2->Floor) { /** * the private rooms are first in any case. */ if (r1->Floor->ID == VIRTUAL_MY_FLOOR) return -1; if (r2->Floor->ID == VIRTUAL_MY_FLOOR) return 1; /** * else decide alpaheticaly by floorname */ return (r1->Floor->AlphaN > r2->Floor->AlphaN)? 1 : -1; } /** * if we have different levels of subdirectories, * we want the toplevel to be first, regardless of sort * sequence. */ if (((r1->nRoomNameParts > 1) || (r2->nRoomNameParts > 1) )&& (r1->nRoomNameParts != r2->nRoomNameParts)) { int i, ret; int nparts = (r1->nRoomNameParts > r2->nRoomNameParts)? r2->nRoomNameParts : r1->nRoomNameParts; for (i=0; i < nparts; i++) { ret = strcmp (ChrPtr(r1->name), ChrPtr(r2->name)); /** * Deltas in common parts? exit here. */ if (ret != 0) return ret; } /** * who's a subdirectory of whom? */ if (r1->nRoomNameParts > r2->nRoomNameParts) return 1; else return -1; } /** * else just sort alphabeticaly. */ return strcmp (ChrPtr(r1->name), ChrPtr(r2->name)); } int CompareRoomListByFloorRoomPrivFirstRev(const void *room1, const void *room2) { folder *r1 = (folder*) GetSearchPayload(room1); folder *r2 = (folder*) GetSearchPayload(room2); if ((r1->Floor == NULL) || (r2->Floor == NULL)) return 0; /** * are we on the same floor? else sort by floor. */ if (r2->Floor != r1->Floor) { /** * the private rooms are first in any case. */ if (r1->Floor->ID == VIRTUAL_MY_FLOOR) return -1; if (r2->Floor->ID == VIRTUAL_MY_FLOOR) return 1; /** * else decide alpaheticaly by floorname */ return (r1->Floor->AlphaN < r2->Floor->AlphaN)? 1 : -1; } /** * if we have different levels of subdirectories, * we want the toplevel to be first, regardless of sort * sequence. */ if (((r1->nRoomNameParts > 1) || (r2->nRoomNameParts > 1) )&& (r1->nRoomNameParts != r2->nRoomNameParts)) { int i, ret; int nparts = (r1->nRoomNameParts > r2->nRoomNameParts)? r2->nRoomNameParts : r1->nRoomNameParts; for (i=0; i < nparts; i++) { /** * special cases if one room is top-level... */ if (r2->nRoomNameParts == 1) ret = strcmp (ChrPtr(r2->name), ChrPtr(r1->RoomNameParts[i])); else if (r1->nRoomNameParts == 1) ret = strcmp (ChrPtr(r2->RoomNameParts[i]), ChrPtr(r1->name)); else ret = strcmp (ChrPtr(r2->RoomNameParts[i]), ChrPtr(r1->RoomNameParts[i])); /** * Deltas in common parts? exit here. */ if (ret != 0) return ret; } /** * who's a subdirectory of whom? */ if (r1->nRoomNameParts > r2->nRoomNameParts) return 1; else return -1; } return strcmp (ChrPtr(r2->name), ChrPtr(r1->name)); } int GroupchangeRoomListByFloorRoomPrivFirst(const void *room1, const void *room2) { folder *r1 = (folder*) room1; folder *r2 = (folder*) room2; if ((r1->Floor == NULL) || (r2->Floor == NULL)) return 0; if (r1->Floor == r2->Floor) return 0; else { wcsession *WCC = WC; static int columns = 3; int boxes_per_column = 0; int nf; nf = GetCount(WCC->Floors); while (nf % columns != 0) ++nf; boxes_per_column = (nf / columns); if (boxes_per_column < 1) boxes_per_column = 1; if (r1->Floor->AlphaN % boxes_per_column == 0) return 2; else return 1; } } int CompareRooms(const folder *room1, const folder *room2) { if ((room1 == NULL) || (room2 == NULL)) return -1; return CompareRoomListByFloorRoomPrivFirst(room1, room2); } int ConditionalThisRoomIsStrBufContextAlias(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; const char *pVal; long len; eRoomParamType ParamType; ParamType = GetTemplateTokenNumber(Target, TP, 2, eNotSet); GetTemplateTokenString(Target, TP, 3, &pVal, &len); if (ParamType == eNotSet) { return StrLength(WCC->CurRoom.RoomAlias) == 0; } else if (ParamType == eDomain) { const StrBuf *CtxStr = (const StrBuf*) CTX(CTX_STRBUF); const char *pAt; if (CtxStr == NULL) return 0; if (StrLength(WCC->CurRoom.RoomAlias) == 0) return 0; if (strncmp(ChrPtr(WCC->CurRoom.RoomAlias), "room_", 5) != 0) return 0; pAt = strchr(ChrPtr(WCC->CurRoom.RoomAlias), '@'); if (pAt == NULL) return 0; return strcmp(pAt + 1, ChrPtr(CtxStr)) == 0; } else if (ParamType == eAlias) { const StrBuf *CtxStr = (const StrBuf*) CTX(CTX_STRBUF); if (CtxStr == NULL) return 0; if (StrLength(WCC->CurRoom.RoomAlias) == 0) return 0; return strcmp(ChrPtr(WCC->CurRoom.RoomAlias), ChrPtr(CtxStr)) == 0; } else { LogTemplateError(Target, "TokenParameter", 2, TP, "Invalid paramtype; need one of [eNotSet|eDomain|eAlias]"); return 0; } } int ConditionalRoomIsRESTSubRoom(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; folder *Folder = (folder *)CTX(CTX_ROOMS); HashPos *it; StrBuf * Dir; void *vDir; long len; const char *Key; int i, j, urlp; int delta; /* list only folders relative to the current floor... */ if (Folder->Floor != WCC->CurrentFloor) return 0; urlp = GetCount(WCC->Directory); delta = Folder->nRoomNameParts - urlp + 1; syslog(LOG_DEBUG, "\n->%s: %d - %ld ", ChrPtr(Folder->name), urlp, Folder->nRoomNameParts); /* list only the floors which are in relation to the dav_depth header */ if (WCC->Hdr->HR.dav_depth != delta) { syslog(LOG_DEBUG, "1\n"); return 0; } it = GetNewHashPos(WCC->Directory, 0); /* Fast forward the floorname we checked above... */ GetNextHashPos(WCC->Directory, it, &len, &Key, &vDir); if (Folder->nRoomNameParts > 1) { for (i = 0, j = 1; (i > Folder->nRoomNameParts) && (j > urlp); i++, j++) { if (!GetNextHashPos(WCC->Directory, it, &len, &Key, &vDir) || (vDir == NULL)) { DeleteHashPos(&it); syslog(LOG_DEBUG, "3\n"); return 0; } Dir = (StrBuf*) vDir; if (strcmp(ChrPtr(Folder->RoomNameParts[i]), ChrPtr(Dir)) != 0) { DeleteHashPos(&it); syslog(LOG_DEBUG, "4\n"); return 0; } } DeleteHashPos(&it); return 1; } else { if (!GetNextHashPos(WCC->Directory, it, &len, &Key, &vDir) || (vDir == NULL)) { DeleteHashPos(&it); syslog(LOG_DEBUG, "5\n"); return WCC->Hdr->HR.dav_depth == 1; } DeleteHashPos(&it); Dir = (StrBuf*) vDir; if (WCC->Hdr->HR.dav_depth == 0) { return (strcmp(ChrPtr(Folder->name), ChrPtr(Dir)) == 0); } return 0; } } void InitModule_ROOMLIST (void) { /* we duplicate this, just to be shure its already done. */ RegisterCTX(CTX_ROOMS); RegisterCTX(CTX_FLOORS); RegisterIterator("ITERATE:THISROOM:WHO_KNOWS", 0, NULL, GetWhoKnowsHash, NULL, DeleteHash, CTX_STRBUF, CTX_NONE, IT_NOFLAG); RegisterIterator("ITERATE:THISROOM:GNET", 1, NULL, GetNetConfigHash, NULL, NULL, CTX_STRBUFARR, CTX_NONE, IT_NOFLAG); RegisterIterator("ITERATE:THISROOM:MALIAS", 1, NULL, GetThisRoomMAlias, NULL, DeleteHash, CTX_STRBUF, CTX_NONE, IT_NOFLAG); RegisterIterator("ITERATE:THISROOM:POSSIBLE:MALIAS", 1, NULL, GetThisRoomPossibleMAlias, NULL, DeleteHash, CTX_STRBUF, CTX_NONE, IT_NOFLAG); RegisterIterator("LFLR", 0, NULL, GetFloorListHash, NULL, NULL, CTX_FLOORS, CTX_NONE, IT_FLAG_DETECT_GROUPCHANGE); RegisterIterator("LKRA", 0, NULL, GetRoomListHashLKRA, NULL, NULL, CTX_ROOMS, CTX_NONE, IT_FLAG_DETECT_GROUPCHANGE); RegisterIterator("LZRM", 0, NULL, GetZappedRoomListHash, NULL, DeleteHash, CTX_ROOMS, CTX_NONE, IT_FLAG_DETECT_GROUPCHANGE); RegisterIterator("LPRM", 0, NULL, GetRoomListHashLPRM, NULL, DeleteHash, CTX_ROOMS, CTX_NONE, IT_FLAG_DETECT_GROUPCHANGE); REGISTERTokenParamDefine(eNotSet); REGISTERTokenParamDefine(eDomain); REGISTERTokenParamDefine(eAlias); RegisterConditional("COND:ROOM:REST:ISSUBROOM", 0, ConditionalRoomIsRESTSubRoom, CTX_ROOMS); RegisterConditional("COND:THISROOM:ISALIAS:CONTEXTSTR", 0, ConditionalThisRoomIsStrBufContextAlias, CTX_NONE); RegisterSortFunc(HKEY("byfloorroom"), NULL, 0, CompareRoomListByFloorRoomPrivFirst, CompareRoomListByFloorRoomPrivFirstRev, GroupchangeRoomListByFloorRoomPrivFirst, CTX_ROOMS); } webcit-9.01-dfsg/roomops.c000066400000000000000000001021151254743150300155070ustar00rootroot00000000000000/* * Lots of different room-related operations. * * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" ConstStr QRFlagList[] = { {HKEY(strof(QR_PERMANENT))}, {HKEY(strof(QR_INUSE))}, {HKEY(strof(QR_PRIVATE))}, {HKEY(strof(QR_PASSWORDED))}, {HKEY(strof(QR_GUESSNAME))}, {HKEY(strof(QR_DIRECTORY))}, {HKEY(strof(QR_UPLOAD))}, {HKEY(strof(QR_DOWNLOAD))}, {HKEY(strof(QR_VISDIR))}, {HKEY(strof(QR_ANONONLY))}, {HKEY(strof(QR_ANONOPT))}, {HKEY(strof(QR_NETWORK))}, {HKEY(strof(QR_PREFONLY))}, {HKEY(strof(QR_READONLY))}, {HKEY(strof(QR_MAILBOX))} }; ConstStr QR2FlagList[] = { {HKEY(strof(QR2_SYSTEM))}, {HKEY(strof(QR2_SELFLIST))}, {HKEY(strof(QR2_COLLABDEL))}, {HKEY(strof(QR2_SUBJECTREQ))}, {HKEY(strof(QR2_SMTP_PUBLIC))}, {HKEY(strof(QR2_MODERATED))}, {HKEY("")}, {HKEY("")}, {HKEY("")}, {HKEY("")}, {HKEY("")}, {HKEY("")}, {HKEY("")}, {HKEY("")}, {HKEY("")} }; void _DBG_QR(long QR) { int i = 1; int j=0; StrBuf *QRVec; QRVec = NewStrBufPlain(NULL, 256); while (i != 0) { if ((QR & i) != 0) { if (StrLength(QRVec) > 0) StrBufAppendBufPlain(QRVec, HKEY(" | "), 0); StrBufAppendBufPlain(QRVec, CKEY(QRFlagList[j]), 0); } i = i << 1; j++; } syslog(LOG_DEBUG, "DBG: QR-Vec [%ld] [%s]\n", QR, ChrPtr(QRVec)); FreeStrBuf(&QRVec); } void _DBG_QR2(long QR2) { int i = 1; int j=0; StrBuf *QR2Vec; QR2Vec = NewStrBufPlain(NULL, 256); while (i != 0) { if ((QR2 & i) != 0) { if (StrLength(QR2Vec) > 0) StrBufAppendBufPlain(QR2Vec, HKEY(" | "), 0); StrBufAppendBufPlain(QR2Vec, CKEY(QR2FlagList[j]), 0); } i = i << 1; j++; } syslog(LOG_DEBUG, "DBG: QR2-Vec [%ld] [%s]\n", QR2, ChrPtr(QR2Vec)); FreeStrBuf(&QR2Vec); } /******************************************************************************* ***************************** Goto Commands *********************************** ******************************************************************************/ void dotskip(void) { smart_goto(sbstr("room")); } void dotgoto(void) { if (!havebstr("room")) { readloop(readnew, eUseDefault); return; } if (WC->CurRoom.view != VIEW_MAILBOX) { /* dotgoto acts like dotskip when we're in a mailbox view */ slrp_highest(); } smart_goto(sbstr("room")); } /* * goto next room */ void smart_goto(const StrBuf *next_room) { if (gotoroom(next_room) / 100 == 2) readloop(readnew, eUseDefault); else do_404(); } /* * goto a private room */ void goto_private(void) { char hold_rm[SIZ]; StrBuf *Buf; const StrBuf *gr_name; long err; if (!havebstr("ok_button")) { display_main_menu(); return; } gr_name = sbstr("gr_name"); Buf = NewStrBuf(); strcpy(hold_rm, ChrPtr(WC->CurRoom.name)); serv_printf("GOTO %s|%s", ChrPtr(gr_name), bstr("gr_pass")); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, &err) == 2) { FlushRoomlist(); smart_goto(gr_name); FreeStrBuf(&Buf); return; } if (err == 540) { DoTemplate(HKEY("room_display_private"), NULL, &NoCtx); FreeStrBuf(&Buf); return; } StrBufCutLeft(Buf, 4); AppendImportantMessage (SKEY(Buf)); Buf = NewStrBufPlain(HKEY("_BASEROOM_")); smart_goto(Buf); FreeStrBuf(&Buf); return; } /* * back end routine to take the session to a new room */ long gotoroom(const StrBuf *gname) { wcsession *WCC = WC; StrBuf *Buf; static long ls = (-1L); long err = 0; int room_name_supplied = 0; int is_baseroom = 0; int failvisibly; /* on fail, should we fallback to _BASEROOM_? */ failvisibly = ibstr("failvisibly"); /* store ungoto information */ if (StrLength(gname) > 0) { room_name_supplied = 1; } if (room_name_supplied) { strcpy(WCC->ugname, ChrPtr(WCC->CurRoom.name)); if (!strcasecmp(ChrPtr(gname), "_BASEROOM_")) { is_baseroom = 1; } } WCC->uglsn = ls; Buf = NewStrBuf(); /* move to the new room */ if (room_name_supplied) { serv_printf("GOTO %s", ChrPtr(gname)); } else { /* or just refresh the current state... */ serv_printf("GOTO 00000000000000000000"); } StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, &err) != 2) { if (failvisibly) { FreeStrBuf(&Buf); return err; } serv_puts("GOTO _BASEROOM_"); StrBuf_ServGetln(Buf); /* * well, we know that this is the fallback case, * but we're interested that the first command * didn't work out in first place. */ if (GetServerStatus(Buf, NULL) != 2) { FreeStrBuf(&Buf); return err; } } FlushFolder(&WCC->CurRoom); ParseGoto(&WCC->CurRoom, Buf); if (room_name_supplied) { remove_march(WCC->CurRoom.name); if (is_baseroom) { remove_march(gname); } } FreeStrBuf(&Buf); return err; } void ParseGoto(folder *room, StrBuf *Line) { wcsession *WCC = WC; const char *Pos; int flag; void *vFloor = NULL; StrBuf *pBuf; if (StrLength(Line) < 4) { return; } /* ignore the commandstate... */ Pos = ChrPtr(Line) + 4; if (room->RoomNameParts != NULL) { int i; for (i=0; i < room->nRoomNameParts; i++) FreeStrBuf(&room->RoomNameParts[i]); free(room->RoomNameParts); room->RoomNameParts = NULL; } pBuf = room->name; if (pBuf == NULL) pBuf = NewStrBufPlain(NULL, StrLength(Line)); else FlushStrBuf(pBuf); memset(room, 0, sizeof(folder)); room->name = pBuf; StrBufExtract_NextToken(room->name, Line, &Pos, '|'); room->nNewMessages = StrBufExtractNext_long(Line, &Pos, '|'); if (room->nNewMessages > 0) room->RAFlags |= UA_HASNEWMSGS; room->nTotalMessages = StrBufExtractNext_long(Line, &Pos, '|'); room->ShowInfo = StrBufExtractNext_long(Line, &Pos, '|'); room->QRFlags = StrBufExtractNext_long(Line, &Pos, '|'); DBG_QR(room->QRFlags); room->HighestRead = StrBufExtractNext_long(Line, &Pos, '|'); room->LastMessageRead = StrBufExtractNext_long(Line, &Pos, '|'); room->is_inbox = StrBufExtractNext_long(Line, &Pos, '|'); flag = StrBufExtractNext_long(Line, &Pos, '|'); if (WCC->is_aide || flag) { room->RAFlags |= UA_ADMINALLOWED; } room->UsersNewMAilboxMessages = StrBufExtractNext_long(Line, &Pos, '|'); room->floorid = StrBufExtractNext_int(Line, &Pos, '|'); room->view = StrBufExtractNext_long(Line, &Pos, '|'); room->defview = StrBufExtractNext_long(Line, &Pos, '|'); flag = StrBufExtractNext_long(Line, &Pos, '|'); if (flag) room->RAFlags |= UA_ISTRASH; room->QRFlags2 = StrBufExtractNext_long(Line, &Pos, '|'); DBG_QR2(room->QRFlags2); /* find out, whether we are in a sub-room */ room->nRoomNameParts = StrBufNum_tokens(room->name, '\\'); if (room->nRoomNameParts > 1) { int i; Pos = NULL; room->RoomNameParts = malloc(sizeof(StrBuf*) * (room->nRoomNameParts + 1)); memset(room->RoomNameParts, 0, sizeof(StrBuf*) * (room->nRoomNameParts + 1)); for (i=0; i < room->nRoomNameParts; i++) { room->RoomNameParts[i] = NewStrBuf(); StrBufExtract_NextToken(room->RoomNameParts[i], room->name, &Pos, '\\'); } } /* Private mailboxes on the main floor get remapped to the personal folder */ if ((room->QRFlags & QR_MAILBOX) && (room->floorid == 0)) { room->floorid = VIRTUAL_MY_FLOOR; if ((room->nRoomNameParts == 1) && (StrLength(room->name) == 4) && (strcmp(ChrPtr(room->name), "Mail") == 0)) { room->is_inbox = 1; } } /* get a pointer to the floor we're on: */ if (WCC->Floors == NULL) GetFloorListHash(NULL, NULL); GetHash(WCC->Floors, IKEY(room->floorid), &vFloor); room->Floor = (const Floor*) vFloor; } /* * Delete the current room */ void delete_room(void) { StrBuf *Line = NewStrBuf(); const StrBuf *GoBstr; GoBstr = sbstr("go"); if (GoBstr != NULL) { if (gotoroom(GoBstr) == 200) { serv_puts("KILL 1"); StrBuf_ServGetln(Line); if (GetServerStatusMsg(Line, NULL, 1, 2) == 2) { StrBuf *Buf; FlushRoomlist (); Buf = NewStrBufPlain(HKEY("_BASEROOM_")); smart_goto(Buf); FreeStrBuf(&Buf); FreeStrBuf(&Line); return; } } } display_main_menu(); FreeStrBuf(&Line); } /* * zap a room */ void zap(void) { char buf[SIZ]; StrBuf *final_destination; /** * If the forget-room routine fails for any reason, we fall back * to the current room; otherwise, we go to the Lobby */ final_destination = NewStrBufDup(WC->CurRoom.name); if (havebstr("ok_button")) { serv_printf("GOTO %s", ChrPtr(WC->CurRoom.name)); serv_getln(buf, sizeof buf); if (buf[0] == '2') { serv_puts("FORG"); serv_getln(buf, sizeof buf); if (buf[0] == '2') { FlushStrBuf(final_destination); StrBufAppendBufPlain(final_destination, HKEY("_BASEROOM_"), 0); } } FlushRoomlist (); } smart_goto(final_destination); FreeStrBuf(&final_destination); } /* * mark all messages in current room as having been read */ void slrp_highest(void) { char buf[256]; serv_puts("SLRP HIGHEST"); serv_getln(buf, sizeof buf); } /******************************************************************************* ***************************** Modify Rooms ************************************ ******************************************************************************/ void LoadRoomAide(void) { wcsession *WCC = WC; StrBuf *Buf; if (WCC->CurRoom.RoomAideLoaded) return; WCC->CurRoom.RoomAideLoaded = 1; Buf = NewStrBuf(); serv_puts("GETA"); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) != 2) { FlushStrBuf(WCC->CurRoom.RoomAide); AppendImportantMessage (ChrPtr(Buf) + 4, StrLength(Buf) - 4); } else { const char *Pos; Pos = ChrPtr(Buf) + 4; FreeStrBuf(&WCC->CurRoom.RoomAide); WCC->CurRoom.RoomAide = NewStrBufPlain (NULL, StrLength (Buf)); StrBufExtract_NextToken(WCC->CurRoom.RoomAide, Buf, &Pos, '|'); } FreeStrBuf (&Buf); } int SaveRoomAide(folder *Room) { StrBuf *Buf; Buf = NewStrBuf (); serv_printf("SETA %s", ChrPtr(Room->RoomAide)); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) != 2) { StrBufCutLeft(Buf, 4); AppendImportantMessage (SKEY(Buf)); FreeStrBuf(&Buf); return 0; } FreeStrBuf(&Buf); return 1; } int GetCurrentRoomFlags(folder *Room, int CareForStatusMessage) { StrBuf *Buf; Buf = NewStrBuf(); serv_puts("GETR"); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) != 2) { FlushStrBuf(Room->XAPass); FlushStrBuf(Room->Directory); StrBufCutLeft(Buf, 4); if (CareForStatusMessage) AppendImportantMessage (SKEY(Buf)); FreeStrBuf(&Buf); Room->XALoaded = 2; return 0; } else { const char *Pos; Pos = ChrPtr(Buf) + 4; FreeStrBuf(&Room->XAPass); FreeStrBuf(&Room->Directory); Room->XAPass = NewStrBufPlain (NULL, StrLength (Buf)); Room->Directory = NewStrBufPlain (NULL, StrLength (Buf)); FreeStrBuf(&Room->name); Room->name = NewStrBufPlain(NULL, StrLength(Buf)); StrBufExtract_NextToken(Room->name, Buf, &Pos, '|'); StrBufExtract_NextToken(Room->XAPass, Buf, &Pos, '|'); StrBufExtract_NextToken(Room->Directory, Buf, &Pos, '|'); Room->QRFlags = StrBufExtractNext_long(Buf, &Pos, '|'); Room->floorid = StrBufExtractNext_long(Buf, &Pos, '|'); Room->Order = StrBufExtractNext_long(Buf, &Pos, '|'); Room->defview = StrBufExtractNext_long(Buf, &Pos, '|'); Room->QRFlags2 = StrBufExtractNext_long(Buf, &Pos, '|'); FreeStrBuf (&Buf); Room->XALoaded = 1; return 1; } } int SetCurrentRoomFlags(folder *Room) { StrBuf *Buf; Buf = NewStrBuf(); DBG_QR(Room->QRFlags); DBG_QR2(Room->QRFlags2); serv_printf("SETR %s|%s|%s|%ld|%d|%d|%ld|%ld|%ld", ChrPtr(Room->name), ChrPtr(Room->XAPass), ChrPtr(Room->Directory), Room->QRFlags, Room->BumpUsers, Room->floorid, Room->Order, Room->defview, Room->QRFlags2); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) != 2) { StrBufCutLeft(Buf, 4); AppendImportantMessage (SKEY(Buf)); FreeStrBuf(&Buf); return 0; } else { FreeStrBuf(&Buf); return 1; } } void LoadRoomXA (void) { wcsession *WCC = WC; if (WCC->CurRoom.XALoaded > 0) return; GetCurrentRoomFlags(&WCC->CurRoom, 0); } void LoadXRoomPic(void) { wcsession *WCC = WC; StrBuf *Buf; if (WCC->CurRoom.XHaveRoomPicLoaded) return; WCC->CurRoom.XHaveRoomPicLoaded = 1; Buf = NewStrBuf(); serv_puts("OIMG _roompic_"); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) != 2) { WCC->CurRoom.XHaveRoomPic = 0; } else { WCC->CurRoom.XHaveRoomPic = 1; } serv_puts("CLOS"); StrBuf_ServGetln(Buf); GetServerStatus(Buf, NULL); FreeStrBuf (&Buf); } void LoadXRoomInfoText(void) { wcsession *WCC = WC; StrBuf *Buf; int Done = 0; if (WCC->CurRoom.XHaveInfoTextLoaded) { return; } WCC->CurRoom.XHaveInfoTextLoaded = 1; Buf = NewStrBuf(); serv_puts("RINF"); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 1) { WCC->CurRoom.XInfoText = NewStrBuf (); while (!Done && StrBuf_ServGetln(Buf)>=0) { if ( (StrLength(Buf)==3) && !strcmp(ChrPtr(Buf), "000")) Done = 1; else StrBufAppendBuf(WCC->CurRoom.XInfoText, Buf, 0); } } FreeStrBuf(&Buf); } void LoadXRoomXCountFiles(void) { wcsession *WCC = WC; StrBuf *Buf; int Done = 0; if (WCC->CurRoom.XHaveDownloadCount) return; WCC->CurRoom.XHaveDownloadCount = 1; Buf = NewStrBuf(); serv_puts("RDIR"); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 1) { while (!Done && StrBuf_ServGetln(Buf)>=0) { if ( (StrLength(Buf)==3) && !strcmp(ChrPtr(Buf), "000")) Done = 1; else WCC->CurRoom.XDownloadCount++; } } FreeStrBuf (&Buf); } /* * Toggle self-service list subscription */ void toggle_self_service(void) { wcsession *WCC = WC; if (GetCurrentRoomFlags (&WCC->CurRoom, 1) == 0) return; if (yesbstr("QR2_SelfList")) WCC->CurRoom.QRFlags2 = WCC->CurRoom.QRFlags2 | QR2_SELFLIST; else WCC->CurRoom.QRFlags2 = WCC->CurRoom.QRFlags2 & ~QR2_SELFLIST; if (yesbstr("QR2_SMTP_PUBLIC")) WCC->CurRoom.QRFlags2 = WCC->CurRoom.QRFlags2 | QR2_SMTP_PUBLIC; else WCC->CurRoom.QRFlags2 = WCC->CurRoom.QRFlags2 & ~QR2_SMTP_PUBLIC; if (yesbstr("QR2_Moderated")) WCC->CurRoom.QRFlags2 = WCC->CurRoom.QRFlags2 | QR2_MODERATED; else WCC->CurRoom.QRFlags2 = WCC->CurRoom.QRFlags2 & ~QR2_MODERATED; if (yesbstr("QR2_SubsOnly")) WCC->CurRoom.QRFlags2 = WCC->CurRoom.QRFlags2 | QR2_SMTP_PUBLIC; else WCC->CurRoom.QRFlags2 = WCC->CurRoom.QRFlags2 & ~QR2_SMTP_PUBLIC; SetCurrentRoomFlags (&WCC->CurRoom); output_headers(1, 1, 1, 0, 0, 0); do_template("room_edit"); wDumpContent(1); } /* * save new parameters for a room */ void editroom(void) { wcsession *WCC = WC; const StrBuf *Ptr; const StrBuf *er_name; const StrBuf *er_password; const StrBuf *er_dirname; const StrBuf *er_roomaide; int succ1, succ2; if (!havebstr("ok_button")) { AppendImportantMessage(_("Cancelled. Changes were not saved."), -1); output_headers(1, 1, 1, 0, 0, 0); do_template("room_edit"); wDumpContent(1); return; } if (GetCurrentRoomFlags (&WCC->CurRoom, 1) == 0) { output_headers(1, 1, 1, 0, 0, 0); do_template("room_edit"); wDumpContent(1); return; } LoadRoomAide(); WCC->CurRoom.QRFlags &= !(QR_PRIVATE | QR_PASSWORDED | QR_GUESSNAME); Ptr = sbstr("type"); if (!strcmp(ChrPtr(Ptr), "invonly")) { WCC->CurRoom.QRFlags |= (QR_PRIVATE); } if (!strcmp(ChrPtr(Ptr), "hidden")) { WCC->CurRoom.QRFlags |= (QR_PRIVATE | QR_GUESSNAME); } if (!strcmp(ChrPtr(Ptr), "passworded")) { WCC->CurRoom.QRFlags |= (QR_PRIVATE | QR_PASSWORDED); } if (!strcmp(ChrPtr(Ptr), "personal")) { WCC->CurRoom.QRFlags |= QR_MAILBOX; } else { WCC->CurRoom.QRFlags &= ~QR_MAILBOX; } if (yesbstr("prefonly")) { WCC->CurRoom.QRFlags |= QR_PREFONLY; } else { WCC->CurRoom.QRFlags &= ~QR_PREFONLY; } if (yesbstr("readonly")) { WCC->CurRoom.QRFlags |= QR_READONLY; } else { WCC->CurRoom.QRFlags &= ~QR_READONLY; } if (yesbstr("collabdel")) { WCC->CurRoom.QRFlags2 |= QR2_COLLABDEL; } else { WCC->CurRoom.QRFlags2 &= ~QR2_COLLABDEL; } if (yesbstr("permanent")) { WCC->CurRoom.QRFlags |= QR_PERMANENT; } else { WCC->CurRoom.QRFlags &= ~QR_PERMANENT; } if (yesbstr("subjectreq")) { WCC->CurRoom.QRFlags2 |= QR2_SUBJECTREQ; } else { WCC->CurRoom.QRFlags2 &= ~QR2_SUBJECTREQ; } if (yesbstr("network")) { WCC->CurRoom.QRFlags |= QR_NETWORK; } else { WCC->CurRoom.QRFlags &= ~QR_NETWORK; } if (yesbstr("directory")) { WCC->CurRoom.QRFlags |= QR_DIRECTORY; } else { WCC->CurRoom.QRFlags &= ~QR_DIRECTORY; } if (yesbstr("ulallowed")) { WCC->CurRoom.QRFlags |= QR_UPLOAD; } else { WCC->CurRoom.QRFlags &= ~QR_UPLOAD; } if (yesbstr("dlallowed")) { WCC->CurRoom.QRFlags |= QR_DOWNLOAD; } else { WCC->CurRoom.QRFlags &= ~QR_DOWNLOAD; } if (yesbstr("visdir")) { WCC->CurRoom.QRFlags |= QR_VISDIR; } else { WCC->CurRoom.QRFlags &= ~QR_VISDIR; } Ptr = sbstr("anon"); WCC->CurRoom.QRFlags &= ~(QR_ANONONLY | QR_ANONOPT); if (!strcmp(ChrPtr(Ptr), "anononly")) WCC->CurRoom.QRFlags |= QR_ANONONLY; if (!strcmp(ChrPtr(Ptr), "anon2")) WCC->CurRoom.QRFlags |= QR_ANONOPT; er_name = sbstr("er_name"); er_dirname = sbstr("er_dirname"); er_roomaide = sbstr("er_roomaide"); er_password = sbstr("er_password"); FlushStrBuf(WCC->CurRoom.name); StrBufAppendBuf(WCC->CurRoom.name, er_name, 0); FlushStrBuf(WCC->CurRoom.Directory); StrBufAppendBuf(WCC->CurRoom.Directory, er_dirname, 0); FlushStrBuf(WCC->CurRoom.RoomAide); StrBufAppendBuf(WCC->CurRoom.RoomAide, er_roomaide, 0); FlushStrBuf(WCC->CurRoom.XAPass); StrBufAppendBuf(WCC->CurRoom.XAPass, er_password, 0); WCC->CurRoom.BumpUsers = yesbstr("bump"); WCC->CurRoom.floorid = ibstr("er_floor"); succ1 = SetCurrentRoomFlags(&WCC->CurRoom); succ2 = SaveRoomAide (&WCC->CurRoom); if (succ1 + succ2 == 0) { AppendImportantMessage (_("Your changes have been saved."), -1); } output_headers(1, 1, 1, 0, 0, 0); do_template("room_edit"); wDumpContent(1); return; } /* * Display form for Invite, Kick, and show Who Knows a room */ void do_invt_kick(void) { StrBuf *Buf, *User; const StrBuf *UserNames; int Kick, Invite; wcsession *WCC = WC; if (GetCurrentRoomFlags(&WCC->CurRoom, 1) == 1) { const char *Pos; UserNames = sbstr("username"); Kick = havebstr("kick_button"); Invite = havebstr("invite_button"); User = NewStrBufPlain(NULL, StrLength(UserNames)); Buf = NewStrBuf(); Pos = ChrPtr(UserNames); while (Pos != StrBufNOTNULL) { StrBufExtract_NextToken(User, UserNames, &Pos, ','); StrBufTrim(User); if ((StrLength(User) > 0) && (Kick)) { serv_printf("KICK %s", ChrPtr(User)); if (StrBuf_ServGetln(Buf) < 0) break; if (GetServerStatus(Buf, NULL) != 2) { StrBufCutLeft(Buf, 4); AppendImportantMessage(SKEY(Buf)); } else { StrBufPrintf(Buf, _("User '%s' kicked out of room '%s'."), ChrPtr(User), ChrPtr(WCC->CurRoom.name) ); AppendImportantMessage(SKEY(Buf)); } } else if ((StrLength(User) > 0) && (Invite)) { serv_printf("INVT %s", ChrPtr(User)); if (StrBuf_ServGetln(Buf) < 0) break; if (GetServerStatus(Buf, NULL) != 2) { StrBufCutLeft(Buf, 4); AppendImportantMessage(SKEY(Buf)); } else { StrBufPrintf(Buf, _("User '%s' invited to room '%s'."), ChrPtr(User), ChrPtr(WCC->CurRoom.name) ); AppendImportantMessage(SKEY(Buf)); } } } } output_headers(1, 1, 1, 0, 0, 0); do_template("room_edit"); wDumpContent(1); } /* * Create a new room */ void entroom(void) { StrBuf *Line; const StrBuf *er_name; const StrBuf *er_type; const StrBuf *er_password; int er_floor; int er_num_type; int er_view; wcsession *WCC = WC; if (!havebstr("ok_button")) { AppendImportantMessage(_("Cancelled. No new room was created."), -1); display_main_menu(); return; } er_name = sbstr("er_name"); er_type = sbstr("type"); er_password = sbstr("er_password"); er_floor = ibstr("er_floor"); er_view = ibstr("er_view"); er_num_type = 0; if (!strcmp(ChrPtr(er_type), "hidden")) er_num_type = 1; else if (!strcmp(ChrPtr(er_type), "passworded")) er_num_type = 2; else if (!strcmp(ChrPtr(er_type), "invonly")) er_num_type = 3; else if (!strcmp(ChrPtr(er_type), "personal")) er_num_type = 4; serv_printf("CRE8 1|%s|%d|%s|%d|%d|%d", ChrPtr(er_name), er_num_type, ChrPtr(er_password), er_floor, 0, er_view); Line = NewStrBuf(); StrBuf_ServGetln(Line); if (GetServerStatusMsg(Line, NULL, 1, 2) != 2) { FreeStrBuf(&Line); display_main_menu(); return; } /** TODO: Room created, now update the left hand icon bar for this user */ gotoroom(er_name); serv_printf("VIEW %d", er_view); StrBuf_ServGetln(Line); FreeStrBuf(&Line); /* TODO: should we care about errors? */ WCC->CurRoom.view = er_view; if ( (WCC != NULL) && ( (WCC->CurRoom.RAFlags & UA_ADMINALLOWED) != 0) ) { output_headers(1, 1, 1, 0, 0, 0); do_template("room_edit"); wDumpContent(1); } else { smart_goto(WCC->CurRoom.name); } FreeStrBuf(&Line); } /* * Change the view for this room */ void change_view(void) { int newview; char buf[SIZ]; newview = lbstr("view"); serv_printf("VIEW %d", newview); serv_getln(buf, sizeof buf); WC->CurRoom.view = newview; smart_goto(WC->CurRoom.name); } /* * Set the message expire policy for this room and/or floor */ void set_room_policy(void) { StrBuf *Line; if (!havebstr("ok_button")) { AppendImportantMessage(_("Cancelled. Changes were not saved."), -1); output_headers(1, 1, 1, 0, 0, 0); do_template("room_edit"); wDumpContent(1); return; } Line = NewStrBuf(); serv_printf("SPEX room|%d|%d", ibstr("roompolicy"), ibstr("roomvalue")); StrBuf_ServGetln(Line); GetServerStatusMsg(Line, NULL, 1, 0); if (WC->axlevel >= 6) { serv_printf("SPEX floor|%d|%d", ibstr("floorpolicy"), ibstr("floorvalue")); StrBuf_ServGetln(Line); GetServerStatusMsg(Line, NULL, 1, 0); } FreeStrBuf(&Line); ReloadCurrentRoom(); output_headers(1, 1, 1, 0, 0, 0); do_template("room_edit"); wDumpContent(1); } /* * Perform changes to a room's network configuration */ void netedit(void) { char buf[SIZ]; char line[SIZ]; char cmpa0[SIZ]; char cmpa1[SIZ]; char cmpb0[SIZ]; char cmpb1[SIZ]; int i, num_addrs; StrBuf *Line; StrBuf *TmpBuf; int malias = 0; int malias_set_default = 0; char sepchar = '|'; int Done; line[0] = '\0'; if (havebstr("force_room")) { gotoroom(sbstr("force_room")); } /*/ TODO: do line dynamic! */ if (havebstr("line_pop3host")) { strcpy(line, bstr("prefix")); strcat(line, bstr("line_pop3host")); strcat(line, "|"); strcat(line, bstr("line_pop3user")); strcat(line, "|"); strcat(line, bstr("line_pop3pass")); strcat(line, "|"); strcat(line, ibstr("line_pop3keep") ? "1" : "0" ); strcat(line, "|"); sprintf(&line[strlen(line)],"%ld", lbstr("line_pop3int")); strcat(line, bstr("suffix")); } else if (havebstr("line")) { strcpy(line, bstr("prefix")); strcat(line, bstr("line")); strcat(line, bstr("suffix")); } else if (havebstr("alias")) { const char *domain; domain = bstr("aliasdomain"); if ((domain == NULL) || IsEmptyStr(domain)) { malias_set_default = 1; strcpy(line, bstr("prefix")); strcat(line, bstr("default_aliasdomain")); } else { malias = 1; sepchar = ','; strcat(line, bstr("prefix")); if (!IsEmptyStr(domain)) { strcat(line, "@"); strcat(line, domain); } strcat(line, ","); strcat(line, "room_"); strcat(line, ChrPtr(WC->CurRoom.name)); } } else { output_headers(1, 1, 1, 0, 0, 0); do_template("room_edit"); wDumpContent(1); return; } Line = NewStrBuf(); TmpBuf = NewStrBuf(); if (malias) serv_puts("GNET "FILE_MAILALIAS); else serv_puts("GNET"); StrBuf_ServGetln(Line); if (GetServerStatus(Line, NULL) != 1) { AppendImportantMessage(SRV_STATUS_MSG(Line)); FreeStrBuf(&Line); output_headers(1, 1, 1, 0, 0, 0); do_template("room_edit"); wDumpContent(1); return; } /** This loop works for add *or* remove. Spiffy, eh? */ Done = 0; extract_token(cmpb0, line, 0, sepchar, sizeof cmpb0); extract_token(cmpb1, line, 1, sepchar, sizeof cmpb1); while (!Done && StrBuf_ServGetln(Line)>=0) { if ( (StrLength(Line)==3) && !strcmp(ChrPtr(Line), "000")) { Done = 1; } else { if (StrLength(Line) == 0) continue; if (malias_set_default) { if (strncasecmp(ChrPtr(Line), HKEY("roommailalias|")) != 0) { StrBufAppendBufPlain(Line, HKEY("\n"), 0); StrBufAppendBuf(TmpBuf, Line, 0); } } else { extract_token(cmpa0, ChrPtr(Line), 0, sepchar, sizeof cmpa0); extract_token(cmpa1, ChrPtr(Line), 1, sepchar, sizeof cmpa1); if ( (strcasecmp(cmpa0, cmpb0)) || (strcasecmp(cmpa1, cmpb1)) ) { StrBufAppendBufPlain(Line, HKEY("\n"), 0); StrBufAppendBuf(TmpBuf, Line, 0); } } } } if (malias) serv_puts("SNET "FILE_MAILALIAS); else serv_puts("SNET"); StrBuf_ServGetln(Line); if (GetServerStatus(Line, NULL) != 4) { AppendImportantMessage(SRV_STATUS_MSG(Line)); output_headers(1, 1, 1, 0, 0, 0); do_template("room_edit"); wDumpContent(1); FreeStrBuf(&Line); FreeStrBuf(&TmpBuf); return; } serv_putbuf(TmpBuf); FreeStrBuf(&TmpBuf); if (havebstr("add_button")) { num_addrs = num_tokens(bstr("line"), ','); if (num_addrs < 2) { /* just adding one node or address */ serv_puts(line); } else { /* adding multiple addresses separated by commas */ for (i=0; iCurRoom); FreeStrBuf(&Line); output_headers(1, 1, 1, 0, 0, 0); do_template("room_edit"); wDumpContent(1); } /* * Known rooms list (box style) */ void knrooms(void) { DeleteHash(&WC->Rooms); output_headers(1, 1, 1, 0, 0, 0); do_template("knrooms"); wDumpContent(1); } /******************************************************************************* ********************** FLOOR Coomands ***************************************** ******************************************************************************/ /* * delete the actual floor */ void delete_floor(void) { int floornum; StrBuf *Buf; const char *Err; floornum = ibstr("floornum"); Buf = NewStrBuf(); serv_printf("KFLR %d|1", floornum); StrBufTCP_read_line(Buf, &WC->serv_sock, 0, &Err); if (GetServerStatus(Buf, NULL) == 2) { StrBufPlain(Buf, _("Floor has been deleted."),-1); } else { StrBufCutLeft(Buf, 4); } AppendImportantMessage (SKEY(Buf)); FlushRoomlist(); http_transmit_thing(ChrPtr(do_template("floors")), 0); FreeStrBuf(&Buf); } /* * start creating a new floor */ void create_floor(void) { StrBuf *Buf; const char *Err; Buf = NewStrBuf(); serv_printf("CFLR %s|1", bstr("floorname")); StrBufTCP_read_line(Buf, &WC->serv_sock, 0, &Err); if (GetServerStatus(Buf, NULL) == 2) { StrBufPlain(Buf, _("New floor has been created."),-1); } else { StrBufCutLeft(Buf, 4); } AppendImportantMessage (SKEY(Buf)); FlushRoomlist(); http_transmit_thing(ChrPtr(do_template("floors")), 0); FreeStrBuf(&Buf); } /* * rename this floor */ void rename_floor(void) { StrBuf *Buf; Buf = NewStrBuf(); FlushRoomlist(); serv_printf("EFLR %d|%s", ibstr("floornum"), bstr("floorname")); StrBuf_ServGetln(Buf); StrBufCutLeft(Buf, 4); AppendImportantMessage (SKEY(Buf)); http_transmit_thing(ChrPtr(do_template("floors")), 0); FreeStrBuf(&Buf); } void jsonRoomFlr(void) { /* Send as our own (application/json) content type */ hprintf("HTTP/1.1 200 OK\r\n"); hprintf("Content-type: application/json; charset=utf-8\r\n"); hprintf("Server: %s / %s\r\n", PACKAGE_STRING, ChrPtr(WC->serv_info->serv_software)); hprintf("Connection: close\r\n"); hprintf("Pragma: no-cache\r\nCache-Control: no-store\r\nExpires:-1\r\n"); begin_burst(); DoTemplate(HKEY("json_roomflr"),NULL,&NoCtx); end_burst(); } void _FlushRoomList(wcsession *WCC) { free_march_list(WCC); DeleteHash(&WCC->Floors); DeleteHash(&WCC->Rooms); DeleteHash(&WCC->FloorsByName); FlushFolder(&WCC->CurRoom); } void ReloadCurrentRoom(void) { wcsession *WCC = WC; StrBuf *CurRoom; CurRoom = WCC->CurRoom.name; WCC->CurRoom.name = NULL; _FlushRoomList(WCC); gotoroom(CurRoom); FreeStrBuf(&CurRoom); } void FlushRoomlist(void) { wcsession *WCC = WC; _FlushRoomList(WCC); } void InitModule_ROOMOPS (void) { RegisterPreference("roomlistview", _("Room list view"), PRF_STRING, NULL); RegisterPreference("emptyfloors", _("Show empty floors"), PRF_YESNO, NULL); WebcitAddUrlHandler(HKEY("json_roomflr"), "", 0, jsonRoomFlr, 0); WebcitAddUrlHandler(HKEY("delete_floor"), "", 0, delete_floor, 0); WebcitAddUrlHandler(HKEY("rename_floor"), "", 0, rename_floor, 0); WebcitAddUrlHandler(HKEY("create_floor"), "", 0, create_floor, 0); WebcitAddUrlHandler(HKEY("knrooms"), "", 0, knrooms, ANONYMOUS); WebcitAddUrlHandler(HKEY("dotgoto"), "", 0, dotgoto, NEED_URL); WebcitAddUrlHandler(HKEY("dotskip"), "", 0, dotskip, NEED_URL); WebcitAddUrlHandler(HKEY("goto_private"), "", 0, goto_private, NEED_URL); WebcitAddUrlHandler(HKEY("zap"), "", 0, zap, 0); WebcitAddUrlHandler(HKEY("entroom"), "", 0, entroom, 0); WebcitAddUrlHandler(HKEY("do_invt_kick"), "", 0, do_invt_kick, 0); WebcitAddUrlHandler(HKEY("netedit"), "", 0, netedit, 0); WebcitAddUrlHandler(HKEY("editroom"), "", 0, editroom, 0); WebcitAddUrlHandler(HKEY("delete_room"), "", 0, delete_room, 0); WebcitAddUrlHandler(HKEY("set_room_policy"), "", 0, set_room_policy, 0); WebcitAddUrlHandler(HKEY("changeview"), "", 0, change_view, 0); WebcitAddUrlHandler(HKEY("toggle_self_service"), "", 0, toggle_self_service, 0); REGISTERTokenParamDefine(QR_PERMANENT); REGISTERTokenParamDefine(QR_INUSE); REGISTERTokenParamDefine(QR_PRIVATE); REGISTERTokenParamDefine(QR_PASSWORDED); REGISTERTokenParamDefine(QR_GUESSNAME); REGISTERTokenParamDefine(QR_DIRECTORY); REGISTERTokenParamDefine(QR_UPLOAD); REGISTERTokenParamDefine(QR_DOWNLOAD); REGISTERTokenParamDefine(QR_VISDIR); REGISTERTokenParamDefine(QR_ANONONLY); REGISTERTokenParamDefine(QR_ANONOPT); REGISTERTokenParamDefine(QR_NETWORK); REGISTERTokenParamDefine(QR_PREFONLY); REGISTERTokenParamDefine(QR_READONLY); REGISTERTokenParamDefine(QR_MAILBOX); REGISTERTokenParamDefine(QR2_SYSTEM); REGISTERTokenParamDefine(QR2_SELFLIST); REGISTERTokenParamDefine(QR2_COLLABDEL); REGISTERTokenParamDefine(QR2_SUBJECTREQ); REGISTERTokenParamDefine(QR2_SMTP_PUBLIC); REGISTERTokenParamDefine(QR2_MODERATED); REGISTERTokenParamDefine(UA_KNOWN); REGISTERTokenParamDefine(UA_GOTOALLOWED); REGISTERTokenParamDefine(UA_HASNEWMSGS); REGISTERTokenParamDefine(UA_ZAPPED); REGISTERTokenParamDefine(UA_POSTALLOWED); REGISTERTokenParamDefine(UA_ADMINALLOWED); REGISTERTokenParamDefine(UA_DELETEALLOWED); REGISTERTokenParamDefine(UA_REPLYALLOWED); REGISTERTokenParamDefine(UA_ISTRASH); REGISTERTokenParamDefine(US_NEEDVALID); REGISTERTokenParamDefine(US_PERM); REGISTERTokenParamDefine(US_LASTOLD); REGISTERTokenParamDefine(US_EXPERT); REGISTERTokenParamDefine(US_UNLISTED); REGISTERTokenParamDefine(US_NOPROMPT); REGISTERTokenParamDefine(US_PROMPTCTL); REGISTERTokenParamDefine(US_DISAPPEAR); REGISTERTokenParamDefine(US_REGIS); REGISTERTokenParamDefine(US_PAGINATOR); REGISTERTokenParamDefine(US_INTERNET); REGISTERTokenParamDefine(US_FLOORS); REGISTERTokenParamDefine(US_COLOR); REGISTERTokenParamDefine(US_USER_SET); REGISTERTokenParamDefine(VIEW_BBS); REGISTERTokenParamDefine(VIEW_MAILBOX); REGISTERTokenParamDefine(VIEW_ADDRESSBOOK); REGISTERTokenParamDefine(VIEW_CALENDAR); REGISTERTokenParamDefine(VIEW_TASKS); REGISTERTokenParamDefine(VIEW_NOTES); REGISTERTokenParamDefine(VIEW_WIKI); REGISTERTokenParamDefine(VIEW_CALBRIEF); REGISTERTokenParamDefine(VIEW_JOURNAL); REGISTERTokenParamDefine(VIEW_BLOG); REGISTERTokenParamDefine(VIEW_QUEUE); REGISTERTokenParamDefine(VIEW_WIKIMD); /* GNET types: */ /* server internal, we need to know but ignore them. */ REGISTERTokenParamDefine(subpending); REGISTERTokenParamDefine(unsubpending); REGISTERTokenParamDefine(lastsent); REGISTERTokenParamDefine(ignet_push_share); { /* these are the parts of an IGNET push config */ REGISTERTokenParamDefine(GNET_IGNET_NODE); REGISTERTokenParamDefine(GNET_IGNET_ROOM); } REGISTERTokenParamDefine(listrecp); REGISTERTokenParamDefine(digestrecp); REGISTERTokenParamDefine(pop3client); { /* These are the parts of a pop3 client line... */ REGISTERTokenParamDefine(GNET_POP3_HOST); REGISTERTokenParamDefine(GNET_POP3_USER); REGISTERTokenParamDefine(GNET_POP3_DONT_DELETE_REMOTE); REGISTERTokenParamDefine(GNET_POP3_INTERVAL); } REGISTERTokenParamDefine(rssclient); REGISTERTokenParamDefine(participate); REGISTERTokenParamDefine(roommailalias); } void SessionDestroyModule_ROOMOPS (wcsession *sess) { _FlushRoomList (sess); } webcit-9.01-dfsg/roomops.h000066400000000000000000000112301254743150300155110ustar00rootroot00000000000000/* * Copyright (c) 1996-2013 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #define VIRTUAL_MY_FLOOR -1 /* * This struct holds a list of rooms for "Goto" operations. */ struct march { struct march *next; /* pointer to next in linked list */ char march_name[128]; /* name of room */ int march_floor; /* floor number of room */ int march_order; /* sequence in which we are to visit this room */ }; /* * This struct holds a list of rooms for client display. It is a binary tree. */ struct roomlisting { struct roomlisting *lnext; /* pointer to 'left' tree node */ struct roomlisting *rnext; /* pointer to 'right' tree node */ char rlname[128]; /* name of room */ unsigned rlflags; /* room flags */ int rlfloor; /* the floor it resides on */ int rlorder; /* room listing order */ }; typedef struct _floor { int ID; StrBuf *Name; long NRooms; long AlphaN; } Floor; /* * Data structure for roomlist-to-folderlist conversion */ struct __ofolder { int floor; /* which floor is it on */ char room[SIZ]; /* which roomname ??? */ char name[SIZ]; /* which is its own name??? */ int hasnewmsgs; /* are there unread messages inside */ int is_mailbox; /* is it a mailbox? */ int selectable; /* can we select it ??? */ int view; /* whats its default view? inbox/calendar.... */ int num_rooms; /* If this is a floor, how many rooms does it have */ }; /* * Data structure for roomlist-to-folderlist conversion */ typedef struct _folder { /* Data citserver tells us about the room */ long QRFlags; /* roomflags */ long QRFlags2; /* Bitbucket NO2 */ long RAFlags; int view; /* whats its default view? inbox/calendar.... */ long defview; long lastchange; /* todo... */ /* later evaluated data from the serverdata */ StrBuf *name; /* the full name of the room we're talking about */ long nRoomNameParts; StrBuf **RoomNameParts; int floorid; /* which floor is it on */ const Floor *Floor; /* point to the floor we're on.. */ int hasnewmsgs; /* are there unread messages inside */ int is_inbox; /* is it a mailbox? */ int RoomAideLoaded; StrBuf *RoomAide; /* only available if GNET contains this */ const StrBuf* RoomAlias; /* by what mail will this room send mail? */ /* only available if GETR was run */ int XALoaded; StrBuf *XAPass; StrBuf *Directory; long Order; /* Only available from the GOTO context... */ long nNewMessages; long nTotalMessages; long LastMessageRead; long HighestRead; int ShowInfo; int UsersNewMAilboxMessages; /* should we notify the user about new messages? */ int IsTrash; /* Only available if certain other commands ran */ int XHaveRoomPic; int XHaveRoomPicLoaded; int XHaveInfoTextLoaded; StrBuf *XInfoText; int XHaveDownloadCount; int XDownloadCount; int BumpUsers; /* if SETR set to 1 to make all users who knew this room to forget about it. */ HashList *IgnetCfgs[maxRoomNetCfg + 1]; } folder; HashList *GetFloorListHash(StrBuf *Target, WCTemplputParams *TP); void vDeleteFolder(void *vFolder); void FlushFolder(folder *room); void FlushIgnetCfgs(folder *room); void ParseGoto(folder *proom, StrBuf *Line); void FlushRoomlist(void); /* release our caches, so a deleted / zapped room disapears */ void ReloadCurrentRoom(void); /* Flush cache; reload current state */ HashList *GetFloorListHash(StrBuf *Target, WCTemplputParams *TP); HashList *GetRoomListHash(StrBuf *Target, WCTemplputParams *TP); int SortRoomsByListOrder(const void *room1, const void *room2); void tmplput_roombanner(StrBuf *Target, WCTemplputParams *TP); void LoadRoomAide(void); void LoadRoomXA (void); void LoadXRoomPic(void); void LoadXRoomInfoText(void); void LoadXRoomXCountFiles(void); long gotoroom(const StrBuf *gname); void slrp_highest(void); void remove_march(const StrBuf *aaa); void dotskip(void); void smart_goto(const StrBuf *next_room); void free_march_list(wcsession *wcf); /* * wrapper around usual sort-comparator; private rooms will allways be prefered, -1 if one of them NULL */ int CompareRooms(const folder *room1, const folder *room2); #define REST_TOPLEVEL 0 #define REST_IN_NAMESPACE (1<<0) #define REST_IN_FLOOR (1<<1) #define REST_IN_ROOM (1<<2) #define REST_HAVE_SUB_ROOMS (1<<3) #define REST_GOT_LOCAL_PART (1<<4) #define REST_NONEXIST (1<<5) extern CtxType CTX_ROOMS; extern CtxType CTX_FLOORS; webcit-9.01-dfsg/roomtokens.c000066400000000000000000000433521254743150300162200ustar00rootroot00000000000000/* * Lots of different room-related operations. * * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software; you can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" CtxType CTX_ROOMS = CTX_NONE; CtxType CTX_FLOORS = CTX_NONE; /* * Embed the room banner * * got The information returned from a GOTO server command * navbar_style Determines which navigation buttons to display */ void tmplput_roombanner(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; /* Refresh current room states. Doesn't work? gotoroom(NULL); */ wc_printf("
    \n"); /* The browser needs some information for its own use */ wc_printf("\n", ((WC->CurRoom.RAFlags & UA_ISTRASH) != 0) ); /* * If the user happens to select the "make this my start page" link, * we want it to remember the URL as a "/dotskip" one instead of * a "skip" or "gotonext" or something like that. */ if (WCC->Hdr->this_page == NULL) { WCC->Hdr->this_page = NewStrBuf(); } StrBufPrintf(WCC->Hdr->this_page, "dotskip?room=%s", ChrPtr(WC->CurRoom.name)); do_template("roombanner"); do_template("navbar"); wc_printf("
    \n"); } /******************************************************************************* ********************** FLOOR Tokens ******************************************* *******************************************************************************/ void tmplput_FLOOR_ID(StrBuf *Target, WCTemplputParams *TP) { Floor *myFloor = (Floor *)CTX(CTX_FLOORS); StrBufAppendPrintf(Target, "%d", myFloor->ID); } void tmplput_ROOM_FLOORID(StrBuf *Target, WCTemplputParams *TP) { folder *Folder = (folder *)CTX(CTX_ROOMS); StrBufAppendPrintf(Target, "%d", Folder->floorid); } void tmplput_ROOM_FLOOR_ID(StrBuf *Target, WCTemplputParams *TP) { folder *Folder = (folder *)CTX(CTX_ROOMS); const Floor *pFloor = Folder->Floor; if (pFloor == NULL) return; StrBufAppendPrintf(Target, "%d", pFloor->ID); } void tmplput_ROOM_FLOOR_NAME(StrBuf *Target, WCTemplputParams *TP) { folder *Folder = (folder *)CTX(CTX_ROOMS); const Floor *pFloor = Folder->Floor; if (pFloor == NULL) return; StrBufAppendTemplate(Target, TP, pFloor->Name, 0); } void tmplput_ThisRoomFloorName(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; folder *Folder = &WCC->CurRoom; const Floor *pFloor; if (Folder == NULL) return; pFloor = Folder->Floor; if (pFloor == NULL) return; StrBufAppendTemplate(Target, TP, pFloor->Name, 0); } void tmplput_FLOOR_NAME(StrBuf *Target, WCTemplputParams *TP) { Floor *myFloor = (Floor *)CTX(CTX_FLOORS); StrBufAppendTemplate(Target, TP, myFloor->Name, 0); } void tmplput_FLOOR_NROOMS(StrBuf *Target, WCTemplputParams *TP) { Floor *myFloor = (Floor *)CTX(CTX_FLOORS); StrBufAppendPrintf(Target, "%d", myFloor->NRooms); } void tmplput_ROOM_FLOOR_NROOMS(StrBuf *Target, WCTemplputParams *TP) { folder *Folder = (folder *)CTX(CTX_ROOMS); const Floor *pFloor = Folder->Floor; if (pFloor == NULL) return; StrBufAppendPrintf(Target, "%d", pFloor->NRooms); } int ConditionalFloorHaveNRooms(StrBuf *Target, WCTemplputParams *TP) { Floor *MyFloor = (Floor *)CTX(CTX_FLOORS); int HaveN; HaveN = GetTemplateTokenNumber(Target, TP, 0, 0); return HaveN == MyFloor->NRooms; } int ConditionalFloorIsRESTSubFloor(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; Floor *MyFloor = (Floor *)CTX(CTX_FLOORS); /** if we have dav_depth the client just wants the subfloors */ if ((WCC->Hdr->HR.dav_depth == 1) && (GetCount(WCC->Directory) == 0)) return 1; return WCC->CurrentFloor == MyFloor; } int ConditionalFloorIsSUBROOM(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; Floor *MyFloor = (Floor *)CTX(CTX_FLOORS); return WCC->CurRoom.floorid == MyFloor->ID; } int ConditionalFloorIsVirtual(StrBuf *Target, WCTemplputParams *TP) { Floor *MyFloor = (Floor *)CTX(CTX_FLOORS); return MyFloor->ID == VIRTUAL_MY_FLOOR; } /******************************************************************************* ********************** ROOM Tokens ******************************************** *******************************************************************************/ /**** Name ******/ void tmplput_ThisRoom(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if (WCC != NULL) { StrBufAppendTemplate(Target, TP, WCC->CurRoom.name, 0 ); } } void tmplput_ROOM_NAME(StrBuf *Target, WCTemplputParams *TP) { folder *Folder = (folder *)CTX(CTX_ROOMS); StrBufAppendTemplate(Target, TP, Folder->name, 0); } void tmplput_ROOM_BASENAME(StrBuf *Target, WCTemplputParams *TP) { folder *room = (folder *)CTX(CTX_ROOMS); if (room->nRoomNameParts > 1) StrBufAppendTemplate(Target, TP, room->RoomNameParts[room->nRoomNameParts - 1], 0); else StrBufAppendTemplate(Target, TP, room->name, 0); } void tmplput_ROOM_LEVEL_N_TIMES(StrBuf *Target, WCTemplputParams *TP) { folder *room = (folder *)CTX(CTX_ROOMS); int i; const char *AppendMe; long AppendMeLen; if (room->nRoomNameParts > 1) { GetTemplateTokenString(Target, TP, 0, &AppendMe, &AppendMeLen); for (i = 0; i < room->nRoomNameParts; i++) StrBufAppendBufPlain(Target, AppendMe, AppendMeLen, 0); } } int ConditionalRoomIsInbox(StrBuf *Target, WCTemplputParams *TP) { folder *Folder = (folder *)CTX(CTX_ROOMS); return Folder->is_inbox; } int ConditionalRoomIsType(StrBuf *Target, WCTemplputParams *TP) { folder *Folder = (folder *)CTX(CTX_ROOMS); if (Folder == NULL) return 0; if ((TP->Tokens->nParameters < 3)) { return ((Folder->view < VIEW_BBS) || (Folder->view > VIEW_MAX)); } return Folder->view == GetTemplateTokenNumber(Target, TP, 2, VIEW_BBS); } /****** Properties ******/ int ConditionalRoom_MayEdit(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; LoadRoomXA (); return WCC->CurRoom.XALoaded == 1; } int ConditionalThisRoomHas_QRFlag(StrBuf *Target, WCTemplputParams *TP) { long QR_CheckFlag; wcsession *WCC = WC; QR_CheckFlag = GetTemplateTokenNumber(Target, TP, 2, 0); if (QR_CheckFlag == 0) LogTemplateError(Target, "Conditional", ERR_PARM1, TP, "requires one of the #\"QR*\"- defines or an integer flag 0 is invalid!"); if (WCC == NULL) return 0; if ((TP->Tokens->Params[2]->MaskBy == eOR) || (TP->Tokens->Params[2]->MaskBy == eNO)) return (WCC->CurRoom.QRFlags & QR_CheckFlag) != 0; else return (WCC->CurRoom.QRFlags & QR_CheckFlag) == QR_CheckFlag; } int ConditionalRoomHas_QRFlag(StrBuf *Target, WCTemplputParams *TP) { long QR_CheckFlag; folder *Folder = (folder *)(TP->Context); QR_CheckFlag = GetTemplateTokenNumber(Target, TP, 2, 0); if (QR_CheckFlag == 0) LogTemplateError(Target, "Conditional", ERR_PARM1, TP, "requires one of the #\"QR*\"- defines or an integer flag 0 is invalid!"); if ((TP->Tokens->Params[2]->MaskBy == eOR) || (TP->Tokens->Params[2]->MaskBy == eNO)) return (Folder->QRFlags & QR_CheckFlag) != 0; else return (Folder->QRFlags & QR_CheckFlag) == QR_CheckFlag; } void tmplput_ROOM_QRFLAGS(StrBuf *Target, WCTemplputParams *TP) { folder *Folder = (folder *)CTX(CTX_ROOMS); StrBufAppendPrintf(Target, "%d", Folder->QRFlags); } int ConditionalThisRoomHas_QRFlag2(StrBuf *Target, WCTemplputParams *TP) { long QR2_CheckFlag; wcsession *WCC = WC; QR2_CheckFlag = GetTemplateTokenNumber(Target, TP, 2, 0); if (QR2_CheckFlag == 0) LogTemplateError(Target, "Conditional", ERR_PARM1, TP, "requires one of the #\"QR2*\"- defines or an integer flag 0 is invalid!"); if (WCC == NULL) return 0; if ((TP->Tokens->Params[2]->MaskBy == eOR) || (TP->Tokens->Params[2]->MaskBy == eNO)) return (WCC->CurRoom.QRFlags2 & QR2_CheckFlag) != 0; else return (WCC->CurRoom.QRFlags2 & QR2_CheckFlag) == QR2_CheckFlag; } int ConditionalRoomHas_QRFlag2(StrBuf *Target, WCTemplputParams *TP) { long QR2_CheckFlag; folder *Folder = (folder *)(TP->Context); QR2_CheckFlag = GetTemplateTokenNumber(Target, TP, 2, 0); if (QR2_CheckFlag == 0) LogTemplateError(Target, "Conditional", ERR_PARM1, TP, "requires one of the #\"QR2*\"- defines or an integer flag 0 is invalid!"); return ((Folder->QRFlags2 & QR2_CheckFlag) != 0); } int ConditionalRoomHas_UAFlag(StrBuf *Target, WCTemplputParams *TP) { folder *Folder = (folder *)(TP->Context); long UA_CheckFlag; UA_CheckFlag = GetTemplateTokenNumber(Target, TP, 2, 0); if (UA_CheckFlag == 0) LogTemplateError(Target, "Conditional", ERR_PARM1, TP, "requires one of the #\"UA_*\"- defines or an integer flag 0 is invalid!"); return ((Folder->RAFlags & UA_CheckFlag) != 0); } void tmplput_ROOM_ACL(StrBuf *Target, WCTemplputParams *TP) { folder *Folder = (folder *)CTX(CTX_ROOMS); StrBufAppendPrintf(Target, "%ld", Folder->RAFlags, 0); } void tmplput_ROOM_RAFLAGS(StrBuf *Target, WCTemplputParams *TP) { folder *Folder = (folder *)(TP->Context); StrBufAppendPrintf(Target, "%d", Folder->RAFlags); } void tmplput_ThisRoomAide(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; LoadRoomAide(); StrBufAppendTemplate(Target, TP, WCC->CurRoom.RoomAide, 0); } int ConditionalRoomAide(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; return (WCC != NULL)? ((WCC->CurRoom.RAFlags & UA_ADMINALLOWED) != 0) : 0; } int ConditionalRoomAcessDelete(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; return (WCC == NULL)? 0 : ( ((WCC->CurRoom.RAFlags & UA_ADMINALLOWED) != 0) || (WCC->CurRoom.is_inbox) || (WCC->CurRoom.QRFlags2 & QR2_COLLABDEL) ); } int ConditionalHaveRoomeditRights(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; return ( (WCC != NULL) && (WCC->logged_in) && ( (WCC->axlevel >= 6) || ((WCC->CurRoom.RAFlags & UA_ADMINALLOWED) != 0) || (WCC->CurRoom.is_inbox) ) ); } void tmplput_ThisRoomPass(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; LoadRoomXA(); StrBufAppendTemplate(Target, TP, WCC->CurRoom.XAPass, 0); } void tmplput_ThisRoom_nNewMessages(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; StrBufAppendPrintf(Target, "%d", WCC->CurRoom.nNewMessages); } void tmplput_ThisRoom_nTotalMessages(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; StrBufAppendPrintf(Target, "%d", WCC->CurRoom.nTotalMessages); } void tmplput_ThisRoomOrder(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; LoadRoomXA(); StrBufAppendPrintf(Target, "%d", WCC->CurRoom.Order); } int ConditionalThisRoomOrder(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; long CheckThis; if (WCC == NULL) return 0; LoadRoomXA(); CheckThis = GetTemplateTokenNumber(Target, TP, 2, 0); return CheckThis == WCC->CurRoom.Order; } void tmplput_ROOM_LISTORDER(StrBuf *Target, WCTemplputParams *TP) { folder *Folder = (folder *)CTX(CTX_ROOMS); StrBufAppendPrintf(Target, "%d", Folder->Order); } int ConditionalThisRoomXHavePic(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if (WCC == NULL) return 0; LoadXRoomPic(); return WCC->CurRoom.XHaveRoomPic == 1; } int ConditionalThisRoomXHaveInfoText(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if (WCC == NULL) return 0; LoadXRoomInfoText(); return (StrLength(WCC->CurRoom.XInfoText)>0); } void tmplput_ThisRoomInfoText(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; long nchars = 0; LoadXRoomInfoText(); nchars = GetTemplateTokenNumber(Target, TP, 0, 0); if (!nchars) { /* the whole thing */ StrBufAppendTemplate(Target, TP, WCC->CurRoom.XInfoText, 1); } else { /* only a certain number of characters */ StrBuf *SubBuf; SubBuf = NewStrBufDup(WCC->CurRoom.XInfoText); if (StrLength(SubBuf) > nchars) { StrBuf_Utf8StrCut(SubBuf, nchars); StrBufAppendBufPlain(SubBuf, HKEY("..."), 0); } StrBufAppendTemplate(Target, TP, SubBuf, 1); FreeStrBuf(&SubBuf); } } void tmplput_ROOM_LASTCHANGE(StrBuf *Target, WCTemplputParams *TP) { folder *Folder = (folder *)CTX(CTX_ROOMS); StrBufAppendPrintf(Target, "%d", Folder->lastchange); } void tmplput_ThisRoomDirectory(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; LoadRoomXA(); StrBufAppendTemplate(Target, TP, WCC->CurRoom.Directory, 0); } void tmplput_ThisRoomXNFiles(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; LoadXRoomXCountFiles(); StrBufAppendPrintf(Target, "%d", WCC->CurRoom.XDownloadCount); } void tmplput_ThisRoomX_FileString(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; LoadXRoomXCountFiles(); if (WCC->CurRoom.XDownloadCount == 1) StrBufAppendBufPlain(Target, _("file"), -1, 0); else StrBufAppendBufPlain(Target, _("files"), -1, 0); } int ConditionalIsThisThatRoom(StrBuf *Target, WCTemplputParams *TP) { folder *Folder = (folder *)CTX(CTX_ROOMS); wcsession *WCC = WC; if (WCC == NULL) return 0; return Folder == WCC->ThisRoom; } int ConditionalRoomIsName(StrBuf *Target, WCTemplputParams *TP) { folder *Folder = (folder *)CTX(CTX_ROOMS); const char *CheckRoomName = NULL; long CheckRoomNameLen; GetTemplateTokenString(Target, TP, 3, &CheckRoomName, &CheckRoomNameLen); if (CheckRoomName == NULL) return 0; return strcmp(ChrPtr(Folder->name), CheckRoomName) == 0; } void InitModule_ROOMTOKENS (void) { /* we duplicate this, just to be shure its already done. */ RegisterCTX(CTX_ROOMS); RegisterCTX(CTX_FLOORS); RegisterNamespace("ROOMBANNER", 0, 1, tmplput_roombanner, NULL, CTX_NONE); RegisterNamespace("FLOOR:ID", 0, 0, tmplput_FLOOR_ID, NULL, CTX_FLOORS); RegisterNamespace("ROOM:INFO:FLOORID", 0, 1, tmplput_ROOM_FLOORID, NULL, CTX_ROOMS); RegisterNamespace("ROOM:INFO:FLOOR:ID", 0, 0, tmplput_ROOM_FLOOR_ID, NULL, CTX_ROOMS); RegisterNamespace("FLOOR:NAME", 0, 1, tmplput_FLOOR_NAME, NULL, CTX_FLOORS); RegisterNamespace("ROOM:INFO:FLOOR:NAME", 0, 1, tmplput_ROOM_FLOOR_NAME, NULL, CTX_ROOMS); RegisterNamespace("THISROOM:FLOOR:NAME", 0, 1, tmplput_ThisRoomFloorName, NULL, CTX_NONE); RegisterNamespace("FLOOR:NROOMS", 0, 0, tmplput_FLOOR_NROOMS, NULL, CTX_FLOORS); RegisterNamespace("ROOM:INFO:FLOOR:NROOMS", 0, 0, tmplput_ROOM_FLOOR_NROOMS, NULL, CTX_ROOMS); RegisterConditional("COND:FLOOR:ISSUBROOM", 0, ConditionalFloorIsSUBROOM, CTX_FLOORS); RegisterConditional("COND:FLOOR:NROOMS", 1, ConditionalFloorHaveNRooms, CTX_FLOORS); RegisterConditional("COND:ROOM:REST:ISSUBFLOOR", 0, ConditionalFloorIsRESTSubFloor, CTX_FLOORS); RegisterConditional("COND:FLOOR:ISVIRTUAL", 0, ConditionalFloorIsVirtual, CTX_FLOORS); /**** Room... ******/ /**** Name ******/ RegisterNamespace("THISROOM:NAME", 0, 1, tmplput_ThisRoom, NULL, CTX_NONE); RegisterNamespace("ROOM:INFO:NAME", 0, 1, tmplput_ROOM_NAME, NULL, CTX_ROOMS); RegisterNamespace("ROOM:INFO:BASENAME", 0, 1, tmplput_ROOM_BASENAME, NULL, CTX_ROOMS); RegisterNamespace("ROOM:INFO:LEVELNTIMES", 1, 2, tmplput_ROOM_LEVEL_N_TIMES, NULL, CTX_ROOMS); RegisterConditional("COND:ROOM:INFO:IS_INBOX", 0, ConditionalRoomIsInbox, CTX_ROOMS); RegisterConditional("COND:ROOM:INFO:TYPE_IS", 0, ConditionalRoomIsType, CTX_ROOMS); RegisterConditional("COND:ROOM:INFO:NAME_IS", 1, ConditionalRoomIsName, CTX_ROOMS); /****** Properties ******/ RegisterNamespace("ROOM:INFO:QRFLAGS", 0, 1, tmplput_ROOM_QRFLAGS, NULL, CTX_ROOMS); RegisterConditional("COND:THISROOM:FLAG:QR", 0, ConditionalThisRoomHas_QRFlag, CTX_NONE); RegisterConditional("COND:THISROOM:EDIT", 0, ConditionalRoom_MayEdit, CTX_NONE); RegisterConditional("COND:ROOM:FLAG:QR", 0, ConditionalRoomHas_QRFlag, CTX_ROOMS); RegisterConditional("COND:THISROOM:FLAG:QR2", 0, ConditionalThisRoomHas_QRFlag2, CTX_NONE); RegisterConditional("COND:ROOM:FLAG:QR2", 0, ConditionalRoomHas_QRFlag2, CTX_ROOMS); RegisterConditional("COND:ROOM:FLAG:UA", 0, ConditionalRoomHas_UAFlag, CTX_ROOMS); RegisterNamespace("ROOM:INFO:RAFLAGS", 0, 1, tmplput_ROOM_RAFLAGS, NULL, CTX_ROOMS); RegisterNamespace("ROOM:INFO:LISTORDER", 0, 1, tmplput_ROOM_LISTORDER, NULL, CTX_ROOMS); RegisterNamespace("THISROOM:ORDER", 0, 0, tmplput_ThisRoomOrder, NULL, CTX_NONE); RegisterConditional("COND:THISROOM:ORDER", 0, ConditionalThisRoomOrder, CTX_NONE); RegisterNamespace("ROOM:INFO:LASTCHANGE", 0, 1, tmplput_ROOM_LASTCHANGE, NULL, CTX_ROOMS); RegisterNamespace("THISROOM:MSGS:NEW", 0, 0, tmplput_ThisRoom_nNewMessages, NULL, CTX_NONE); RegisterNamespace("THISROOM:MSGS:TOTAL", 0, 0, tmplput_ThisRoom_nTotalMessages, NULL, CTX_NONE); RegisterNamespace("THISROOM:PASS", 0, 1, tmplput_ThisRoomPass, NULL, CTX_NONE); RegisterNamespace("THISROOM:AIDE", 0, 1, tmplput_ThisRoomAide, NULL, CTX_NONE); RegisterConditional("COND:ROOMAIDE", 2, ConditionalRoomAide, CTX_NONE); RegisterConditional("COND:ACCESS:DELETE", 2, ConditionalRoomAcessDelete, CTX_NONE); RegisterConditional("COND:ROOM:EDITACCESS", 0, ConditionalHaveRoomeditRights, CTX_NONE); RegisterConditional("COND:THISROOM:HAVE_PIC", 0, ConditionalThisRoomXHavePic, CTX_NONE); RegisterNamespace("THISROOM:INFOTEXT", 1, 2, tmplput_ThisRoomInfoText, NULL, CTX_NONE); RegisterConditional("COND:THISROOM:HAVE_INFOTEXT", 0, ConditionalThisRoomXHaveInfoText, CTX_NONE); RegisterNamespace("THISROOM:FILES:N", 0, 1, tmplput_ThisRoomXNFiles, NULL, CTX_NONE); RegisterNamespace("THISROOM:FILES:STR", 0, 1, tmplput_ThisRoomX_FileString, NULL, CTX_NONE); RegisterNamespace("THISROOM:DIRECTORY", 0, 1, tmplput_ThisRoomDirectory, NULL, CTX_NONE); RegisterNamespace("ROOM:INFO:ACL", 0, 1, tmplput_ROOM_ACL, NULL, CTX_ROOMS); RegisterConditional("COND:THIS:THAT:ROOM", 0, ConditionalIsThisThatRoom, CTX_ROOMS); } webcit-9.01-dfsg/roomviews.c000066400000000000000000000167771254743150300160650ustar00rootroot00000000000000/* * Lots of different room-related operations. */ #include "webcit.h" #include "webserver.h" char *viewdefs[VIEW_MAX]; /* * This table defines which views may be selected as the * default view for a room at the time of its creation. */ int allowed_default_views[VIEW_MAX] = { 1, /* VIEW_BBS Bulletin board */ 1, /* VIEW_MAILBOX Mailbox summary */ 1, /* VIEW_ADDRESSBOOK Address book */ 1, /* VIEW_CALENDAR Calendar */ 1, /* VIEW_TASKS Tasks */ 1, /* VIEW_NOTES Notes */ 1, /* VIEW_WIKI Wiki */ 0, /* VIEW_CALBRIEF Brief Calendar */ 0, /* VIEW_JOURNAL Journal */ 0, /* VIEW_DRAFTS Drafts */ 1, /* VIEW_BLOG Blog */ 0, /* VIEW_QUEUE Mail Queue */ 1 /* VIEW_WIKIMD MarkDown Wiki */ }; /* * Given the default view for a room, this table defines * which alternate views may be selected by the user. */ ROOM_VIEWS exchangeable_views[VIEW_MAX][VIEW_MAX] = { { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }, /* bulletin board */ { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }, /* mailbox summary */ { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* address book */ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 }, /* calendar */ { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, /* tasks */ { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, /* notes */ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 }, /* wiki */ { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0 }, /* brief calendar */ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 }, /* journal */ { 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0 }, /* drafts */ { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }, /* blog */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 } /* Markdown wiki */ }; /* * Initialize the viewdefs with localized strings */ void initialize_viewdefs(void) { viewdefs[VIEW_BBS] = _("Bulletin Board"); viewdefs[VIEW_MAILBOX] = _("Mail Folder"); viewdefs[VIEW_ADDRESSBOOK] = _("Address Book"); viewdefs[VIEW_CALENDAR] = _("Calendar"); viewdefs[VIEW_TASKS] = _("Task List"); viewdefs[VIEW_NOTES] = _("Notes List"); viewdefs[VIEW_WIKI] = _("Wiki"); viewdefs[VIEW_CALBRIEF] = _("Calendar List"); viewdefs[VIEW_JOURNAL] = _("Journal"); viewdefs[VIEW_DRAFTS] = _("Drafts"); viewdefs[VIEW_BLOG] = _("Blog"); viewdefs[VIEW_WIKIMD] = _("Markdown Wiki"); } void tmplput_ROOM_COLLECTIONTYPE(StrBuf *Target, WCTemplputParams *TP) { folder *Folder = (folder *)CTX(CTX_ROOMS); switch(Folder->view) { case VIEW_CALENDAR: StrBufAppendBufPlain(Target, HKEY("vevent"), 0); break; case VIEW_TASKS: StrBufAppendBufPlain(Target, HKEY("vtodo"), 0); break; case VIEW_ADDRESSBOOK: StrBufAppendBufPlain(Target, HKEY("vcard"), 0); break; case VIEW_NOTES: StrBufAppendBufPlain(Target, HKEY("vnotes"), 0); break; case VIEW_JOURNAL: StrBufAppendBufPlain(Target, HKEY("vjournal"), 0); break; case VIEW_WIKI: StrBufAppendBufPlain(Target, HKEY("wiki"), 0); break; case VIEW_WIKIMD: StrBufAppendBufPlain(Target, HKEY("x-markdown"), 0); break; } } int ConditionalRoomHasGroupdavContent(StrBuf *Target, WCTemplputParams *TP) { folder *Folder = (folder *)CTX(CTX_ROOMS); syslog(LOG_DEBUG, "-> %s: %d\n", ChrPtr(Folder->name), Folder->view); return ((Folder->view == VIEW_CALENDAR) || (Folder->view == VIEW_TASKS) || (Folder->view == VIEW_ADDRESSBOOK) || (Folder->view == VIEW_NOTES) || (Folder->view == VIEW_JOURNAL) ); } int ConditionalIsRoomtype(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if ((WCC == NULL) || (TP->Tokens->nParameters < 3)) { return ((WCC->CurRoom.view < VIEW_BBS) || (WCC->CurRoom.view > VIEW_MAX)); } return WCC->CurRoom.view == GetTemplateTokenNumber(Target, TP, 2, VIEW_BBS); } void tmplput_CurrentRoomViewString(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; StrBuf *Buf; if ((WCC == NULL) || (WCC->CurRoom.defview >= VIEW_MAX) || (WCC->CurRoom.defview < VIEW_BBS)) { LogTemplateError(Target, "Token", ERR_PARM2, TP, "Roomview [%ld] not valid\n", (WCC != NULL)? WCC->CurRoom.defview : -1); return; } Buf = NewStrBufPlain(_(viewdefs[WCC->CurRoom.defview]), -1); StrBufAppendTemplate(Target, TP, Buf, 0); FreeStrBuf(&Buf); } void tmplput_RoomViewString(StrBuf *Target, WCTemplputParams *TP) { long CheckThis; StrBuf *Buf; CheckThis = GetTemplateTokenNumber(Target, TP, 0, 0); if ((CheckThis >= VIEW_MAX) || (CheckThis < VIEW_BBS)) { LogTemplateError(Target, "Token", ERR_PARM2, TP, "Roomview [%ld] not valid\n", CheckThis); return; } Buf = NewStrBufPlain(_(viewdefs[CheckThis]), -1); StrBufAppendTemplate(Target, TP, Buf, 0); FreeStrBuf(&Buf); } int ConditionalIsAllowedDefaultView(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; long CheckThis; if (WCC == NULL) return 0; CheckThis = GetTemplateTokenNumber(Target, TP, 2, 0); if ((CheckThis >= VIEW_MAX) || (CheckThis < VIEW_BBS)) { LogTemplateError(Target, "Conditional", ERR_PARM2, TP, "Roomview [%ld] not valid\n", CheckThis); return 0; } return allowed_default_views[CheckThis] != 0; } int ConditionalThisRoomDefView(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; long CheckThis; if (WCC == NULL) return 0; CheckThis = GetTemplateTokenNumber(Target, TP, 2, 0); return CheckThis == WCC->CurRoom.defview; } int ConditionalThisRoomCurrView(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; long CheckThis; if (WCC == NULL) return 0; CheckThis = GetTemplateTokenNumber(Target, TP, 2, 0); return CheckThis == WCC->CurRoom.view; } int ConditionalThisRoomHaveView(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; long CheckThis; if (WCC == NULL) return 0; CheckThis = GetTemplateTokenNumber(Target, TP, 2, 0); if ((CheckThis >= VIEW_MAX) || (CheckThis < VIEW_BBS)) { LogTemplateError(Target, "Conditional", ERR_PARM2, TP, "Roomview [%ld] not valid\n", CheckThis); return 0; } return exchangeable_views [WCC->CurRoom.defview][CheckThis] ; } void tmplput_ROOM_VIEW(StrBuf *Target, WCTemplputParams *TP) { folder *Folder = (folder *)CTX(CTX_ROOMS); StrBufAppendPrintf(Target, "%d", Folder->view); } void tmplput_ROOM_DEFVIEW(StrBuf *Target, WCTemplputParams *TP) { folder *Folder = (folder *)CTX(CTX_ROOMS); StrBufAppendPrintf(Target, "%d", Folder->defview); } void tmplput_CurrentRoomDefView(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; StrBufAppendPrintf(Target, "%d", WCC->CurRoom.defview); } void InitModule_ROOMVIEWS (void) { /* we duplicate this, just to be shure its already done. */ RegisterCTX(CTX_ROOMS); RegisterCTX(CTX_FLOORS); initialize_viewdefs(); RegisterNamespace("THISROOM:VIEW_STRING", 0, 1, tmplput_CurrentRoomViewString, NULL, CTX_NONE); RegisterNamespace("ROOM:VIEW_STRING", 1, 2, tmplput_RoomViewString, NULL, CTX_NONE); RegisterConditional("COND:ALLOWED_DEFAULT_VIEW", 0, ConditionalIsAllowedDefaultView, CTX_NONE); RegisterConditional("COND:THISROOM:DEFAULT_VIEW", 0, ConditionalThisRoomDefView, CTX_NONE); RegisterNamespace("THISROOM:DEFAULT_VIEW", 0, 0, tmplput_CurrentRoomDefView, NULL, CTX_NONE); RegisterNamespace("ROOM:INFO:DEFVIEW", 0, 1, tmplput_ROOM_DEFVIEW, NULL, CTX_ROOMS); RegisterConditional("COND:ROOM:TYPE_IS", 0, ConditionalIsRoomtype, CTX_NONE); RegisterConditional("COND:THISROOM:HAVE_VIEW", 0, ConditionalThisRoomHaveView, CTX_NONE); RegisterConditional("COND:ROOM:DAV_CONTENT", 0, ConditionalRoomHasGroupdavContent, CTX_ROOMS); RegisterConditional("COND:THISROOM:CURR_VIEW", 0, ConditionalThisRoomCurrView, CTX_NONE); RegisterNamespace("ROOM:INFO:VIEW", 0, 1, tmplput_ROOM_VIEW, NULL, CTX_ROOMS); RegisterNamespace("ROOM:INFO:COLLECTIONTYPE", 0, 1, tmplput_ROOM_COLLECTIONTYPE, NULL, CTX_ROOMS); } webcit-9.01-dfsg/scripts/000077500000000000000000000000001254743150300153345ustar00rootroot00000000000000webcit-9.01-dfsg/scripts/get_ical_data.sh000077500000000000000000000045141254743150300204370ustar00rootroot00000000000000#!/bin/sh ICAL=/usr/local/ctdlsupport/include/libical/ical.h if test -f /usr/include/libical/ical.h; then ICAL=/usr/include/libical/ical.h fi if test ! -f ${ICAL}; then echo "failed to locate libical headers - please install the libical development packages or heardes" exit 500 fi ICALTYPES="icalproperty_kind"\ " icalcomponent_kind"\ " icalrequeststatus"\ " ical_unknown_token_handling"\ " icalrecurrencetype_frequency"\ " icalrecurrencetype_weekday"\ " icalvalue_kind"\ " icalproperty_action"\ " icalproperty_carlevel"\ " icalproperty_class"\ " icalproperty_cmd"\ " icalproperty_method"\ " icalproperty_querylevel"\ " icalproperty_status"\ " icalproperty_transp"\ " icalproperty_xlicclass"\ " icalparameter_kind"\ " icalparameter_action"\ " icalparameter_cutype"\ " icalparameter_enable"\ " icalparameter_encoding"\ " icalparameter_fbtype"\ " icalparameter_local"\ " icalparameter_partstat"\ " icalparameter_range"\ " icalparameter_related"\ " icalparameter_reltype"\ " icalparameter_role"\ " icalparameter_rsvp"\ " icalparameter_value"\ " icalparameter_xliccomparetype"\ " icalparameter_xlicerrortype"\ " icalparser_state"\ " icalerrorenum"\ " icalerrorstate"\ " icalrestriction_kind" ( printf '#include "webcit.h"\n\n\n' for icaltype in $ICALTYPES; do printf "typedef struct _Ical_${icaltype} {\n"\ " const char *Name;\n"\ " long NameLen;\n"\ " ${icaltype} map;\n"\ "} Ical_${icaltype};\n\n\n" done for icaltype in $ICALTYPES; do cat ./scripts/get_ical_data__template.sed | \ sed -e "s;__ICALTYPE__;$icaltype;g" > \ /tmp/get_ical_data.sed printf "Ical_${icaltype} ${icaltype}_map[] = {\n" cat ${ICAL} |\ sed -e 's;/\*.*\*/;;' -e 's;\t;;g' |\ sed -nf /tmp/get_ical_data.sed |\ sed -e "s;.*typedef *enum *${icaltype} *{\(.*\)} ${icaltype} *\;.*;\1,;" \ -e 's;/\*.*\*/;;' \ -e 's;/;\n/\n;g' \ -e 's;,;,\n;g' \ -e 's; *;;g' \ -e 's;^t*;;g' \ -e 's;\=[0-9]*;;g'|\ sed -e 's;\(.*\),;{HKEY("\1"), \1},;' printf '{"", 0, 0}\n};\n\n\n' done printf "void \nInitModule_ICAL_MAPS\n(void)\n{\n\tint i;\n" for icaltype in $ICALTYPES; do printf "\tfor (i=0; ${icaltype}_map[i].NameLen > 0; i++)\n"\ " RegisterTokenParamDefine (\n"\ " ${icaltype}_map[i].Name,\n"\ " ${icaltype}_map[i].NameLen,\n"\ " ${icaltype}_map[i].map);\n"\ done printf "\n}\n\n" ) > ical_maps.c webcit-9.01-dfsg/scripts/get_ical_data__template.sed000066400000000000000000000001661254743150300226260ustar00rootroot00000000000000#! /bin/sed -nf H $ { x s/\n//g p } $ { s/.*typedef *enum *__ICALTYPE__ *{\(.*\)} *__ICALTYPE__ *;.*/\1/ } webcit-9.01-dfsg/scripts/mk_module_init.sh000077500000000000000000000250741254743150300207020ustar00rootroot00000000000000#!/bin/sh # # Script to generate $C_FILE # ECHO=/usr/bin/printf #MINUS_e=X`$ECHO -n -e` #if [ $MINUS_e != "X" ] ; then # MINUS_e="" #else # MINUS_e="-e" #fi #MINUS_E=X`$ECHO -n -E` #if [ $MINUS_E != "X" ] ; then # MINUS_E="" #else # MINUS_E="-E" #fi CUR_DIR=`pwd` C_FILE="$CUR_DIR/modules_init.c" H_FILE="$CUR_DIR/modules_init.h" MOD_FILE="$CUR_DIR/Make_modules" SRC_FILE="$CUR_DIR/Make_sources" U_FILE="$CUR_DIR/modules_upgrade.c" /usr/bin/printf "Scanning extension modules for entry points.\n" rm -f $C_FILE $H_FILE # server lifetime: START_FUNCS=`grep -a ServerStartModule_ *.c |sed "s;.*:;;" |sort -u` INIT_FUNCS=`grep -a InitModule_ *.c |sed "s;.*:;;" |sort -u` INIT2_FUNCS=`grep -a InitModule2_ *.c |sed "s;.*:;;" |sort -u` FINALIZE_FUNCS=`grep -a FinalizeModule_ *.c |sed "s;.*:;;" |sort -u` SHUTDOWN_FUNCS=`grep -a ServerShutdownModule_ *.c |sed "s;.*:;;" |sort -u` # session hooks: SESS_NEW_FUNCS=`grep -a SessionNewModule_ *.c |sed "s;.*:;;" |sort -u` SESS_ATTACH_FUNCS=`grep -a SessionAttachModule_ *.c |sed "s;.*:;;" |sort -u` SESS_DETACH_FUNCS=`grep -a SessionDetachModule_ *.c |sed "s;.*:;;" |sort -u` SESS_DESTROY_FUNCS=`grep -a SessionDestroyModule_ *.c |sed "s;.*:;;" |sort -u` HTTP_NEW_FUNCS=`grep -a HttpNewModule_ *.c |sed "s;.*:;;" |sort -u` HTTP_DETACH_FUNCS=`grep -a HttpDetachModule_ *.c |sed "s;.*:;;" |sort -u` HTTP_DESTROY_FUNCS=`grep -a HttpDestroyModule_ *.c |sed "s;.*:;;" |sort -u` #SESS_NEW_FUNCS=`grep -a SessionNewModule_ *.c |sed "s;.*:;;" |sort -u` #start the header file cat < $H_FILE /* * $H_FILE * Auto generated by mk_modules_init.sh DO NOT EDIT THIS FILE */ #ifndef MODULES_INIT_H #define MODULES_INIT_H extern size_t nSizErrmsg; /* * server lifetime: */ void initialise_modules (void); void initialise2_modules (void); void start_modules (void); void shutdown_modules (void); /* * Session lifetime: */ void session_new_modules (wcsession *sess); void session_attach_modules (wcsession *sess); void session_detach_modules (wcsession *sess); void session_destroy_modules (wcsession **sess); void http_new_modules (ParsedHttpHdrs *httpreq); void http_detach_modules (ParsedHttpHdrs *httpreq); void http_destroy_modules (ParsedHttpHdrs *httpreq); /* * forwards... */ EOF #start of the files which inturn removes any existing file # # start the Makefile included file for $SERV_MODULES cat <$MOD_FILE # # Make_modules # This file is to be included by Makefile to dynamically add modules to the build process # THIS FILE WAS AUTO GENERATED BY mk_modules_init.sh DO NOT EDIT THIS FILE # EOF # start the Makefile included file for $SOURCES cat <$SRC_FILE # # Make_sources # This file is to be included by Makefile to dynamically add modules to the build process # THIS FILE WAS AUTO GENERATED BY mk_modules_init.sh DO NOT EDIT THIS FILE # EOF # start the c file cat <$C_FILE /* * $C_FILE * Auto generated by mk_modules_init.sh DO NOT EDIT THIS FILE */ #include "sysdep.h" #include #include #include #include #include #include #include #include "webcit.h" #include "modules_init.h" #include "webserver.h" void LogPrintMessages(long err); extern long DetailErrorFlags; void start_modules (void) { EOF #******************************************************************************** # server ******** start ******** module logic. #******************************************************************************** cat <> $H_FILE /* Server Start Hooks: */ EOF for HOOK in $START_FUNCS; do HOOKNAME=`echo $HOOK |sed "s;ServerStartModule_;;"` # Add this entry point to the .c file cat <> $C_FILE #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Starting $HOOKNAME\n"); #endif $HOOK(); EOF # Add this entry point to the .h file cat <> $H_FILE extern void $HOOK(void); EOF done #******************************************************************************** # server module ******** initialisation ******** logic. #******************************************************************************** cat <> $H_FILE /* Server Init Hooks: */ EOF cat <>$C_FILE } void initialise_modules (void) { EOF for HOOK in $INIT_FUNCS; do HOOKNAME=`echo $HOOK |sed "s;InitModule_;;"` # Add this entry point to the .c file cat <> $C_FILE #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing $HOOKNAME\n"); #endif $HOOK(); EOF # Add this entry point to the .h file cat <> $H_FILE extern void $HOOK(void); EOF done #******************************************************************************** # server module ******** initialisation ******** second stage. #******************************************************************************** cat <> $H_FILE /* Server Init Hooks: */ EOF cat <>$C_FILE } void initialise2_modules (void) { EOF for HOOK in $INIT2_FUNCS; do HOOKNAME=`echo $HOOK |sed "s;InitModule2_;;"` # Add this entry point to the .c file cat <> $C_FILE #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing $HOOKNAME\n"); #endif $HOOK(); EOF # Add this entry point to the .h file cat <> $H_FILE extern void $HOOK(void); EOF done #******************************************************************************** # server module ***** shutdown ***** logic. #******************************************************************************** cat <> $H_FILE /* Server shutdown Hooks: */ EOF cat <>$C_FILE } void shutdown_modules (void) { EOF for HOOK in $SHUTDOWN_FUNCS; do HOOKNAME=`echo $HOOK |sed "s;ServerShutdownModule_;;"` # Add this entry point to the .c file cat <> $C_FILE #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Shutting down $HOOKNAME\n"); #endif $HOOK(); EOF # Add this entry point to the .h file cat <> $H_FILE extern void $HOOK(void); EOF done #******************************************************************************** # NEW-session module logic. #******************************************************************************** cat <> $H_FILE /* Session New Hooks: */ EOF cat <>$C_FILE } void session_new_modules (wcsession *sess) { EOF for HOOK in $SESS_NEW_FUNCS; do HOOKNAME=`echo $HOOK |sed "s;SessionNewModule_;;"` # Add this entry point to the .c file cat <> $C_FILE #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing $HOOKNAME\n"); #endif $HOOK(sess); EOF # Add this entry point to the .h file cat <> $H_FILE extern void $HOOK(wcsession *sess); EOF done #******************************************************************************** # ATTACH-Session module logic. #******************************************************************************** cat <> $H_FILE /* Session Attach Hooks: */ EOF cat <>$C_FILE } void session_attach_modules (wcsession *sess) { EOF for HOOK in $SESS_ATTACH_FUNCS; do HOOKNAME=`echo $HOOK |sed "s;SessionAttachModule_;;"` # Add this entry point to the .c file cat <> $C_FILE #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Attaching Session; $HOOKNAME\n"); #endif $HOOK(sess); EOF # Add this entry point to the .h file cat <> $H_FILE extern void $HOOK(wcsession *sess); EOF done #******************************************************************************** # DETACH-Session module logic. #******************************************************************************** cat <> $H_FILE /* Session detach Hooks: */ EOF cat <>$C_FILE } void session_detach_modules (wcsession *sess) { EOF for HOOK in $SESS_DETACH_FUNCS; do HOOKNAME=`echo $HOOK |sed "s;SessionDetachModule_;;"` # Add this entry point to the .c file cat <> $C_FILE #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing $HOOKNAME\n"); #endif $HOOK(sess); EOF # Add this entry point to the .h file cat <> $H_FILE extern void $HOOK(wcsession *sess); EOF done #******************************************************************************** # DESTROY-Session module logic. #******************************************************************************** cat <> $H_FILE /* Session destroy Hooks: */ EOF cat <>$C_FILE } void session_destroy_modules (wcsession **sess) { EOF for HOOK in $SESS_DESTROY_FUNCS; do HOOKNAME=`echo $HOOK |sed "s;SessionDestroyModule_;;"` # Add this entry point to the .c file cat <> $C_FILE #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Initializing $HOOKNAME\n"); #endif $HOOK(*sess); EOF # Add this entry point to the .h file cat <> $H_FILE extern void $HOOK(wcsession *sess); EOF done cat <>$C_FILE free((*sess)); (*sess) = NULL; } EOF #******************************************************************************** # NEW-Httprequest module logic. #******************************************************************************** cat <> $C_FILE void http_new_modules (ParsedHttpHdrs *httpreq) { EOF for HOOK in $HTTP_NEW_FUNCS; do HOOKNAME=`echo $HOOK |sed "s;HttpNewModule_;;"` # Add this entry point to the .c file cat <> $C_FILE #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "NEW $HOOKNAME\n"); #endif $HOOK(httpreq); EOF # Add this entry point to the .h file cat <> $H_FILE extern void $HOOK(ParsedHttpHdrs *httpreq); EOF done cat <>$C_FILE } EOF #******************************************************************************** # DETACH-Httprequest module logic. #******************************************************************************** cat <> $C_FILE void http_detach_modules (ParsedHttpHdrs *httpreq) { EOF for HOOK in $HTTP_DETACH_FUNCS; do HOOKNAME=`echo $HOOK |sed "s;HttpDetachModule_;;"` # Add this entry point to the .c file cat <> $C_FILE #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Detaching $HOOKNAME\n"); #endif $HOOK(httpreq); EOF # Add this entry point to the .h file cat <> $H_FILE extern void $HOOK(ParsedHttpHdrs *httpreq); EOF done cat <>$C_FILE } EOF #******************************************************************************** # DESTROY-Httprequest module logic. #******************************************************************************** cat <> $C_FILE void http_destroy_modules (ParsedHttpHdrs *httpreq) { EOF for HOOK in $HTTP_DESTROY_FUNCS; do HOOKNAME=`echo $HOOK |sed "s;HttpDestroyModule_;;"` # Add this entry point to the .c file cat <> $C_FILE #ifdef DBG_PRINNT_HOOKS_AT_START syslog(LOG_DEBUG, "Destructing $HOOKNAME\n"); #endif $HOOK(httpreq); EOF # Add this entry point to the .h file cat <> $H_FILE extern void $HOOK(ParsedHttpHdrs *httpreq); EOF done cat <>$C_FILE } EOF cat <> $H_FILE #endif /* MODULES_INIT_H */ EOF webcit-9.01-dfsg/selenium/000077500000000000000000000000001254743150300154665ustar00rootroot00000000000000webcit-9.01-dfsg/selenium/ChangeIdentity000066400000000000000000000035451254743150300203170ustar00rootroot00000000000000 ChangeIdentity
    ChangeIdentity
    open /
    type uname testuser
    type pname testpass
    select lname label=C
    clickAndWait login_action
    clickAndWait //ul[@id='button']/li[9]/a/img
    clickAndWait link=(edit)
    type fake_roomname test fake room
    click change_room_name_button
    clickAndWait //ul[@id='button']/li[9]/a/img
    clickAndWait link=(edit)
    type fake_hostname test fake host
    clickAndWait change_host_name_button
    clickAndWait //ul[@id='button']/li[9]/a/img
    clickAndWait link=(edit)
    clickAndWait cancel_button
    clickAndWait //ul[@id='button']/li[12]/a/img
    assertConfirmation Log off now?
    webcit-9.01-dfsg/selenium/LoginEditcontactLogout000066400000000000000000000064171254743150300220450ustar00rootroot00000000000000 LoginEditcontactLogout
    LoginEditcontactLogout
    open /
    type uname testuser
    type pname testpass
    select lname label=C
    clickAndWait login_action
    clickAndWait link=Summary
    clickAndWait link=testuser
    clickAndWait //ul[@id='button']/li[2]/a/img
    clickAndWait //div[@id='msg_inner']/table/tbody/tr[1]/td[1]/a
    clickAndWait //div[@id='navbar']/ul/li[3]/a/span
    type subject_id hallo
    clickAndWait send_button
    clickAndWait //ul[@id='button']/li[4]/a/img
    clickAndWait link=17
    clickAndWait link=exact:12:00
    type summary testevent
    type location testcity
    type description testing events
    click tabtd1
    type attendees_box testtest@outgesourced.org
    click tabtd2
    click tabtd1
    clickAndWait save_button
    clickAndWait link=testevent
    clickAndWait save_button
    clickAndWait link=testevent
    clickAndWait delete_button
    clickAndWait //ul[@id='button']/li[5]/a/img
    clickAndWait link=Add new contact
    type firstname testcontact
    type lastname testname
    type primary_inetemail testtest@outgesourced.org
    clickAndWait ok_button
    clickAndWait link=testname, testcontact
    clickAndWait link=[edit]
    type extadr testroad
    clickAndWait ok_button
    click link=Log off
    assertConfirmation Log off now?
    webcit-9.01-dfsg/selenium/LoginLogOut000066400000000000000000000020331254743150300176110ustar00rootroot00000000000000 LoginLogOut
    LoginLogOut
    open /
    type uname testuser
    type pname testpass
    select lname label=C
    clickAndWait login_action
    click //ul[@id='button']/li[12]/a/img
    assertConfirmation Log off now?
    webcit-9.01-dfsg/selenium/LoginNoteseditingLogout000066400000000000000000000037611254743150300222370ustar00rootroot00000000000000 LoginNoteseditingLogout
    LoginNoteseditingLogout
    open /
    type uname testuser
    type pname testpass
    select lname label=C
    clickAndWait login_action
    clickAndWait //ul[@id='button']/li[6]/a/img
    clickAndWait link=Add new note
    click class=stickynote_body
    type value testnote
    click //input[@value='Save']
    clickAndWait //ul[@id='button']/li[6]/a/img
    click class=stickynote_body
    type value testnote edited
    click //input[@value='Save']
    clickAndWait //ul[@id='button']/li[6]/a/img
    click class=stickynote_body
    type value testnote edited not saving
    click link=Cancel
    clickAndWait //ul[@id='button']/li[12]/a/img
    assertConfirmation Log off now?
    webcit-9.01-dfsg/selenium/Tasks000066400000000000000000000041501254743150300164760ustar00rootroot00000000000000 Tasks
    Tasks
    open /
    type uname testuser
    type pname testpass
    select lname label=C
    clickAndWait login_action
    clickAndWait //ul[@id='button']/li[7]/a/img
    clickAndWait //div[@id='navbar']/ul/li[3]/a/span
    clickAndWait link=Add new task
    type summary testtask
    type category testcategory
    type description test description
    clickAndWait save_button
    clickAndWait link=testtask
    type description test description edited
    clickAndWait save_button
    clickAndWait link=testtask
    type description test description edited cancel
    clickAndWait cancel_button
    clickAndWait link=testtask
    clickAndWait delete_button
    clickAndWait //ul[@id='button']/li[12]/a/img
    assertConfirmation Log off now?
    webcit-9.01-dfsg/selenium/login_out000066400000000000000000000017401254743150300174120ustar00rootroot00000000000000 login_out
    login_out
    open /
    type uname testuser
    type pname testpass
    clickAndWait login_action
    click link=Abmelden
    assertConfirmation Jetzt abmelden?
    webcit-9.01-dfsg/selenium/webcit000066400000000000000000000014631254743150300166720ustar00rootroot00000000000000 Test Suite
    Test Suite
    LoginLogOut
    LoginEditcontactLogout
    LoginNoteseditingLogout
    Tasks
    ChangeIdentity
    webcit-9.01-dfsg/serv_func.c000066400000000000000000000375751254743150300160240ustar00rootroot00000000000000 #include "webcit.h" #include "webserver.h" int is_uds = 0; char serv_sock_name[PATH_MAX] = ""; HashList *EmbeddableMimes = NULL; StrBuf *EmbeddableMimeStrs = NULL; void SetInlinMimeRenderers(void) { StrBuf *Buf; Buf = NewStrBuf(); /* Tell the server what kind of richtext we prefer */ serv_putbuf(EmbeddableMimeStrs); StrBuf_ServGetln(Buf); FreeStrBuf(&Buf); } void DeleteServInfo(ServInfo **FreeMe) { if (*FreeMe == NULL) return; FreeStrBuf(&(*FreeMe)->serv_nodename); FreeStrBuf(&(*FreeMe)->serv_humannode); FreeStrBuf(&(*FreeMe)->serv_fqdn); FreeStrBuf(&(*FreeMe)->serv_software); FreeStrBuf(&(*FreeMe)->serv_bbs_city); FreeStrBuf(&(*FreeMe)->serv_sysadm); FreeStrBuf(&(*FreeMe)->serv_default_cal_zone); FreeStrBuf(&(*FreeMe)->serv_svn_revision); free(*FreeMe); *FreeMe = NULL; } /* * get info about the server we've connected to * * browser_host the citadel we want to connect to * user_agent which browser uses our client? */ ServInfo *get_serv_info(StrBuf *browser_host, StrBuf *user_agent) { ServInfo *info; StrBuf *Buf; int a; int rc; Buf = NewStrBuf(); /* Tell the server what kind of client is connecting */ serv_printf("IDEN %d|%d|%d|%s|%s", DEVELOPER_ID, CLIENT_ID, CLIENT_VERSION, ChrPtr(user_agent), ChrPtr(browser_host) ); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) != 2) { syslog(LOG_WARNING, "get_serv_info(IDEN): unexpected answer [%s]\n", ChrPtr(Buf)); FreeStrBuf(&Buf); return NULL; } /* * Tell the server that when we save a calendar event, we * want invitations to be generated by the Citadel server * instead of by the client. */ serv_puts("ICAL sgi|1"); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) != 2) { syslog(LOG_WARNING, "get_serv_info(ICAL sgi|1): unexpected answer [%s]\n", ChrPtr(Buf)); FreeStrBuf(&Buf); return NULL; } /* Now ask the server to tell us a little bit about itself... */ serv_puts("INFO"); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) != 1) { syslog(LOG_WARNING, "get_serv_info(INFO sgi|1): unexpected answer [%s]\n", ChrPtr(Buf)); FreeStrBuf(&Buf); return NULL; } info = (ServInfo*)malloc(sizeof(ServInfo)); memset(info, 0, sizeof(ServInfo)); a = 0; while (rc = StrBuf_ServGetln(Buf), (rc >= 0) && ((rc != 3) || strcmp(ChrPtr(Buf), "000"))) { switch (a) { case 0: info->serv_pid = StrToi(Buf); WC->ctdl_pid = info->serv_pid; break; case 1: info->serv_nodename = NewStrBufDup(Buf); break; case 2: info->serv_humannode = NewStrBufDup(Buf); break; case 3: info->serv_fqdn = NewStrBufDup(Buf); break; case 4: info->serv_software = NewStrBufDup(Buf); break; case 5: info->serv_rev_level = StrToi(Buf); break; case 6: info->serv_bbs_city = NewStrBufDup(Buf); break; case 7: info->serv_sysadm = NewStrBufDup(Buf); break; case 14: info->serv_supports_ldap = StrToi(Buf); break; case 15: info->serv_newuser_disabled = StrToi(Buf); break; case 16: info->serv_default_cal_zone = NewStrBufDup(Buf); break; case 20: info->serv_supports_sieve = StrToi(Buf); break; case 21: info->serv_fulltext_enabled = StrToi(Buf); break; case 22: info->serv_svn_revision = NewStrBufDup(Buf); break; case 23: info->serv_supports_openid = StrToi(Buf); break; case 24: info->serv_supports_guest = StrToi(Buf); break; } ++a; } FreeStrBuf(&Buf); return info; } int GetConnected (void) { StrBuf *Buf; wcsession *WCC = WC; if (WCC->ReadBuf == NULL) WCC->ReadBuf = NewStrBufPlain(NULL, SIZ * 4); if (is_uds) /* unix domain socket */ WCC->serv_sock = uds_connectsock(serv_sock_name); else /* tcp socket */ WCC->serv_sock = tcp_connectsock(ctdlhost, ctdlport); if (WCC->serv_sock < 0) { WCC->connected = 0; FreeStrBuf(&WCC->ReadBuf); return 1; } else { long Status; int short_status; Buf = NewStrBuf(); WCC->connected = 1; StrBuf_ServGetln(Buf); /* get the server greeting */ short_status = GetServerStatus(Buf, &Status); FreeStrBuf(&Buf); /* Server isn't ready for us? */ if (short_status != 2) { if (Status == 571) { hprintf("HTTP/1.1 503 Service Unavailable\r\n"); hprintf("Content-type: text/plain; charset=utf-8\r\n"); wc_printf(_("This server is already serving its maximum number of users and cannot accept any additional logins at this time. Please try again later or contact your system administrator.")); } else { wc_printf("%ld %s\n", Status, _("Received unexpected answer from Citadel server; bailing out.") ); hprintf("HTTP/1.1 502 Bad Gateway\r\n"); hprintf("Content-type: text/plain; charset=utf-8\r\n"); } end_burst(); end_webcit_session(); return 1; } /* * From what host is our user connecting? Go with * the host at the other end of the HTTP socket, * unless we are following X-Forwarded-For: headers * and such a header has already turned up something. */ if ( (!follow_xff) || (StrLength(WCC->Hdr->HR.browser_host) == 0) ) { if (WCC->Hdr->HR.browser_host == NULL) { WCC->Hdr->HR.browser_host = NewStrBuf(); Put(WCC->Hdr->HTTPHeaders, HKEY("FreeMeWithTheOtherHeaders"), WCC->Hdr->HR.browser_host, HFreeStrBuf); } locate_host(WCC->Hdr->HR.browser_host, WCC->Hdr->http_sock); } if (WCC->serv_info == NULL) { WCC->serv_info = get_serv_info(WCC->Hdr->HR.browser_host, WCC->Hdr->HR.user_agent); } if (WCC->serv_info == NULL){ begin_burst(); wc_printf(_("Received unexpected answer from Citadel server; bailing out.")); hprintf("HTTP/1.1 502 Bad Gateway\r\n"); hprintf("Content-type: text/plain; charset=utf-8\r\n"); end_burst(); end_webcit_session(); return 1; } if (WCC->serv_info->serv_rev_level < MINIMUM_CIT_VERSION) { begin_burst(); wc_printf(_("You are connected to a Citadel " "server running Citadel %d.%02d. \n" "In order to run this version of WebCit " "you must also have Citadel %d.%02d or" " newer.\n\n\n"), WCC->serv_info->serv_rev_level / 100, WCC->serv_info->serv_rev_level % 100, MINIMUM_CIT_VERSION / 100, MINIMUM_CIT_VERSION % 100 ); hprintf("HTTP/1.1 200 OK\r\n"); hprintf("Content-type: text/plain; charset=utf-8\r\n"); end_burst(); end_webcit_session(); return 1; } SetInlinMimeRenderers(); } return 0; } void FmOut(StrBuf *Target, const char *align, const StrBuf *Source) { const char *ptr, *pte; const char *BufPtr = NULL; StrBuf *Line = NewStrBufPlain(NULL, SIZ); StrBuf *Line1 = NewStrBufPlain(NULL, SIZ); StrBuf *Line2 = NewStrBufPlain(NULL, SIZ); int bn = 0; int bq = 0; int i; long len; int intext = 0; StrBufAppendPrintf(Target, "
    \n", align); if (StrLength(Source) > 0) do { StrBufSipLine(Line, Source, &BufPtr); bq = 0; i = 0; ptr = ChrPtr(Line); len = StrLength(Line); pte = ptr + len; if ((intext == 1) && (isspace(*ptr))) { StrBufAppendBufPlain(Target, HKEY("
    "), 0); } intext = 1; if (isspace(*ptr)) while ((ptr < pte) && ((*ptr == '>') || isspace(*ptr))) { if (*ptr == '>') bq++; ptr ++; i++; } /* * Quoted text should be displayed in italics and in a * different colour. This code understands Citadel-style * " >" quotes and will convert to
    tags. */ if (i > 0) StrBufCutLeft(Line, i); for (i = bn; i < bq; i++) StrBufAppendBufPlain(Target, HKEY("
    "), 0); for (i = bq; i < bn; i++) StrBufAppendBufPlain(Target, HKEY("
    "), 0); bn = bq; if (StrLength(Line) == 0) continue; /* Activate embedded URL's */ UrlizeText(Line1, Line, Line2); StrEscAppend(Target, Line1, NULL, 0, 0); StrBufAppendBufPlain(Target, HKEY("\n"), 0); } while ((BufPtr != StrBufNOTNULL) && (BufPtr != NULL)); for (i = 0; i < bn; i++) { StrBufAppendBufPlain(Target, HKEY("
    "), 0); } StrBufAppendBufPlain(Target, HKEY("

    \n"), 0); FreeStrBuf(&Line); FreeStrBuf(&Line1); FreeStrBuf(&Line2); } /* * Transmit message text (in memory) to the server. */ void text_to_server(char *ptr) { char buf[256]; int ch, a, pos, len; pos = 0; buf[0] = 0; while (ptr[pos] != 0) { ch = ptr[pos++]; if (ch == 10) { len = strlen(buf); while ( (isspace(buf[len - 1])) && (buf[0] != '\0') && (buf[1] != '\0') ) buf[--len] = 0; serv_puts(buf); buf[0] = 0; if (ptr[pos] != 0) strcat(buf, " "); } else { a = strlen(buf); buf[a + 1] = 0; buf[a] = ch; if ((ch == 32) && (strlen(buf) > 200)) { buf[a] = 0; serv_puts(buf); buf[0] = 0; } if (strlen(buf) > 250) { serv_puts(buf); buf[0] = 0; } } } serv_puts(buf); } /* * Transmit message text (in memory) to the server, converting to Quoted-Printable encoding as we go. */ void text_to_server_qp(const StrBuf *SendMeEncoded) { StrBuf *ServBuf; ServBuf = StrBufRFC2047encodeMessage(SendMeEncoded); serv_putbuf(ServBuf); FreeStrBuf(&ServBuf); } /* * translate server message output to text (used for editing room info files and such) */ void server_to_text() { char buf[SIZ]; int count = 0; while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) { if ((buf[0] == 32) && (count > 0)) { wc_printf("\n"); } wc_printf("%s", buf); ++count; } } /* * Read text from server, appending to a string buffer until the * usual 000 terminator is found. Caller is responsible for freeing * the returned pointer. */ int read_server_text(StrBuf *Buf, long *nLines) { wcsession *WCC = WC; StrBuf *ReadBuf; long nRead; long nTotal = 0; long nlines; nlines = 0; ReadBuf = NewStrBuf(); while ((WCC->serv_sock!=-1) && (nRead = StrBuf_ServGetln(ReadBuf), (nRead >= 0) && ((nRead != 3)||(strcmp(ChrPtr(ReadBuf), "000") != 0)))) { StrBufAppendBuf(Buf, ReadBuf, 0); StrBufAppendBufPlain(Buf, HKEY("\n"), 0); nTotal += nRead; nlines ++; } FreeStrBuf(&ReadBuf); *nLines = nlines; return nTotal; } int GetServerStatusMsg(StrBuf *Line, long* FullState, int PutImportantMessage, int MajorOK) { int rc; if (FullState != NULL) *FullState = StrTol(Line); rc = ChrPtr(Line)[0] - 48; if ((!PutImportantMessage) || (MajorOK == rc)|| (StrLength(Line) <= 4)) return rc; AppendImportantMessage(ChrPtr(Line) + 4, StrLength(Line) - 4); return rc; } void tmplput_serv_ip(StrBuf *Target, WCTemplputParams *TP) { StrBufAppendPrintf(Target, "%d", WC->ctdl_pid); } void tmplput_serv_admin(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if (WCC->serv_info == NULL) return; StrBufAppendTemplate(Target, TP, WCC->serv_info->serv_sysadm, 0); } void tmplput_serv_nodename(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if (WCC->serv_info == NULL) return; StrBufAppendTemplate(Target, TP, WCC->serv_info->serv_nodename, 0); } void tmplput_serv_humannode(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if (WCC->serv_info == NULL) return; StrBufAppendTemplate(Target, TP, WCC->serv_info->serv_humannode, 0); } void tmplput_serv_fqdn(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if (WCC->serv_info == NULL) return; StrBufAppendTemplate(Target, TP, WCC->serv_info->serv_fqdn, 0); } void tmplput_serv_software(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if (WCC->serv_info == NULL) return; StrBufAppendTemplate(Target, TP, WCC->serv_info->serv_software, 0); } void tmplput_serv_rev_level(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if (WCC->serv_info == NULL) return; StrBufAppendPrintf(Target, "%d.%02d", WCC->serv_info->serv_rev_level / 100, WCC->serv_info->serv_rev_level % 100); } int conditional_serv_newuser_disabled(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if (WCC->serv_info == NULL) return 0; return WCC->serv_info->serv_newuser_disabled != 0; } int conditional_serv_supports_guest(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if (WCC->serv_info == NULL) return 0; return WCC->serv_info->serv_supports_guest != 0; } int conditional_serv_supports_openid(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if (WCC->serv_info == NULL) return 0; return WCC->serv_info->serv_supports_openid != 0; } int conditional_serv_fulltext_enabled(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if (WCC->serv_info == NULL) return 0; return WCC->serv_info->serv_fulltext_enabled != 0; } int conditional_serv_ldap_enabled(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if (WCC->serv_info == NULL) return 0; return WCC->serv_info->serv_supports_ldap != 0; } void tmplput_serv_bbs_city(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if (WCC->serv_info == NULL) return; StrBufAppendTemplate(Target, TP, WC->serv_info->serv_bbs_city, 0); } void tmplput_mesg(StrBuf *Target, WCTemplputParams *TP) { int n = 0; int Done = 0; StrBuf *Line; StrBuf *Buf; Buf = NewStrBuf(); Line = NewStrBuf(); serv_printf("MESG %s", TP->Tokens->Params[0]->Start); StrBuf_ServGetln(Line); if (GetServerStatus(Line, NULL) == 1) { while (!Done && (StrBuf_ServGetln(Line)>=0)) { if ( (StrLength(Line)==3) && !strcmp(ChrPtr(Line), "000")) Done = 1; else { if (n > 0) StrBufAppendBufPlain(Buf, "\n", 1, 0); StrBufAppendBuf(Buf, Line, 0); } n++; } FlushStrBuf(Line); FmOut(Line, "center", Buf); StrBufAppendTemplate(Target, TP, Line, 1); } FreeStrBuf(&Buf); FreeStrBuf(&Line); } void RegisterEmbeddableMimeType(const char *MimeType, long MTLen, int Priority) { StrBuf *MT; MT = NewStrBufPlain(MimeType, MTLen); Put(EmbeddableMimes, IKEY(Priority), MT, HFreeStrBuf); } void CreateMimeStr(void) { HashPos *it; void *vMime; long len = 0; const char *Key; it = GetNewHashPos(EmbeddableMimes, 0); while (GetNextHashPos(EmbeddableMimes, it, &len, &Key, &vMime) && (vMime != NULL)) { if (StrLength(EmbeddableMimeStrs) > 0) StrBufAppendBufPlain(EmbeddableMimeStrs, HKEY("|"), 0); else StrBufAppendBufPlain(EmbeddableMimeStrs, HKEY("MSGP "), 0); StrBufAppendBuf(EmbeddableMimeStrs, (StrBuf*) vMime, 0); } DeleteHashPos(&it); } void ServerStartModule_SERV_FUNC (void) { EmbeddableMimes = NewHash(1, Flathash); EmbeddableMimeStrs = NewStrBuf(); } void ServerShutdownModule_SERV_FUNC (void) { FreeStrBuf(&EmbeddableMimeStrs); DeleteHash(&EmbeddableMimes); } void InitModule_SERVFUNC (void) { is_uds = strcasecmp(ctdlhost, "uds") == 0; if (is_uds) snprintf(serv_sock_name, PATH_MAX, "%s/citadel.socket", ctdlport); RegisterConditional("COND:SERV:OPENID", 2, conditional_serv_supports_openid, CTX_NONE); RegisterConditional("COND:SERV:NEWU", 2, conditional_serv_newuser_disabled, CTX_NONE); RegisterConditional("COND:SERV:FULLTEXT_ENABLED", 2, conditional_serv_fulltext_enabled, CTX_NONE); RegisterConditional("COND:SERV:LDAP_ENABLED", 2, conditional_serv_ldap_enabled, CTX_NONE); RegisterConditional("COND:SERV:SUPPORTS_GUEST", 2, conditional_serv_supports_guest, CTX_NONE); RegisterNamespace("SERV:PID", 0, 0, tmplput_serv_ip, NULL, CTX_NONE); RegisterNamespace("SERV:NODENAME", 0, 1, tmplput_serv_nodename, NULL, CTX_NONE); RegisterNamespace("SERV:HUMANNODE", 0, 1, tmplput_serv_humannode, NULL, CTX_NONE); RegisterNamespace("SERV:FQDN", 0, 1, tmplput_serv_fqdn, NULL, CTX_NONE); RegisterNamespace("SERV:SOFTWARE", 0, 1, tmplput_serv_software, NULL, CTX_NONE); RegisterNamespace("SERV:REV_LEVEL", 0, 0, tmplput_serv_rev_level, NULL, CTX_NONE); RegisterNamespace("SERV:BBS_CITY", 0, 1, tmplput_serv_bbs_city, NULL, CTX_NONE); RegisterNamespace("SERV:MESG", 1, 2, tmplput_mesg, NULL, CTX_NONE); RegisterNamespace("SERV:ADMIN", 0, 1, tmplput_serv_admin, NULL, CTX_NONE); } void SessionDestroyModule_SERVFUNC (wcsession *sess) { DeleteServInfo(&sess->serv_info); } webcit-9.01-dfsg/setup.c000066400000000000000000000413571254743150300151630ustar00rootroot00000000000000/* * WebCit setup utility * * (This is basically just an install wizard. It's not required.) */ #include "sysdep.h" #include "webcit.h" #include "webserver.h" #define UI_TEXT 0 /* Default setup type -- text only */ #define UI_DIALOG 2 /* Use the 'dialog' program */ #define UI_SILENT 3 /* Silent running, for use in scripts */ int setup_type; char setup_directory[SIZ]; int using_web_installer = 0; char suggested_url[SIZ]; /* some copies... int syslog(int loglevel, const char *format, ...){return 0;} */ void wc_printf(const char *format,...){} void RegisterNS(const char *NSName, long len, int nMinArgs, int nMaxArgs, WCHandlerFunc HandlerFunc, WCPreevalFunc PreEvalFunc, int ContextRequired){} void StrBufAppendTemplateStr(StrBuf *Target, WCTemplputParams *TP, const char *Source, int FormatTypeIndex){} void RegisterHeaderHandler(const char *Name, long Len, Header_Evaluator F){} pthread_key_t MyConKey; #ifdef ENABLE_NLS #ifdef HAVE_USELOCALE int localeoffset = 1; #else int localeoffset = 0; #endif #endif /* * Delete an entry from /etc/inittab */ void delete_init_entry(char *which_entry) { char *inittab = NULL; FILE *fp; char buf[SIZ]; char entry[SIZ]; char levels[SIZ]; char state[SIZ]; char prog[SIZ]; inittab = strdup(""); if (inittab == NULL) return; fp = fopen("/etc/inittab", "r"); if (fp == NULL) return; while(fgets(buf, sizeof buf, fp) != NULL) { if (num_tokens(buf, ':') == 4) { extract_token(entry, buf, 0, ':', sizeof entry); extract_token(levels, buf, 1, ':', sizeof levels); extract_token(state, buf, 2, ':', sizeof state); extract_token(prog, buf, 3, ':', sizeof prog); /* includes 0x0a LF */ if (!strcmp(entry, which_entry)) { strcpy(state, "off"); /* disable it */ } } inittab = realloc(inittab, strlen(inittab) + strlen(buf) + 2); if (inittab == NULL) { fclose(fp); return; } strcat(inittab, buf); } fclose(fp); fp = fopen("/etc/inittab", "w"); if (fp != NULL) { fwrite(inittab, strlen(inittab), 1, fp); fclose(fp); kill(1, SIGHUP); /* Tell init to re-read /etc/inittab */ } free(inittab); } /* * Remove any /etc/inittab entries for webcit, because we don't * start it that way anymore. */ void delete_the_old_way(void) { FILE *infp; char buf[1024]; char looking_for[1024]; int have_entry = 0; char entry[1024]; char prog[1024]; char init_entry[1024]; strcpy(init_entry, ""); /* Determine the fully qualified path name of webcit */ snprintf(looking_for, sizeof looking_for, "%s/webcit ", setup_directory); /* Pound through /etc/inittab line by line. Set have_entry to 1 if * an entry is found which we believe starts webcit. */ infp = fopen("/etc/inittab", "r"); if (infp == NULL) { return; } else { while (fgets(buf, sizeof buf, infp) != NULL) { buf[strlen(buf) - 1] = 0; extract_token(entry, buf, 0, ':', sizeof entry); extract_token(prog, buf, 3, ':', sizeof prog); if (!strncasecmp(prog, looking_for, strlen(looking_for))) { ++have_entry; strcpy(init_entry, entry); } } fclose(infp); } /* Bail out if there's nothing to do. */ if (!have_entry) return; delete_init_entry(init_entry); } void cleanup(int exitcode) { exit(exitcode); } void title(char *text) { if (setup_type == UI_TEXT) { printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<%s>\n", text); } } int yesno(char *question, int default_value) { int i = 0; int answer = 0; char buf[SIZ] = ""; switch (setup_type) { case UI_TEXT: do { printf("%s\nYes/No [%s] --> ", question, ( default_value ? "Yes" : "No" ) ); if (fgets(buf, sizeof buf, stdin)) { answer = tolower(buf[0]); if ((buf[0]==0) || (buf[0]==13) || (buf[0]==10)) answer = default_value; else if (answer == 'y') answer = 1; else if (answer == 'n') answer = 0; } } while ((answer < 0) || (answer > 1)); break; case UI_DIALOG: sprintf(buf, "exec %s %s --yesno '%s' 15 75", getenv("CTDL_DIALOG"), ( default_value ? "" : "--defaultno" ), question); i = system(buf); if (i == 0) { answer = 1; } else { answer = 0; } break; } return (answer); } void set_value(char *prompt, char str[]) { char buf[SIZ] = ""; char dialog_result[PATH_MAX]; char setupmsg[SIZ]; FILE *fp; strcpy(setupmsg, ""); switch (setup_type) { case UI_TEXT: title("WebCit setup"); printf("\n%s\n", prompt); printf("This is currently set to:\n%s\n", str); printf("Enter new value or press return to leave unchanged:\n"); if (fgets(buf, sizeof buf, stdin)) { buf[strlen(buf) - 1] = 0; } if (strlen(buf) != 0) strcpy(str, buf); break; case UI_DIALOG: CtdlMakeTempFileName(dialog_result, sizeof dialog_result); sprintf(buf, "exec %s --inputbox '%s' 19 72 '%s' 2>%s", getenv("CTDL_DIALOG"), prompt, str, dialog_result); system(buf); fp = fopen(dialog_result, "r"); if (fp != NULL) { if (fgets(str, sizeof buf, fp)){ if (str[strlen(str)-1] == 10) { str[strlen(str)-1] = 0; } } fclose(fp); unlink(dialog_result); } break; } } extern const char *AvailLang[]; int GetLocalePrefs(void) { int nLocales; StrBuf *Buf; char buf[SIZ]; char dialog_result[PATH_MAX]; FILE *fp; int i = 0; int offs = 0; nLocales = 0; while (!IsEmptyStr(AvailLang[nLocales])) nLocales++; Buf = NewStrBuf(); StrBufAppendBufPlain(Buf, HKEY("Select the locale webcit should use : \n"), 0); #ifdef HAVE_USELOCALE StrBufAppendBufPlain(Buf, HKEY(" 0 Let the user select it at the login prompt (default)\n"), 0); offs ++; #endif for (i = 0; i < nLocales; i++) { StrBufAppendPrintf(Buf, " %ld: %s\n", i + offs, AvailLang[i]); } switch (setup_type) { case UI_TEXT: title("WebCit setup"); printf("\n%s\n", ChrPtr(Buf)); printf("This is currently set to:\n%ld\n", 0L); printf("Enter new value or press return to leave unchanged:\n"); if (fgets(buf, sizeof buf, stdin)) return atoi(buf); break; case UI_DIALOG: CtdlMakeTempFileName(dialog_result, sizeof dialog_result); sprintf(buf, "exec %s --inputbox '%s' 19 72 '%ld' 2>%s", getenv("CTDL_DIALOG"), ChrPtr(Buf), 0L, dialog_result); system(buf); fp = fopen(dialog_result, "r"); if (fp != NULL) { char *str = &buf[0]; if (fgets(str, sizeof buf, fp)){ if (str[strlen(str)-1] == 10) { str[strlen(str)-1] = 0; } } fclose(fp); unlink(dialog_result); return atoi(buf); } break; } return 0; } void important_message(char *title, char *msgtext) { char buf[SIZ]; switch (setup_type) { case UI_TEXT: printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); printf(" %s \n\n%s\n\n", title, msgtext); printf("Press return to continue..."); if (fgets(buf, sizeof buf, stdin)); break; case UI_DIALOG: sprintf(buf, "exec %s --msgbox '%s' 19 72", getenv("CTDL_DIALOG"), msgtext); system(buf); break; } } void display_error(char *error_message) { important_message("Error", error_message); } void progress(char *text, long int curr, long int cmax) { static long dots_printed = 0L; long a = 0; char buf[SIZ]; static FILE *fp = NULL; switch (setup_type) { case UI_TEXT: if (curr == 0) { printf("%s\n", text); printf(".........................."); printf(".........................."); printf("..........................\r"); fflush(stdout); dots_printed = 0; } else if (curr == cmax) { printf("\r%79s\n", ""); } else { a = (curr * 100) / cmax; a = a * 78; a = a / 100; while (dots_printed < a) { printf("*"); ++dots_printed; fflush(stdout); } } break; case UI_DIALOG: if (curr == 0) { sprintf(buf, "exec %s --gauge '%s' 7 72 0", getenv("CTDL_DIALOG"), text); fp = popen(buf, "w"); if (fp != NULL) { fprintf(fp, "0\n"); fflush(fp); } } else if (curr == cmax) { if (fp != NULL) { fprintf(fp, "100\n"); pclose(fp); fp = NULL; } } else { a = (curr * 100) / cmax; if (fp != NULL) { fprintf(fp, "%ld\n", a); fflush(fp); } } break; } } /* * install_init_scripts() -- Create and deploy SysV init scripts. * */ void install_init_scripts(void) { #ifdef ENABLE_NLS int localechoice; #endif char question[1024]; char buf[256]; char http_port[128]; #ifdef HAVE_OPENSSL char https_port[128]; #endif char hostname[128]; char portname[128]; char command[SIZ]; struct utsname my_utsname; struct stat etcinitd; FILE *fp; char *initfile = "/etc/init.d/webcit"; fp = fopen(initfile, "r"); if (fp != NULL) { if (yesno("WebCit already appears to be configured to start at boot.\n" "Would you like to keep your boot configuration as is?\n", 1) == 1) { return; } fclose(fp); } /* Otherwise, prompt the user to create an entry. */ snprintf(question, sizeof question, "Would you like to automatically start WebCit at boot?" ); if (yesno(question, 1) == 0) return; #ifdef ENABLE_NLS localechoice = GetLocalePrefs(); #endif /* Defaults */ sprintf(http_port, "2000"); #ifdef HAVE_OPENSSL sprintf(https_port, "443"); #endif sprintf(hostname, "uds"); sprintf(portname, "/usr/local/citadel"); /* This is a very hackish way of learning the port numbers used * in a previous install, if we are upgrading: read them out of * the existing init script. */ if ((stat("/etc/init.d/", &etcinitd) == -1) && (errno == ENOENT)) { if ((stat("/etc/rc.d/init.d/", &etcinitd) == -1) && (errno == ENOENT)) initfile = WEBCITDIR"/webcit.init"; else initfile = "/etc/rc.d/init.d/webcit"; } fp = fopen(initfile, "r"); if (fp != NULL) { while (fgets(buf, sizeof buf, fp) != NULL) { if (strlen(buf) > 0) { buf[strlen(buf)-1] = 0; /* strip trailing cr */ } if (!strncasecmp(buf, "HTTP_PORT=", 10)) { safestrncpy(http_port, &buf[10], sizeof http_port); } #ifdef HAVE_OPENSSL if (!strncasecmp(buf, "HTTPS_PORT=", 11)) { safestrncpy(https_port, &buf[11], sizeof https_port); } #endif if (!strncasecmp(buf, "CTDL_HOSTNAME=", 14)) { safestrncpy(hostname, &buf[14], sizeof hostname); } if (!strncasecmp(buf, "CTDL_PORTNAME=", 14)) { safestrncpy(portname, &buf[14], sizeof portname); } } fclose(fp); } /* Now ask for the port numbers */ snprintf(question, sizeof question, "On which port do you want WebCit to listen for HTTP " "requests?\n\nYou can use the standard port (80) if you are " "not running another\nweb server (such as Apache), otherwise " "select another port."); set_value(question, http_port); uname(&my_utsname); sprintf(suggested_url, "http://%s:%s/", my_utsname.nodename, http_port); #ifdef HAVE_OPENSSL snprintf(question, sizeof question, "On which port do you want WebCit to listen for HTTPS " "requests?\n\nYou can use the standard port (443) if you are " "not running another\nweb server (such as Apache), otherwise " "select another port."); set_value(question, https_port); #endif /* Find out where Citadel is. */ if ( (using_web_installer) && (getenv("CITADEL") != NULL) ) { strcpy(hostname, "uds"); strcpy(portname, getenv("CITADEL")); } else { snprintf(question, sizeof question, "Is the Citadel service running on the same host as WebCit?"); if (yesno(question, ((!strcasecmp(hostname, "uds")) ? 1 : 0))) { strcpy(hostname, "uds"); if (atoi(portname) != 0) strcpy(portname, "/usr/local/citadel"); set_value("In what directory is Citadel installed?", portname); } else { if (!strcasecmp(hostname, "uds")) strcpy(hostname, "127.0.0.1"); if (atoi(portname) == 0) strcpy(portname, "504"); set_value("Enter the host name or IP address of your " "Citadel server.", hostname); set_value("Enter the port number on which Citadel is " "running (usually 504)", portname); } } fp = fopen(initfile, "w"); fprintf(fp, "#!/bin/sh\n" "\n" "# uncomment this to create coredumps as described in\n" "# http://www.citadel.org/doku.php/faq:mastering_your_os:gdb#how.do.i.make.my.system.produce.core-files\n" "# ulimit -c unlimited\n" "WEBCIT_DIR=%s\n", setup_directory); fprintf(fp, "HTTP_PORT=%s\n", http_port); #ifdef HAVE_OPENSSL fprintf(fp, "HTTPS_PORT=%s\n", https_port); #endif fprintf(fp, "CTDL_HOSTNAME=%s\n", hostname); fprintf(fp, "CTDL_PORTNAME=%s\n", portname); #ifdef ENABLE_NLS if (localechoice == 0) { #ifdef HAVE_USELOCALE fprintf(fp, "unset LANG\n"); #else fprintf(fp, "export WEBCIT_LANG=c\n"); #endif } else { fprintf(fp, "export WEBCIT_LANG=%s\n", AvailLang[localechoice - localeoffset]); } #else fprintf(fp, "# your system doesn't support locales\n"); #endif fprintf(fp, "\n" "\n" "case \"$1\" in\n" "\n" "start) echo -n \"Starting WebCit... \"\n" " if $WEBCIT_DIR/webcit " "-D/var/run/webcit.pid " "-p$HTTP_PORT $CTDL_HOSTNAME $CTDL_PORTNAME\n" " then\n" " echo \"ok\"\n" " else\n" " echo \"failed\"\n" " fi\n"); #ifdef HAVE_OPENSSL fprintf(fp, " echo -n \"Starting WebCit SSL... \"\n" " if $WEBCIT_DIR/webcit " "-D/var/run/webcit-ssl.pid " "-s -p$HTTPS_PORT $CTDL_HOSTNAME $CTDL_PORTNAME\n" " then\n" " echo \"ok\"\n" " else\n" " echo \"failed\"\n" " fi\n"); #endif fprintf(fp, " ;;\n" "stop) echo -n \"Stopping WebCit... \"\n" " if kill `cat /var/run/webcit.pid 2>/dev/null` 2>/dev/null\n" " then\n" " echo \"ok\"\n" " else\n" " echo \"failed\"\n" " fi\n" " rm -f /var/run/webcit.pid 2>/dev/null\n"); #ifdef HAVE_OPENSSL fprintf(fp, " echo -n \"Stopping WebCit SSL... \"\n" " if kill `cat /var/run/webcit-ssl.pid 2>/dev/null` 2>/dev/null\n" " then\n" " echo \"ok\"\n" " else\n" " echo \"failed\"\n" " fi\n" " rm -f /var/run/webcit-ssl.pid 2>/dev/null\n"); #endif fprintf(fp, " ;;\n" "restart) $0 stop\n" " $0 start\n" " ;;\n" "*) echo \"Usage: $0 {start|stop|restart}\"\n" " exit 1\n" " ;;\n" "esac\n" ); fclose(fp); chmod(initfile, 0755); /* Set up the run levels. */ system("/bin/rm -f /etc/rc?.d/[SK]??webcit 2>/dev/null"); snprintf(command, sizeof(command), "for x in 2 3 4 5 ; do [ -d /etc/rc$x.d ] && ln -s %s /etc/rc$x.d/S84webcit ; done 2>/dev/null", initfile); system(command); snprintf(command, sizeof(command), "for x in 0 6 S; do [ -d /etc/rc$x.d ] && ln -s %s /etc/rc$x.d/K15webcit ; done 2>/dev/null", initfile); system(command); } /* * Figure out what type of user interface we're going to use */ int discover_ui(void) { /* Use "dialog" if we have it */ if (getenv("CTDL_DIALOG") != NULL) { return UI_DIALOG; } return UI_TEXT; } int main(int argc, char *argv[]) { int a; char aaa[256]; int info_only = 0; strcpy(suggested_url, "http://:/"); /* set an invalid setup type */ setup_type = (-1); /* Check to see if we're running the web installer */ if (getenv("CITADEL_INSTALLER") != NULL) { using_web_installer = 1; } /* parse command line args */ for (a = 0; a < argc; ++a) { if (!strncmp(argv[a], "-u", 2)) { strcpy(aaa, argv[a]); strcpy(aaa, &aaa[2]); setup_type = atoi(aaa); } if (!strcmp(argv[a], "-i")) { info_only = 1; } if (!strcmp(argv[a], "-q")) { setup_type = UI_SILENT; } } /* If a setup type was not specified, try to determine automatically * the best one to use out of all available types. */ if (setup_type < 0) { setup_type = discover_ui(); } if (info_only == 1) { important_message("WebCit Setup", "Welcome to WebCit setup"); cleanup(0); } /* Get started in a valid setup directory. */ strcpy(setup_directory, WEBCITDIR); if ( (using_web_installer) && (getenv("WEBCIT") != NULL) ) { strcpy(setup_directory, getenv("WEBCIT")); } else { set_value("In what directory is WebCit installed?", setup_directory); } if (chdir(setup_directory) != 0) { important_message("WebCit Setup", "The directory you specified does not exist."); cleanup(errno); } /* * We used to start WebCit by putting it directly into /etc/inittab. * Since some systems are moving away from init, we can't do this anymore. */ progress("Removing obsolete /etc/inittab entries...", 0, 1); delete_the_old_way(); progress("Removing obsolete /etc/inittab entries...", 1, 1); /* Now begin. */ switch (setup_type) { case UI_TEXT: printf("\n\n\n" " *** WebCit setup program ***\n\n"); break; } /* * If we're running on SysV, install init scripts. */ if (!access("/var/run", W_OK)) { install_init_scripts(); if (!access("/etc/init.d/webcit", X_OK)) { system("/etc/init.d/webcit stop"); system("/etc/init.d/webcit start"); } sprintf(aaa, "Setup is finished. You may now log in.\n" "Point your web browser at %s\n", suggested_url ); important_message("Setup finished", aaa); } else { important_message("Setup finished", "Setup is finished. You may now start the server."); } cleanup(0); return 0; } webcit-9.01-dfsg/setup_wizard.c000066400000000000000000000022641254743150300165350ustar00rootroot00000000000000/* * First-time setup wizard */ #include "webcit.h" void do_setup_wizard(void) { char *step; FILE *fp; step = bstr("step"); if (!strcasecmp(step, "Finish")) { fp = fopen(wizard_filename, "w"); if (fp != NULL) { fprintf(fp, "%d\n", WC->serv_info->serv_rev_level); fclose(fp); } do_welcome(); return; } output_headers(1, 1, 1, 0, 0, 0); wc_printf("
    \n"); wc_printf(" First time setup"); wc_printf("
    \n"); wc_printf("
    \n"); wc_printf("
    \n"); wc_printf("\n", WC->nonce); wc_printf("
    " "This is where the setup wizard will be placed.
    \n" "For now, just click Finish.

    \n" ); wc_printf("\n"); wc_printf("\n"); wc_printf("
    \n"); wDumpContent(1); } void InitModule_SETUP_WIZARD (void) { WebcitAddUrlHandler(HKEY("setup_wizard"), "", 0, do_setup_wizard, 0); } webcit-9.01-dfsg/sieve.c000066400000000000000000000623311254743150300151310ustar00rootroot00000000000000/* * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License version 3. * * 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. * * FIXME: add logic to exclude the webcit-generated script from the manual script selection */ #include "webcit.h" CtxType CTX_SIEVELIST = CTX_NONE; CtxType CTX_SIEVESCRIPT = CTX_NONE; #define MAX_SCRIPTS 100 #define MAX_RULES 50 #define RULES_SCRIPT "__WebCit_Generated_Script__" /* * Helper function for output_sieve_rule() to output strings with quotes escaped */ void osr_sanitize(char *str) { int i, len; if (str == NULL) return; len = strlen(str); for (i=0; i 0) { for (i=0; iIsActive; } int ConditionalSieveScriptIsRulesScript(StrBuf *Target, WCTemplputParams *TP) { SieveListing *SieveList = (SieveListing *)CTX(CTX_SIEVELIST); return SieveList->IsActive; } void tmplput_SieveScriptName(StrBuf *Target, WCTemplputParams *TP) { SieveListing *SieveList = (SieveListing *)CTX(CTX_SIEVELIST); StrBufAppendTemplate(Target, TP, SieveList->Name, 0); } void tmplput_SieveScriptContent(StrBuf *Target, WCTemplputParams *TP) { SieveListing *SieveList = (SieveListing *)CTX(CTX_SIEVELIST); StrBufAppendTemplate(Target, TP, SieveList->Content, 0); } void FreeSieveListing(void *vSieveListing) { SieveListing *List = (SieveListing*) vSieveListing; FreeStrBuf(&List->Name); free(List); } HashList *GetSieveScriptListing(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; StrBuf *Line; int num_scripts = 0; int rules_script_active = 0; int have_rules_script = 0; const char *pch; HashPos *it; int Done = 0; SieveListing *Ruleset; if (WCC->KnownSieveScripts != NULL) { return WCC->KnownSieveScripts; } serv_puts("MSIV listscripts"); Line = NewStrBuf(); StrBuf_ServGetln(Line); if (GetServerStatus(Line, NULL) == 1) { WCC->KnownSieveScripts = NewHash(1, Flathash); while(!Done && (StrBuf_ServGetln(Line) >= 0) ) if ( (StrLength(Line)==3) && !strcmp(ChrPtr(Line), "000")) { Done = 1; } else { pch = NULL; Ruleset = (SieveListing *) malloc(sizeof(SieveListing)); Ruleset->Name = NewStrBufPlain(NULL, StrLength(Line)); StrBufExtract_NextToken(Ruleset->Name, Line, &pch, '|'); Ruleset->IsActive = StrBufExtractNext_int(Line, &pch, '|'); Ruleset->Content = NULL; if (!strcasecmp(ChrPtr(Ruleset->Name), RULES_SCRIPT)) { Ruleset->IsRulesScript = 1; have_rules_script = 1; if (Ruleset->IsActive) { rules_script_active = 1; PutBstr(HKEY("__SIEVE:RULESSCRIPT"), NewStrBufPlain(HKEY("1"))); } } Put(WCC->KnownSieveScripts, IKEY(num_scripts), Ruleset, FreeSieveListing); ++num_scripts; } } if ((num_scripts > 0) && (rules_script_active == 0)) { PutBstr(HKEY("__SIEVE:EXTERNAL_SCRIPT"), NewStrBufPlain(HKEY("1"))); } if (num_scripts > have_rules_script) { long rc = 0; long len; const char *Key; void *vRuleset; /* * ok; we have custom scripts, expose that via bstr, and load the payload. */ PutBstr(HKEY("__SIEVE:HAVE_EXTERNAL_SCRIPT"), NewStrBufPlain(HKEY("1"))); it = GetNewHashPos(WCC->KnownSieveScripts, 0); while (GetNextHashPos(WCC->KnownSieveScripts, it, &len, &Key, &vRuleset) && (vRuleset != NULL)) { Ruleset = (SieveListing *) vRuleset; serv_printf("MSIV getscript|%s", ChrPtr(Ruleset->Name)); StrBuf_ServGetln(Line); if (GetServerStatus(Line, NULL) == 1) { Ruleset->Content = NewStrBuf(); Done = 0; while(!Done && (rc = StrBuf_ServGetln(Line), rc >= 0) ) if ( (StrLength(Line)==3) && !strcmp(ChrPtr(Line), "000")) { Done = 1; } else { if (StrLength(Ruleset->Content)>0) StrBufAppendBufPlain(Ruleset->Content, HKEY("\n"), 0); StrBufAppendBuf(Ruleset->Content, Line, 0); } if (rc < 0) break; } } } FreeStrBuf(&Line); return WCC->KnownSieveScripts; } typedef enum __eSieveHfield { from, tocc, subject, replyto, sender, resentfrom, resentto, envfrom, envto, xmailer, xspamflag, xspamstatus, listid, size, all } eSieveHfield; typedef enum __eSieveCompare { contains, notcontains, is, isnot, matches, notmatches } eSieveCompare; typedef enum __eSieveAction { keep, discard, reject, fileinto, redirect, vacation } eSieveAction; typedef enum __eSieveSizeComp { larger, smaller } eSieveSizeComp; typedef enum __eSieveFinal { econtinue, estop } eSieveFinal; typedef struct __SieveRule { int active; int sizeval; eSieveHfield hfield; eSieveCompare compare; StrBuf *htext; eSieveSizeComp sizecomp; eSieveAction Action; StrBuf *fileinto; StrBuf *redirect; StrBuf *automsg; eSieveFinal final; }SieveRule; int ConditionalSieveRule_hfield(StrBuf *Target, WCTemplputParams *TP) { SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT); return GetTemplateTokenNumber(Target, TP, 3, from) == Rule->hfield; } int ConditionalSieveRule_compare(StrBuf *Target, WCTemplputParams *TP) { SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT); return GetTemplateTokenNumber(Target, TP, 3, contains) == Rule->compare; } int ConditionalSieveRule_action(StrBuf *Target, WCTemplputParams *TP) { SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT); return GetTemplateTokenNumber(Target, TP, 3, keep) == Rule->Action; } int ConditionalSieveRule_sizecomp(StrBuf *Target, WCTemplputParams *TP) { SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT); return GetTemplateTokenNumber(Target, TP, 3, larger) == Rule->sizecomp; } int ConditionalSieveRule_final(StrBuf *Target, WCTemplputParams *TP) { SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT); return GetTemplateTokenNumber(Target, TP, 3, econtinue) == Rule->final; } int ConditionalSieveRule_ThisRoom(StrBuf *Target, WCTemplputParams *TP) { SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT); return GetTemplateTokenNumber(Target, TP, 3, econtinue) == Rule->final; } int ConditionalSieveRule_Active(StrBuf *Target, WCTemplputParams *TP) { SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT); return Rule->active; } void tmplput_SieveRule_htext(StrBuf *Target, WCTemplputParams *TP) { SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT); StrBufAppendTemplate(Target, TP, Rule->htext, 0); } void tmplput_SieveRule_fileinto(StrBuf *Target, WCTemplputParams *TP) { SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT); StrBufAppendTemplate(Target, TP, Rule->fileinto, 0); } void tmplput_SieveRule_redirect(StrBuf *Target, WCTemplputParams *TP) { SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT); StrBufAppendTemplate(Target, TP, Rule->redirect, 0); } void tmplput_SieveRule_automsg(StrBuf *Target, WCTemplputParams *TP) { SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT); StrBufAppendTemplate(Target, TP, Rule->automsg, 0); } void tmplput_SieveRule_sizeval(StrBuf *Target, WCTemplputParams *TP) { SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT); StrBufAppendPrintf(Target, "%d", Rule->sizeval); } void tmplput_SieveRule_lookup_FileIntoRoom(StrBuf *Target, WCTemplputParams *TP) { void *vRoom; SieveRule *Rule = (SieveRule *)CTX(CTX_SIEVESCRIPT); wcsession *WCC = WC; HashList *Rooms = GetRoomListHashLKRA(Target, TP); GetHash(Rooms, SKEY(Rule->fileinto), &vRoom); WCC->ThisRoom = (folder*) vRoom; } void FreeSieveRule(void *vRule) { SieveRule *Rule = (SieveRule*) vRule; FreeStrBuf(&Rule->htext); FreeStrBuf(&Rule->fileinto); FreeStrBuf(&Rule->redirect); FreeStrBuf(&Rule->automsg); free(Rule); } #define WC_RULE_HEADER "# WEBCIT_RULE|" HashList *GetSieveRules(StrBuf *Target, WCTemplputParams *TP) { StrBuf *Line = NULL; StrBuf *EncodedRule = NULL; int n = 0; const char *pch = NULL; HashList *SieveRules = NULL; int Done = 0; SieveRule *Rule = NULL; SieveRules = NewHash(1, Flathash); serv_printf("MSIV getscript|"RULES_SCRIPT); Line = NewStrBuf(); EncodedRule = NewStrBuf(); StrBuf_ServGetln(Line); if (GetServerStatus(Line, NULL) == 1) { while(!Done && (StrBuf_ServGetln(Line) >= 0) ) if ( (StrLength(Line)==3) && !strcmp(ChrPtr(Line), "000")) { Done = 1; } else { pch = NULL; /* We just care for our encoded header and skip everything else */ if ((StrLength(Line) > sizeof(WC_RULE_HEADER) - 1) && (!strncasecmp(ChrPtr(Line), HKEY(WC_RULE_HEADER)))) { StrBufSkip_NTokenS(Line, &pch, '|', 1); n = StrBufExtractNext_int(Line, &pch, '|'); StrBufExtract_NextToken(EncodedRule, Line, &pch, '|'); StrBufDecodeBase64(EncodedRule); Rule = (SieveRule*) malloc(sizeof(SieveRule)); Rule->htext = NewStrBufPlain (NULL, StrLength(EncodedRule)); Rule->fileinto = NewStrBufPlain (NULL, StrLength(EncodedRule)); Rule->redirect = NewStrBufPlain (NULL, StrLength(EncodedRule)); Rule->automsg = NewStrBufPlain (NULL, StrLength(EncodedRule)); /* Grab our existing values to populate */ pch = NULL; Rule->active = StrBufExtractNext_int(EncodedRule, &pch, '|'); StrBufExtract_NextToken(Line, EncodedRule, &pch, '|'); Rule->hfield = (eSieveHfield) GetTokenDefine(SKEY(Line), tocc); StrBufExtract_NextToken(Line, EncodedRule, &pch, '|'); Rule->compare = (eSieveCompare) GetTokenDefine(SKEY(Line), contains); StrBufExtract_NextToken(Rule->htext, EncodedRule, &pch, '|'); StrBufExtract_NextToken(Line, EncodedRule, &pch, '|'); Rule->sizecomp = (eSieveSizeComp) GetTokenDefine(SKEY(Line), larger); Rule->sizeval = StrBufExtractNext_int(EncodedRule, &pch, '|'); StrBufExtract_NextToken(Line, EncodedRule, &pch, '|'); Rule->Action = (eSieveAction) GetTokenDefine(SKEY(Line), keep); StrBufExtract_NextToken(Rule->fileinto, EncodedRule, &pch, '|'); StrBufExtract_NextToken(Rule->redirect, EncodedRule, &pch, '|'); StrBufExtract_NextToken(Rule->automsg, EncodedRule, &pch, '|'); StrBufExtract_NextToken(Line, EncodedRule, &pch, '|'); Rule->final = (eSieveFinal) GetTokenDefine(SKEY(Line), econtinue); Put(SieveRules, IKEY(n), Rule, FreeSieveRule); n++; } } } while (n < MAX_RULES) { Rule = (SieveRule*) malloc(sizeof(SieveRule)); memset(Rule, 0, sizeof(SieveRule)); Put(SieveRules, IKEY(n), Rule, FreeSieveRule); n++; } FreeStrBuf(&EncodedRule); FreeStrBuf(&Line); return SieveRules; } void SessionDetachModule_SIEVE (wcsession *sess) { DeleteHash(&sess->KnownSieveScripts); } void InitModule_SIEVE (void) { RegisterCTX(CTX_SIEVELIST); RegisterCTX(CTX_SIEVESCRIPT); REGISTERTokenParamDefine(from); REGISTERTokenParamDefine(tocc); REGISTERTokenParamDefine(subject); REGISTERTokenParamDefine(replyto); REGISTERTokenParamDefine(sender); REGISTERTokenParamDefine(resentfrom); REGISTERTokenParamDefine(resentto); REGISTERTokenParamDefine(envfrom); REGISTERTokenParamDefine(envto); REGISTERTokenParamDefine(xmailer); REGISTERTokenParamDefine(xspamflag); REGISTERTokenParamDefine(xspamstatus); REGISTERTokenParamDefine(listid); REGISTERTokenParamDefine(size); REGISTERTokenParamDefine(all); REGISTERTokenParamDefine(contains); REGISTERTokenParamDefine(notcontains); REGISTERTokenParamDefine(is); REGISTERTokenParamDefine(isnot); REGISTERTokenParamDefine(matches); REGISTERTokenParamDefine(notmatches); REGISTERTokenParamDefine(keep); REGISTERTokenParamDefine(discard); REGISTERTokenParamDefine(reject); REGISTERTokenParamDefine(fileinto); REGISTERTokenParamDefine(redirect); REGISTERTokenParamDefine(vacation); REGISTERTokenParamDefine(larger); REGISTERTokenParamDefine(smaller); /* these are c-keyworads, so do it by hand. */ RegisterTokenParamDefine(HKEY("continue"), econtinue); RegisterTokenParamDefine(HKEY("stop"), estop); RegisterIterator("SIEVE:SCRIPTS", 0, NULL, GetSieveScriptListing, NULL, NULL, CTX_SIEVELIST, CTX_NONE, IT_NOFLAG); RegisterConditional("COND:SIEVE:SCRIPT:ACTIVE", 0, ConditionalSieveScriptIsActive, CTX_SIEVELIST); RegisterConditional("COND:SIEVE:SCRIPT:ISRULES", 0, ConditionalSieveScriptIsRulesScript, CTX_SIEVELIST); RegisterNamespace("SIEVE:SCRIPT:NAME", 0, 1, tmplput_SieveScriptName, NULL, CTX_SIEVELIST); RegisterNamespace("SIEVE:SCRIPT:CONTENT", 0, 1, tmplput_SieveScriptContent, NULL, CTX_SIEVELIST); RegisterIterator("SIEVE:RULES", 0, NULL, GetSieveRules, NULL, DeleteHash, CTX_SIEVESCRIPT, CTX_NONE, IT_NOFLAG); RegisterConditional("COND:SIEVE:ACTIVE", 1, ConditionalSieveRule_Active, CTX_SIEVESCRIPT); RegisterConditional("COND:SIEVE:HFIELD", 1, ConditionalSieveRule_hfield, CTX_SIEVESCRIPT); RegisterConditional("COND:SIEVE:COMPARE", 1, ConditionalSieveRule_compare, CTX_SIEVESCRIPT); RegisterConditional("COND:SIEVE:ACTION", 1, ConditionalSieveRule_action, CTX_SIEVESCRIPT); RegisterConditional("COND:SIEVE:SIZECOMP", 1, ConditionalSieveRule_sizecomp, CTX_SIEVESCRIPT); RegisterConditional("COND:SIEVE:FINAL", 1, ConditionalSieveRule_final, CTX_SIEVESCRIPT); RegisterConditional("COND:SIEVE:THISROOM", 1, ConditionalSieveRule_ThisRoom, CTX_SIEVESCRIPT); RegisterNamespace("SIEVE:SCRIPT:HTEXT", 0, 1, tmplput_SieveRule_htext, NULL, CTX_SIEVESCRIPT); RegisterNamespace("SIEVE:SCRIPT:SIZE", 0, 1, tmplput_SieveRule_sizeval, NULL, CTX_SIEVESCRIPT); RegisterNamespace("SIEVE:SCRIPT:FILEINTO", 0, 1, tmplput_SieveRule_fileinto, NULL, CTX_SIEVESCRIPT); RegisterNamespace("SIEVE:SCRIPT:REDIRECT", 0, 1, tmplput_SieveRule_redirect, NULL, CTX_SIEVESCRIPT); RegisterNamespace("SIEVE:SCRIPT:AUTOMSG", 0, 1, tmplput_SieveRule_automsg, NULL, CTX_SIEVESCRIPT); /* fetch our room into WCC->ThisRoom, to evaluate while iterating over rooms with COND:THIS:THAT:ROOM */ RegisterNamespace("SIEVE:SCRIPT:LOOKUP_FILEINTO", 0, 1, tmplput_SieveRule_lookup_FileIntoRoom, NULL, CTX_SIEVESCRIPT); WebcitAddUrlHandler(HKEY("save_sieve"), "", 0, save_sieve, 0); WebcitAddUrlHandler(HKEY("create_script"), "", 0, create_script, 0); WebcitAddUrlHandler(HKEY("delete_script"), "", 0, delete_script, 0); WebcitAddUrlHandler(HKEY("display_sieve_add_or_delete"), "", 0, display_sieve_add_or_delete, 0); } webcit-9.01-dfsg/siteconfig.c000066400000000000000000000352661254743150300161570ustar00rootroot00000000000000/* * Administrative screen for site-wide configuration * * Copyright (c) 1996-2014 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" CtxType CTX_SRVLOG = CTX_NONE; HashList *ZoneHash = NULL; ConstStr ExpirePolicyString = {CStrOf(roompolicy) }; ConstStr ExpirePolicyStrings[][2] = { { { CStrOf(roompolicy) } , { strof(roompolicy) "_value", sizeof(strof(roompolicy) "_value") - 1 } }, { { CStrOf(floorpolicy) } , { strof(floorpolicy) "_value", sizeof(strof(floorpolicy) "_value") - 1 } }, { { CStrOf(sitepolicy) } , { strof(sitepolicy) "_value", sizeof(strof(sitepolicy) "_value") - 1 } }, { { CStrOf(mailboxespolicy)} , { strof(mailboxespolicy)"_value", sizeof(strof(mailboxespolicy)"_value") - 1 } } }; void LoadExpirePolicy(GPEXWhichPolicy which) { StrBuf *Buf; wcsession *WCC = WC; long State; const char *Pos = NULL; serv_printf("GPEX %s", ExpirePolicyStrings[which][0].Key); Buf = NewStrBuf(); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, &State) == 2) { Pos = ChrPtr(Buf) + 4; WCC->Policy[which].expire_mode = StrBufExtractNext_long(Buf, &Pos, '|'); WCC->Policy[which].expire_value = StrBufExtractNext_long(Buf, &Pos, '|'); } else if (State == 550) AppendImportantMessage(_("Higher access is required to access this function."), -1); FreeStrBuf(&Buf); } void SaveExpirePolicyFromHTTP(GPEXWhichPolicy which) { StrBuf *Buf; long State; serv_printf("SPEX %s|%d|%d", ExpirePolicyStrings[which][0].Key, ibcstr( ExpirePolicyStrings[which][1] ), ibcstr( ExpirePolicyStrings[which][1] ) ); Buf = NewStrBuf(); StrBuf_ServGetln(Buf); GetServerStatus(Buf, &State); if (State == 550) AppendImportantMessage(_("Higher access is required to access this function."), -1); FreeStrBuf(&Buf); } int ConditionalExpire(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; GPEXWhichPolicy which; int CompareWith; which = GetTemplateTokenNumber(Target, TP, 2, 0); CompareWith = GetTemplateTokenNumber(Target, TP, 3, 0); LoadExpirePolicy(which); return WCC->Policy[which].expire_mode == CompareWith; } void tmplput_ExpireValue(StrBuf *Target, WCTemplputParams *TP) { GPEXWhichPolicy which; wcsession *WCC = WC; which = GetTemplateTokenNumber(Target, TP, 0, 0); LoadExpirePolicy(which); StrBufAppendPrintf(Target, "%d", WCC->Policy[which].expire_value); } void tmplput_ExpireMode(StrBuf *Target, WCTemplputParams *TP) { GPEXWhichPolicy which; wcsession *WCC = WC; which = GetTemplateTokenNumber(Target, TP, 2, 0); LoadExpirePolicy(which); StrBufAppendPrintf(Target, "%d", WCC->Policy[which].expire_mode); } void LoadZoneFiles(void) { icalarray *zones; int z; long len; const char *this_zone; StrBuf *ZName; ZoneHash = NewHash(1, NULL); ZName = NewStrBufPlain(HKEY("UTC")); Put(ZoneHash, HKEY("UTC"), ZName, HFreeStrBuf); zones = icaltimezone_get_builtin_timezones(); for (z = 0; z < zones->num_elements; ++z) { /* syslog(LOG_DEBUG, "Location: %-40s tzid: %s\n", icaltimezone_get_location(icalarray_element_at(zones, z)), icaltimezone_get_tzid(icalarray_element_at(zones, z)) ); */ this_zone = icaltimezone_get_location(icalarray_element_at(zones, z)); len = strlen(this_zone); ZName = NewStrBufPlain(this_zone, len); Put(ZoneHash, this_zone, len, ZName, HFreeStrBuf); } SortByHashKey(ZoneHash, 0); } typedef struct _CfgMapping { int type; int min; int max; const char *defval; const char *Key; long len; } CfgMapping; #define CFG_STR 1 #define CFG_YES 2 #define CFG_NO 3 #define CFG_INT 4 CfgMapping ServerConfig[] = { {CFG_STR, 0, 0, "", HKEY("c_nodename")}, {CFG_STR, 0, 0, "", HKEY("c_fqdn")}, {CFG_STR, 0, 0, "", HKEY("c_humannode")}, {CFG_STR, 0, 0, "", HKEY("c_phonenum")}, {CFG_YES, 0, 0, "", HKEY("c_creataide")}, {CFG_STR, 0, 0, "", HKEY("c_sleeping")}, {CFG_STR, 0, 0, "", HKEY("c_initax")}, {CFG_YES, 0, 0, "", HKEY("c_regiscall")}, {CFG_YES, 0, 0, "", HKEY("c_twitdetect")}, {CFG_STR, 0, 0, "", HKEY("c_twitroom")}, {CFG_STR, 0, 0, "", HKEY("c_moreprompt")}, {CFG_YES, 0, 0, "", HKEY("c_restrict")}, {CFG_STR, 0, 0, "", HKEY("c_bbs_city")}, {CFG_STR, 0, 0, "", HKEY("c_sysadm")}, {CFG_STR, 0, 0, "", HKEY("c_maxsessions")}, {CFG_STR, 0, 0, "", HKEY("reserved1")}, {CFG_STR, 0, 0, "", HKEY("c_userpurge")}, {CFG_STR, 0, 0, "", HKEY("c_roompurge")}, {CFG_STR, 0, 0, "", HKEY("c_logpages")}, {CFG_STR, 0, 0, "", HKEY("c_createax")}, {CFG_STR, 0, 0, "", HKEY("c_maxmsglen")}, {CFG_STR, 0, 0, "", HKEY("c_min_workers")}, {CFG_STR, 0, 0, "", HKEY("c_max_workers")}, {CFG_STR, 0, 0, "", HKEY("c_pop3_port")}, {CFG_STR, 0, 0, "", HKEY("c_smtp_port")}, {CFG_INT, CFG_SMTP_FROM_FILTERALL, CFG_SMTP_FROM_REJECT, "0", HKEY("c_rfc822_strict_from")}, {CFG_YES, 0, 0, "", HKEY("c_aide_zap")}, {CFG_STR, 0, 0, "", HKEY("c_imap_port")}, {CFG_STR, 0, 0, "", HKEY("c_net_freq")}, {CFG_YES, 0, 0, "", HKEY("c_disable_newu")}, {CFG_STR, 0, 0, "", HKEY("reserved2")}, {CFG_STR, 0, 0, "", HKEY("c_purge_hour")}, {CFG_STR, 0, 0, "", HKEY("c_ldap_host")}, {CFG_STR, 0, 0, "", HKEY("c_ldap_port")}, {CFG_STR, 0, 0, "", HKEY("c_ldap_base_dn")}, {CFG_STR, 0, 0, "", HKEY("c_ldap_bind_dn")}, {CFG_STR, 0, 0, "", HKEY("c_ldap_bind_pw")}, {CFG_STR, 0, 0, "", HKEY("c_ip_addr")}, {CFG_STR, 0, 0, "", HKEY("c_msa_port")}, {CFG_STR, 0, 0, "", HKEY("c_imaps_port")}, {CFG_STR, 0, 0, "", HKEY("c_pop3s_port")}, {CFG_STR, 0, 0, "", HKEY("c_smtps_port")}, {CFG_YES, 0, 0, "", HKEY("c_enable_fulltext")}, {CFG_YES, 0, 0, "", HKEY("c_auto_cull")}, {CFG_YES, 0, 0, "", HKEY("reserved3")}, {CFG_YES, 0, 0, "", HKEY("c_allow_spoofing")}, {CFG_YES, 0, 0, "", HKEY("c_journal_email")}, {CFG_YES, 0, 0, "", HKEY("c_journal_pubmsgs")}, {CFG_STR, 0, 0, "", HKEY("c_journal_dest")}, {CFG_STR, 0, 0, "", HKEY("c_default_cal_zone")}, {CFG_STR, 0, 0, "", HKEY("c_pftcpdict_port")}, {CFG_STR, 0, 0, "", HKEY("c_mgesve_port")}, {CFG_STR, 0, 0, "", HKEY("c_auth_mode")}, {CFG_STR, 0, 0, "", HKEY("c_funambol_host")}, {CFG_STR, 0, 0, "", HKEY("c_funambol_port")}, {CFG_STR, 0, 0, "", HKEY("c_funambol_source")}, {CFG_STR, 0, 0, "", HKEY("c_funambol_auth")}, {CFG_YES, 0, 0, "", HKEY("c_rbl_at_greeting")}, {CFG_STR, 0, 0, "", HKEY("c_master_user")}, {CFG_STR, 0, 0, "", HKEY("c_master_pass")}, {CFG_STR, 0, 0, "", HKEY("c_pager_program")}, {CFG_YES, 0, 0, "", HKEY("c_imap_keep_from")}, {CFG_STR, 0, 0, "", HKEY("c_xmpp_c2s_port")}, {CFG_STR, 0, 0, "", HKEY("c_xmpp_s2s_port")}, {CFG_STR, 0, 0, "", HKEY("c_pop3_fetch")}, {CFG_STR, 0, 0, "", HKEY("c_pop3_fastest")}, {CFG_YES, 0, 0, "", HKEY("c_spam_flag_only")}, {CFG_YES, 0, 0, "", HKEY("c_guest_logins")}, {CFG_STR, 0, 0, "", HKEY("c_port_number")}, {CFG_STR, 0, 0, "", HKEY("c_ctdluid")}, {CFG_STR, 0, 0, "", HKEY("c_nntp_port")}, {CFG_STR, 0, 0, "", HKEY("c_nntps_port")} }; /* * display all configuration items */ void load_siteconfig(void) { wcsession *WCC = WC; StrBuf *Buf; HashList *Cfg; long len; int i, j; if (WCC->ServCfg == NULL) WCC->ServCfg = NewHash(1, NULL); Cfg = WCC->ServCfg; Buf = NewStrBuf(); serv_printf("CONF get"); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) != 1) { StrBufCutLeft(Buf, 4); AppendImportantMessage(SKEY(Buf)); FreeStrBuf(&Buf); return; } j = i = 0; while (len = StrBuf_ServGetln(Buf), (len >= 0) && ((len != 3) || strcmp(ChrPtr(Buf), "000"))) { if (i < (sizeof(ServerConfig) / sizeof(CfgMapping))) { Put(Cfg, ServerConfig[i].Key, ServerConfig[i].len, Buf, HFreeStrBuf); i++; Buf = NewStrBuf(); } else { if (j == 0) { syslog(LOG_WARNING, "The server sent more configuration data than this version of webcit is capable of changing. Unknown configuration values will remain unchanged."); } j++; } } FreeStrBuf(&Buf); LoadExpirePolicy(roompolicy); LoadExpirePolicy(floorpolicy); LoadExpirePolicy(mailboxespolicy); LoadExpirePolicy(sitepolicy); } /* * parse siteconfig changes */ void siteconfig(void) { wcsession *WCC = WC; int i, value; StrBuf *Line; if (strlen(bstr("ok_button")) == 0) { display_aide_menu(); return; } Line = NewStrBuf(); serv_printf("CONF set"); StrBuf_ServGetln(Line); if (GetServerStatusMsg(Line, NULL, 1, 4) != 4) { display_aide_menu(); FreeStrBuf(&Line); return; } FreeStrBuf(&Line); for (i=0; i < (sizeof(ServerConfig) / sizeof(CfgMapping)); i ++) { switch (ServerConfig[i].type) { default: case CFG_STR: serv_putbuf(SBstr(ServerConfig[i].Key, ServerConfig[i].len)); break; case CFG_YES: serv_puts(YesBstr(ServerConfig[i].Key, ServerConfig[i].len) ? "1" : "0"); break; case CFG_NO: serv_puts(YesBstr(ServerConfig[i].Key, ServerConfig[i].len) ? "0" : "1"); break; case CFG_INT: value = IBstr(ServerConfig[i].Key, ServerConfig[i].len); if ((value < ServerConfig[i].min) || (value > ServerConfig[i].max)) value = atol(ServerConfig[i].defval); serv_printf("%d", value); break; } } serv_puts("000"); SaveExpirePolicyFromHTTP(sitepolicy); SaveExpirePolicyFromHTTP(mailboxespolicy); FreeStrBuf(&WCC->serv_info->serv_default_cal_zone); WCC->serv_info->serv_default_cal_zone = NewStrBufDup(sbstr("c_default_cal_zone")); AppendImportantMessage(_("Your system configuration has been updated."), -1); DeleteHash(&WCC->ServCfg); display_aide_menu(); } void tmplput_servcfg(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; void *vBuf; StrBuf *Buf; if (WCC->is_aide) { if (WCC->ServCfg == NULL) load_siteconfig(); GetHash(WCC->ServCfg, TKEY(0), &vBuf); Buf = (StrBuf*) vBuf; StrBufAppendTemplate(Target, TP, Buf, 1); } } int ConditionalServCfg(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; void *vBuf; StrBuf *Buf; if (WCC->is_aide) { if (WCC->ServCfg == NULL) load_siteconfig(); GetHash(WCC->ServCfg, TKEY(2), &vBuf); if (vBuf == NULL) return 0; Buf = (StrBuf*) vBuf; if (TP->Tokens->nParameters == 3) { return 1; } else if (IS_NUMBER(TP->Tokens->Params[3]->Type)) return (StrTol(Buf) == GetTemplateTokenNumber (Target, TP, 3, 0)); else { const char *pch; long len; GetTemplateTokenString(Target, TP, 3, &pch, &len); return ((len == StrLength(Buf)) && (strcmp(pch, ChrPtr(Buf)) == 0)); } } else return 0; } int ConditionalServCfgCTXStrBuf(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; void *vBuf; StrBuf *Buf; StrBuf *ZoneToCheck = (StrBuf*) CTX(CTX_STRBUF); if ((WCC->is_aide) || (ZoneToCheck == NULL)) { if (WCC->ServCfg == NULL) load_siteconfig(); GetHash(WCC->ServCfg, TKEY(2), &vBuf); if (vBuf == NULL) return 0; Buf = (StrBuf*) vBuf; return strcmp(ChrPtr(Buf), ChrPtr(ZoneToCheck)) == 0; } else return 0; } /*----------------------------------------------------------------------------* * Displaying Logging * *----------------------------------------------------------------------------*/ typedef struct __LogStatusStruct { int Enable; StrBuf *Name; }LogStatusStruct; void DeleteLogStatusStruct(void *v) { LogStatusStruct *Stat = (LogStatusStruct*)v; FreeStrBuf(&Stat->Name); free(Stat); } void tmplput_servcfg_LogName(StrBuf *Target, WCTemplputParams *TP) { LogStatusStruct *Stat = (LogStatusStruct*) CTX(CTX_SRVLOG); StrBufAppendTemplate(Target, TP, Stat->Name, 1); } int ConditionalServCfgThisLogEnabled(StrBuf *Target, WCTemplputParams *TP) { LogStatusStruct *Stat = (LogStatusStruct*) CTX(CTX_SRVLOG); return Stat->Enable; } HashList *iterate_GetSrvLogEnable(StrBuf *Target, WCTemplputParams *TP) { HashList *Hash = NULL; StrBuf *Buf; LogStatusStruct *Stat; const char *Pos; int Done = 0; long len; int num_logs = 0; serv_puts("LOGP"); Buf = NewStrBuf(); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 1) { Hash = NewHash(1, Flathash); while (!Done) { len = StrBuf_ServGetln(Buf); if ((len <0) || ((len == 3) && !strcmp(ChrPtr(Buf), "000"))) { Done = 1; break; } Stat = (LogStatusStruct*) malloc (sizeof(LogStatusStruct)); Pos = NULL; Stat->Name = NewStrBufPlain(NULL, len); StrBufExtract_NextToken(Stat->Name, Buf, &Pos, '|'); Stat->Enable = StrBufExtractNext_int(Buf, &Pos, '|'); Put(Hash, IKEY(num_logs), Stat, DeleteLogStatusStruct); num_logs++; } } FreeStrBuf(&Buf); return Hash; } void InitModule_SITECONFIG (void) { RegisterCTX(CTX_SRVLOG); WebcitAddUrlHandler(HKEY("siteconfig"), "", 0, siteconfig, CTX_NONE); RegisterNamespace("SERV:CFG", 1, 2, tmplput_servcfg, NULL, CTX_NONE); RegisterConditional("COND:SERVCFG", 3, ConditionalServCfg, CTX_NONE); RegisterConditional("COND:SERVCFG:CTXSTRBUF", 4, ConditionalServCfgCTXStrBuf, CTX_STRBUF); RegisterIterator("PREF:ZONE", 0, ZoneHash, NULL, NULL, NULL, CTX_STRBUF, CTX_NONE, IT_NOFLAG); REGISTERTokenParamDefine(roompolicy); REGISTERTokenParamDefine(floorpolicy); REGISTERTokenParamDefine(sitepolicy); REGISTERTokenParamDefine(mailboxespolicy); REGISTERTokenParamDefine(EXPIRE_NEXTLEVEL); REGISTERTokenParamDefine(EXPIRE_MANUAL); REGISTERTokenParamDefine(EXPIRE_NUMMSGS); REGISTERTokenParamDefine(EXPIRE_AGE); REGISTERTokenParamDefine(CFG_SMTP_FROM_FILTERALL); REGISTERTokenParamDefine(CFG_SMTP_FROM_NOFILTER); REGISTERTokenParamDefine(CFG_SMTP_FROM_CORRECT); REGISTERTokenParamDefine(CFG_SMTP_FROM_REJECT); RegisterConditional("COND:EXPIRE:MODE", 2, ConditionalExpire, CTX_NONE); RegisterNamespace("EXPIRE:VALUE", 1, 2, tmplput_ExpireValue, NULL, CTX_NONE); RegisterNamespace("EXPIRE:MODE", 1, 2, tmplput_ExpireMode, NULL, CTX_NONE); RegisterConditional("COND:SERVCFG:THISLOGENABLE", 4, ConditionalServCfgThisLogEnabled, CTX_SRVLOG); RegisterIterator("SERVCFG:LOGENABLE", 0, NULL, iterate_GetSrvLogEnable, NULL, DeleteHash, CTX_SRVLOG, CTX_NONE, IT_NOFLAG); RegisterNamespace("SERVCFG:LOGNAME", 0, 1, tmplput_servcfg_LogName, NULL, CTX_SRVLOG); } void ServerStartModule_SITECONFIG (void) { LoadZoneFiles(); } void ServerShutdownModule_SITECONFIG (void) { DeleteHash(&ZoneHash); } void SessionDestroyModule_SITECONFIG (wcsession *sess) { DeleteHash(&sess->ServCfg); } webcit-9.01-dfsg/sitemap.c000066400000000000000000000121221254743150300154510ustar00rootroot00000000000000/* * XML sitemap generator * * Copyright (c) 2010-2012 by the citadel.org team * * This program is open source software; you can redistribute it and/or modify * it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" /* * XML sitemap generator -- go through the message list for a BBS room */ void sitemap_do_bbs(void) { wcsession *WCC = WC; int num_msgs = 0; int i; SharedMessageStatus Stat; message_summary *Msg = NULL; memset(&Stat, 0, sizeof Stat); Stat.maxload = INT_MAX; Stat.lowest_found = (-1); Stat.highest_found = (-1); num_msgs = load_msg_ptrs("MSGS ALL", NULL, &Stat, NULL); if (num_msgs < 1) return; for (i=0; isumm); if (Msg != NULL) { wc_printf("%s/readfwd", ChrPtr(site_prefix)); wc_printf("?go="); urlescputs(ChrPtr(WC->CurRoom.name)); wc_printf("?start_reading_at=%ld", Msg->msgnum); wc_printf("\r\n"); } } } /* * XML sitemap generator -- go through the message list for a Blog room */ void sitemap_do_blog(void) { wcsession *WCC = WC; int num_msgs = 0; int i; SharedMessageStatus Stat; message_summary *Msg = NULL; StrBuf *Buf = NewStrBuf(); StrBuf *FoundCharset = NewStrBuf(); memset(&Stat, 0, sizeof Stat); Stat.maxload = INT_MAX; Stat.lowest_found = (-1); Stat.highest_found = (-1); num_msgs = load_msg_ptrs("MSGS ALL", NULL, &Stat, NULL); if (num_msgs < 1) return; for (i=0; isumm); if (Msg != NULL) { ReadOneMessageSummary(Msg, FoundCharset, Buf); /* Show only top level posts, not comments */ if ((Msg->reply_inreplyto_hash != 0) && (Msg->reply_references_hash == 0)) { WCC->bptlid = Msg->reply_inreplyto_hash; wc_printf("%s", ChrPtr(site_prefix)); tmplput_blog_permalink(NULL, NULL); wc_printf("\r\n"); } } } FreeStrBuf(&Buf); FreeStrBuf(&FoundCharset); } /* * XML sitemap generator -- go through the message list for a wiki room */ void sitemap_do_wiki(void) { wcsession *WCC = WC; int num_msgs = 0; int i; SharedMessageStatus Stat; message_summary *Msg = NULL; char buf[256]; memset(&Stat, 0, sizeof Stat); Stat.maxload = INT_MAX; Stat.lowest_found = (-1); Stat.highest_found = (-1); num_msgs = load_msg_ptrs("MSGS ALL", NULL, &Stat, NULL); if (num_msgs < 1) return; for (i=0; isumm); if (Msg != NULL) { serv_printf("MSG0 %ld|3", Msg->msgnum); serv_getln(buf, sizeof buf); if (buf[0] == '1') while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) { if ( (!strncasecmp(buf, "exti=", 5)) && (!bmstrcasestr(buf, "_HISTORY_")) ) { wc_printf("%s/wiki", ChrPtr(site_prefix)); wc_printf("?go="); urlescputs(ChrPtr(WC->CurRoom.name)); wc_printf("?page=%s", &buf[5]); wc_printf("\r\n"); } } } } } struct sitemap_room_list { struct sitemap_room_list *next; StrBuf *roomname; int defview; }; /* * Load the room list for the sitemap */ struct sitemap_room_list *sitemap_load_roomlist(void) { char buf[SIZ]; char roomname_plain[SIZ]; struct sitemap_room_list *roomlist = NULL; serv_puts("LKRA"); serv_getln(buf, sizeof buf); if (buf[0] == '1') while(serv_getln(buf, sizeof buf), strcmp(buf, "000")) { struct sitemap_room_list *ptr = malloc(sizeof(struct sitemap_room_list)); extract_token(roomname_plain, buf, 0, '|', sizeof roomname_plain); ptr->roomname = NewStrBufPlain(roomname_plain, -1); ptr->defview = extract_int(buf, 6); ptr->next = roomlist; roomlist = ptr; } return(roomlist); } /* * Entry point for RSS feed generator */ void sitemap(void) { struct sitemap_room_list *roomlist = NULL; output_headers(0, 0, 0, 0, 1, 0); hprintf("Content-type: text/xml\r\n"); hprintf( "Server: %s / %s\r\n" "Connection: close\r\n" , PACKAGE_STRING, ChrPtr(WC->serv_info->serv_software) ); begin_burst(); wc_printf("\r\n"); wc_printf("\r\n"); roomlist = sitemap_load_roomlist(); while (roomlist != NULL) { struct sitemap_room_list *ptr; gotoroom(roomlist->roomname); /* Output the messages in this room only if it's a room type we can make sense of */ switch(roomlist->defview) { case VIEW_BBS: sitemap_do_bbs(); break; case VIEW_WIKI: case VIEW_WIKIMD: sitemap_do_wiki(); break; case VIEW_BLOG: sitemap_do_blog(); break; default: break; } ptr = roomlist; roomlist = roomlist->next; FreeStrBuf(&ptr->roomname); free(ptr); } wc_printf("\r\n"); wDumpContent(0); } void InitModule_SITEMAP (void) { WebcitAddUrlHandler(HKEY("sitemap"), "", 0, sitemap, ANONYMOUS|COOKIEUNNEEDED); WebcitAddUrlHandler(HKEY("sitemap.xml"), "", 0, sitemap, ANONYMOUS|COOKIEUNNEEDED); } webcit-9.01-dfsg/smtpqueue.c000066400000000000000000000302041254743150300160400ustar00rootroot00000000000000/* * Display the outbound SMTP queue */ #include "webcit.h" CtxType CTX_MAILQITEM = CTX_NONE; CtxType CTX_MAILQ_RCPT = CTX_NONE; HashList *QItemHandlers = NULL; typedef struct _mailq_entry { StrBuf *Recipient; StrBuf *StatusMessage; int Status; /**< * 0 = No delivery has yet been attempted * 2 = Delivery was successful * 3 = Transient error like connection problem. Try next remote if available. * 4 = A transient error was experienced ... try again later * 5 = Delivery to this address failed permanently. The error message * should be placed in the fourth field so that a bounce message may * be generated. */ int n; int Active; }MailQEntry; typedef struct queueitem { long MessageID; long QueMsgID; long Submitted; int FailNow; HashList *MailQEntries; /* copy of the currently parsed item in the MailQEntries list; * if null add a new one. */ MailQEntry *Current; time_t ReattemptWhen; time_t Retry; long ActiveDeliveries; StrBuf *EnvelopeFrom; StrBuf *BounceTo; StrBuf *SenderRoom; ParsedURL *URL; ParsedURL *FallBackHost; } OneQueItem; typedef void (*QItemHandler)(OneQueItem *Item, StrBuf *Line, const char **Pos); typedef struct __QItemHandlerStruct { QItemHandler H; } QItemHandlerStruct; void RegisterQItemHandler(const char *Key, long Len, QItemHandler H) { QItemHandlerStruct *HS = (QItemHandlerStruct*)malloc(sizeof(QItemHandlerStruct)); HS->H = H; Put(QItemHandlers, Key, Len, HS, NULL); } void FreeMailQEntry(void *qv) { MailQEntry *Q = qv; FreeStrBuf(&Q->Recipient); FreeStrBuf(&Q->StatusMessage); free(Q); } void FreeQueItem(OneQueItem **Item) { DeleteHash(&(*Item)->MailQEntries); FreeStrBuf(&(*Item)->EnvelopeFrom); FreeStrBuf(&(*Item)->BounceTo); FreeStrBuf(&(*Item)->SenderRoom); FreeURL(&(*Item)->URL); free(*Item); Item = NULL; } void HFreeQueItem(void *Item) { FreeQueItem((OneQueItem**)&Item); } OneQueItem *DeserializeQueueItem(StrBuf *RawQItem, long QueMsgID) { OneQueItem *Item; const char *pLine = NULL; StrBuf *Line; StrBuf *Token; Item = (OneQueItem*)malloc(sizeof(OneQueItem)); memset(Item, 0, sizeof(OneQueItem)); Item->Retry = 0; Item->MessageID = -1; Item->QueMsgID = QueMsgID; Token = NewStrBuf(); Line = NewStrBufPlain(NULL, 128); while (pLine != StrBufNOTNULL) { const char *pItemPart = NULL; void *vHandler; StrBufExtract_NextToken(Line, RawQItem, &pLine, '\n'); if (StrLength(Line) == 0) continue; StrBufExtract_NextToken(Token, Line, &pItemPart, '|'); if (GetHash(QItemHandlers, SKEY(Token), &vHandler)) { QItemHandlerStruct *HS; HS = (QItemHandlerStruct*) vHandler; HS->H(Item, Line, &pItemPart); } } FreeStrBuf(&Line); FreeStrBuf(&Token); /* Put(ActiveQItems, LKEY(Item->MessageID), Item, HFreeQueItem); */ return Item; } void tmplput_MailQID(StrBuf *Target, WCTemplputParams *TP) { OneQueItem *Item = (OneQueItem*) CTX(CTX_MAILQITEM); StrBufAppendPrintf(Target, "%ld", Item->QueMsgID);; } void tmplput_MailQPayloadID(StrBuf *Target, WCTemplputParams *TP) { OneQueItem *Item = (OneQueItem*) CTX(CTX_MAILQITEM); StrBufAppendPrintf(Target, "%ld", Item->MessageID); } void tmplput_MailQBounceTo(StrBuf *Target, WCTemplputParams *TP) { OneQueItem *Item = (OneQueItem*) CTX(CTX_MAILQITEM); StrBufAppendTemplate(Target, TP, Item->BounceTo, 0); } void tmplput_MailQAttempted(StrBuf *Target, WCTemplputParams *TP) { char datebuf[64]; OneQueItem *Item = (OneQueItem*) CTX(CTX_MAILQITEM); webcit_fmt_date(datebuf, 64, Item->ReattemptWhen, DATEFMT_BRIEF); StrBufAppendBufPlain(Target, datebuf, -1, 0); } void tmplput_MailQSubmitted(StrBuf *Target, WCTemplputParams *TP) { char datebuf[64]; OneQueItem *Item = (OneQueItem*) CTX(CTX_MAILQITEM); webcit_fmt_date(datebuf, 64, Item->Submitted, DATEFMT_BRIEF); StrBufAppendBufPlain(Target, datebuf, -1, 0); } void tmplput_MailQEnvelopeFrom(StrBuf *Target, WCTemplputParams *TP) { OneQueItem *Item = (OneQueItem*) CTX(CTX_MAILQITEM); StrBufAppendTemplate(Target, TP, Item->EnvelopeFrom, 0); } void tmplput_MailQSourceRoom(StrBuf *Target, WCTemplputParams *TP) { OneQueItem *Item = (OneQueItem*) CTX(CTX_MAILQITEM); StrBufAppendTemplate(Target, TP, Item->SenderRoom, 0); } int Conditional_MailQ_HaveSourceRoom(StrBuf *Target, WCTemplputParams *TP) { OneQueItem *Item = (OneQueItem*) CTX(CTX_MAILQITEM); return StrLength(Item->SenderRoom) > 0; } void tmplput_MailQRetry(StrBuf *Target, WCTemplputParams *TP) { char datebuf[64]; OneQueItem *Item = (OneQueItem*) CTX(CTX_MAILQITEM); if (Item->Retry == 0) { StrBufAppendBufPlain(Target, _("First Attempt pending"), -1, 0); } else { webcit_fmt_date(datebuf, sizeof(datebuf), Item->Retry, DATEFMT_BRIEF); StrBufAppendBufPlain(Target, datebuf, -1, 0); } } void tmplput_MailQRCPT(StrBuf *Target, WCTemplputParams *TP) { MailQEntry *Entry = (MailQEntry*) CTX(CTX_MAILQ_RCPT); StrBufAppendTemplate(Target, TP, Entry->Recipient, 0); } void tmplput_MailQRCPTStatus(StrBuf *Target, WCTemplputParams *TP) { MailQEntry *Entry = (MailQEntry*) CTX(CTX_MAILQ_RCPT); StrBufAppendPrintf(Target, "%ld", Entry->Status); } void tmplput_MailQStatusMsg(StrBuf *Target, WCTemplputParams *TP) { MailQEntry *Entry = (MailQEntry*) CTX(CTX_MAILQ_RCPT); StrBufAppendTemplate(Target, TP, Entry->StatusMessage, 0); } HashList *iterate_get_Recipients(StrBuf *Target, WCTemplputParams *TP) { OneQueItem *Item = (OneQueItem*) CTX(CTX_MAILQITEM); return Item->MailQEntries; } void NewMailQEntry(OneQueItem *Item) { Item->Current = (MailQEntry*) malloc(sizeof(MailQEntry)); memset(Item->Current, 0, sizeof(MailQEntry)); if (Item->MailQEntries == NULL) Item->MailQEntries = NewHash(1, Flathash); Item->Current->StatusMessage = NewStrBuf(); Item->Current->n = GetCount(Item->MailQEntries); Put(Item->MailQEntries, IKEY(Item->Current->n), Item->Current, FreeMailQEntry); } void QItem_Handle_MsgID(OneQueItem *Item, StrBuf *Line, const char **Pos) { Item->MessageID = StrBufExtractNext_long(Line, Pos, '|'); } void QItem_Handle_EnvelopeFrom(OneQueItem *Item, StrBuf *Line, const char **Pos) { if (Item->EnvelopeFrom == NULL) Item->EnvelopeFrom = NewStrBufPlain(NULL, StrLength(Line)); StrBufExtract_NextToken(Item->EnvelopeFrom, Line, Pos, '|'); } void QItem_Handle_BounceTo(OneQueItem *Item, StrBuf *Line, const char **Pos) { if (Item->BounceTo == NULL) Item->BounceTo = NewStrBufPlain(NULL, StrLength(Line)); StrBufExtract_NextToken(Item->BounceTo, Line, Pos, '|'); } void QItem_Handle_SenderRoom(OneQueItem *Item, StrBuf *Line, const char **Pos) { if (Item->SenderRoom == NULL) Item->SenderRoom = NewStrBufPlain(NULL, StrLength(Line)); StrBufExtract_NextToken(Item->SenderRoom, Line, Pos, '|'); } void QItem_Handle_Recipient(OneQueItem *Item, StrBuf *Line, const char **Pos) { const char *pch; if (Item->Current == NULL) NewMailQEntry(Item); if (Item->Current->Recipient == NULL) Item->Current->Recipient=NewStrBufPlain(NULL, StrLength(Line)); StrBufExtract_NextToken(Item->Current->Recipient, Line, Pos, '|'); Item->Current->Status = StrBufExtractNext_int(Line, Pos, '|'); StrBufExtract_NextToken(Item->Current->StatusMessage, Line, Pos, '|'); pch = ChrPtr(Item->Current->StatusMessage); while ((pch != NULL) && (*pch != '\0')) { pch = strchr(pch, ';'); if (pch != NULL) { pch ++; if (*pch == ' ') { StrBufPeek(Item->Current->StatusMessage, pch, -1, '\n'); } } } Item->Current = NULL; // TODO: is this always right? } void QItem_Handle_retry(OneQueItem *Item, StrBuf *Line, const char **Pos) { Item->Retry = StrBufExtractNext_int(Line, Pos, '|'); } void QItem_Handle_Submitted(OneQueItem *Item, StrBuf *Line, const char **Pos) { Item->Submitted = atol(*Pos); } void QItem_Handle_Attempted(OneQueItem *Item, StrBuf *Line, const char **Pos) { Item->ReattemptWhen = StrBufExtractNext_int(Line, Pos, '|'); } void render_QUEUE(StrBuf *Target, WCTemplputParams *TP, StrBuf *FoundCharset) { wc_mime_attachment *Mime = CTX(CTX_MIME_ATACH); WCTemplputParams SubTP; OneQueItem* Context; Context = DeserializeQueueItem(Mime->Data, Mime->msgnum); StackContext(TP, &SubTP, Context, CTX_MAILQITEM, 0, TP->Tokens); { DoTemplate(HKEY("view_mailq_message"), NULL, &SubTP); } UnStackContext(&SubTP); FreeQueItem (&Context); } void ServerShutdownModule_SMTP_QUEUE (void) { DeleteHash(&QItemHandlers); } void ServerStartModule_SMTP_QUEUE (void) { QItemHandlers = NewHash(0, NULL); } int qview_PrintPageHeader(SharedMessageStatus *Stat, void **ViewSpecific) { if (yesbstr("ListOnly")) output_headers(1, 0, 0, 0, 0, 0); else output_headers(1, 1, 1, 0, 0, 0); return 0; } int qview_GetParamsGetServerCall(SharedMessageStatus *Stat, void **ViewSpecific, long oper, char *cmd, long len, char *filter, long flen) { if (!WC->is_aide) { DoTemplate(HKEY("aide_required"), NULL, NULL); end_burst(); return 300; } else { snprintf(cmd, len, "MSGS ALL|0|1"); snprintf(filter, flen, "SUBJ|QMSG"); if (yesbstr("ListOnly")) DoTemplate(HKEY("view_mailq_table"), NULL, NULL); else DoTemplate(HKEY("view_mailq_header"), NULL, NULL); return 200; } } /* * Display task view */ int qview_LoadMsgFromServer(SharedMessageStatus *Stat, void **ViewSpecific, message_summary* Msg, int is_new, int i) { wcsession *WCC = WC; const StrBuf *Mime; /* Not (yet?) needed here? calview *c = (calview *) *ViewSpecific; */ read_message(WCC->WBuf, HKEY("view_mailq_message_bearer"), Msg->msgnum, NULL, &Mime); return 0; } int qview_RenderView_or_Tail(SharedMessageStatus *Stat, void **ViewSpecific, long oper) { wcsession *WCC = WC; WCTemplputParams SubTP; memset(&SubTP, 0, sizeof(WCTemplputParams)); if (yesbstr("ListOnly")) DoTemplate(HKEY("view_mailq_footer_listonly"),NULL, &SubTP); else { if (GetCount(WCC->summ) == 0) DoTemplate(HKEY("view_mailq_footer_empty"),NULL, &SubTP); else DoTemplate(HKEY("view_mailq_footer"),NULL, &SubTP); } return 0; } int qview_Cleanup(void **ViewSpecific) { wDumpContent(yesbstr("ListOnly")?0:1); return 0; } void InitModule_SMTP_QUEUE (void) { RegisterCTX(CTX_MAILQITEM); RegisterCTX(CTX_MAILQ_RCPT); RegisterQItemHandler(HKEY("msgid"), QItem_Handle_MsgID); RegisterQItemHandler(HKEY("envelope_from"), QItem_Handle_EnvelopeFrom); RegisterQItemHandler(HKEY("retry"), QItem_Handle_retry); RegisterQItemHandler(HKEY("attempted"), QItem_Handle_Attempted); RegisterQItemHandler(HKEY("remote"), QItem_Handle_Recipient); RegisterQItemHandler(HKEY("bounceto"), QItem_Handle_BounceTo); RegisterQItemHandler(HKEY("source_room"), QItem_Handle_SenderRoom); RegisterQItemHandler(HKEY("submitted"), QItem_Handle_Submitted); RegisterMimeRenderer(HKEY("application/x-citadel-delivery-list"), render_QUEUE, 1, 9000); RegisterNamespace("MAILQ:ID", 0, 0, tmplput_MailQID, NULL, CTX_MAILQITEM); RegisterNamespace("MAILQ:PAYLOAD:ID", 0, 0, tmplput_MailQPayloadID, NULL, CTX_MAILQITEM); RegisterNamespace("MAILQ:BOUNCETO", 0, 1, tmplput_MailQBounceTo, NULL, CTX_MAILQITEM); RegisterNamespace("MAILQ:ATTEMPTED", 0, 0, tmplput_MailQAttempted, NULL, CTX_MAILQITEM); RegisterNamespace("MAILQ:SUBMITTED", 0, 0, tmplput_MailQSubmitted, NULL, CTX_MAILQITEM); RegisterNamespace("MAILQ:ENVELOPEFROM", 0, 1, tmplput_MailQEnvelopeFrom, NULL, CTX_MAILQITEM); RegisterNamespace("MAILQ:SRCROOM", 0, 1, tmplput_MailQSourceRoom, NULL, CTX_MAILQITEM); RegisterConditional("COND:MAILQ:HAVESRCROOM", 0, Conditional_MailQ_HaveSourceRoom, CTX_MAILQITEM); RegisterNamespace("MAILQ:RETRY", 0, 0, tmplput_MailQRetry, NULL, CTX_MAILQITEM); RegisterNamespace("MAILQ:RCPT:ADDR", 0, 1, tmplput_MailQRCPT, NULL, CTX_MAILQ_RCPT); RegisterNamespace("MAILQ:RCPT:STATUS", 0, 0, tmplput_MailQRCPTStatus, NULL, CTX_MAILQ_RCPT); RegisterNamespace("MAILQ:RCPT:STATUSMSG", 0, 1, tmplput_MailQStatusMsg, NULL, CTX_MAILQ_RCPT); RegisterIterator("MAILQ:RCPT", 0, NULL, iterate_get_Recipients, NULL, NULL, CTX_MAILQ_RCPT, CTX_MAILQITEM, IT_NOFLAG); RegisterReadLoopHandlerset( VIEW_QUEUE, qview_GetParamsGetServerCall, qview_PrintPageHeader, NULL, /* TODO: is this right? */ NULL, qview_LoadMsgFromServer, qview_RenderView_or_Tail, qview_Cleanup); } webcit-9.01-dfsg/static.c000066400000000000000000000231441254743150300153040ustar00rootroot00000000000000/* * This is the main transaction loop of the web service. It maintains a * persistent session to the Citadel server, handling HTTP WebCit requests as * they arrive and presenting a user interface. */ #include #include #include #include #include #include #include #include #include "webcit.h" #include "webserver.h" unsigned char OnePixelGif[37] = { 0x47, 0x49, 0x46, 0x38, 0x37, 0x61, 0x01, 0x00, 0x01, 0x00, 0x80, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x02, 0x02, 0x44, 0x01, 0x00, 0x3b }; HashList *StaticFilemappings[5] = {NULL, NULL, NULL, NULL, NULL}; /* { syslog(LOG_DEBUG, "Suspicious request. Ignoring."); hprintf("HTTP/1.1 404 Security check failed\r\n"); hprintf("Content-Type: text/plain\r\n\r\n"); wc_printf("You have sent a malformed or invalid request.\r\n"); end_burst(); } */ void output_error_pic(const char *ErrMsg1, const char *ErrMsg2) { hprintf("HTTP/1.1 200 %s\r\n", ErrMsg1); hprintf("Content-Type: image/gif\r\n"); hprintf("x-webcit-errormessage: %s\r\n", ErrMsg2); begin_burst(); StrBufPlain(WC->WBuf, (const char *)OnePixelGif, sizeof(OnePixelGif)); end_burst(); } /* * dump out static pages from disk */ void output_static(const char *what) { int fd; struct stat statbuf; off_t bytes; const char *content_type; int len; const char *Err; len = strlen (what); content_type = GuessMimeByFilename(what, len); fd = open(what, O_RDONLY); if (fd <= 0) { syslog(LOG_INFO, "output_static('%s') [%s] -- NOT FOUND --\n", what, ChrPtr(WC->Hdr->this_page)); if (strstr(content_type, "image/") != NULL) { output_error_pic("the file you requsted is gone.", strerror(errno)); } else { hprintf("HTTP/1.1 404 %s\r\n", strerror(errno)); hprintf("Content-Type: text/plain\r\n"); begin_burst(); wc_printf("Cannot open %s: %s\r\n", what, strerror(errno)); end_burst(); } } else { if (fstat(fd, &statbuf) == -1) { syslog(LOG_INFO, "output_static('%s') -- FSTAT FAILED --\n", what); if (strstr(content_type, "image/") != NULL) { output_error_pic("Stat failed!", strerror(errno)); } else { hprintf("HTTP/1.1 404 %s\r\n", strerror(errno)); hprintf("Content-Type: text/plain\r\n"); begin_burst(); wc_printf("Cannot fstat %s: %s\n", what, strerror(errno)); end_burst(); } if (fd > 0) close(fd); return; } bytes = statbuf.st_size; if (StrBufReadBLOB(WC->WBuf, &fd, 1, bytes, &Err) < 0) { if (fd > 0) close(fd); syslog(LOG_INFO, "output_static('%s') -- FREAD FAILED (%s) --\n", what, strerror(errno)); hprintf("HTTP/1.1 500 internal server error \r\n"); hprintf("Content-Type: text/plain\r\n"); end_burst(); return; } close(fd); http_transmit_thing(content_type, 2); } if (yesbstr("force_close_session")) { end_webcit_session(); } } int LoadStaticDir(const char *DirName, HashList *DirList, const char *RelDir) { char dirname[PATH_MAX]; char reldir[PATH_MAX]; StrBuf *FileName = NULL; StrBuf *Dir = NULL; StrBuf *WebDir = NULL; StrBuf *OneWebName = NULL; DIR *filedir = NULL; struct dirent *d; struct dirent *filedir_entry; int d_type = 0; int d_namelen; int istoplevel; filedir = opendir (DirName); if (filedir == NULL) { return 0; } d = (struct dirent *)malloc(offsetof(struct dirent, d_name) + PATH_MAX + 1); if (d == NULL) { closedir(filedir); return 0; } Dir = NewStrBufPlain(DirName, -1); WebDir = NewStrBufPlain(RelDir, -1); istoplevel = IsEmptyStr(RelDir); OneWebName = NewStrBuf(); while ((readdir_r(filedir, d, &filedir_entry) == 0) && (filedir_entry != NULL)) { #ifdef _DIRENT_HAVE_D_NAMLEN d_namelen = filedir_entry->d_namlen; #else d_namelen = strlen(filedir_entry->d_name); #endif #ifdef _DIRENT_HAVE_D_TYPE d_type = filedir_entry->d_type; #else #ifndef DT_UNKNOWN #define DT_UNKNOWN 0 #define DT_DIR 4 #define DT_REG 8 #define DT_LNK 10 #define IFTODT(mode) (((mode) & 0170000) >> 12) #define DTTOIF(dirtype) ((dirtype) << 12) #endif d_type = DT_UNKNOWN; #endif if ((d_namelen > 1) && filedir_entry->d_name[d_namelen - 1] == '~') continue; /* Ignore backup files... */ if ((d_namelen == 1) && (filedir_entry->d_name[0] == '.')) continue; if ((d_namelen == 2) && (filedir_entry->d_name[0] == '.') && (filedir_entry->d_name[1] == '.')) continue; if (d_type == DT_UNKNOWN) { struct stat s; char path[PATH_MAX]; snprintf(path, PATH_MAX, "%s/%s", DirName, filedir_entry->d_name); if (lstat(path, &s) == 0) { d_type = IFTODT(s.st_mode); } } switch (d_type) { case DT_DIR: /* Skip directories we are not interested in... */ if ((strcmp(filedir_entry->d_name, ".svn") == 0) || (strcmp(filedir_entry->d_name, "t") == 0)) break; snprintf(dirname, PATH_MAX, "%s/%s/", DirName, filedir_entry->d_name); if (istoplevel) snprintf(reldir, PATH_MAX, "%s/", filedir_entry->d_name); else snprintf(reldir, PATH_MAX, "%s/%s/", RelDir, filedir_entry->d_name); StripSlashes(dirname, 1); StripSlashes(reldir, 1); LoadStaticDir(dirname, DirList, reldir); break; case DT_LNK: /* TODO: check whether its a file or a directory */ case DT_REG: FileName = NewStrBufDup(Dir); if (ChrPtr(FileName) [ StrLength(FileName) - 1] != '/') StrBufAppendBufPlain(FileName, "/", 1, 0); StrBufAppendBufPlain(FileName, filedir_entry->d_name, d_namelen, 0); FlushStrBuf(OneWebName); StrBufAppendBuf(OneWebName, WebDir, 0); if ((StrLength(OneWebName) != 0) && (ChrPtr(OneWebName) [ StrLength(OneWebName) - 1] != '/')) StrBufAppendBufPlain(OneWebName, "/", 1, 0); StrBufAppendBufPlain(OneWebName, filedir_entry->d_name, d_namelen, 0); Put(DirList, SKEY(OneWebName), FileName, HFreeStrBuf); /* syslog(LOG_DEBUG, "[%s | %s]\n", ChrPtr(OneWebName), ChrPtr(FileName)); */ break; default: break; } } free(d); closedir(filedir); FreeStrBuf(&Dir); FreeStrBuf(&WebDir); FreeStrBuf(&OneWebName); return 1; } void output_flat_static(void) { wcsession *WCC = WC; void *vFile; StrBuf *File; if (WCC->Hdr->HR.Handler == NULL) return; if (GetHash(StaticFilemappings[0], SKEY(WCC->Hdr->HR.Handler->Name), &vFile) && (vFile != NULL)) { File = (StrBuf*) vFile; output_static(ChrPtr(File)); } } void output_static_safe(HashList *DirList) { wcsession *WCC = WC; void *vFile; StrBuf *File; const char *MimeType; if (GetHash(DirList, SKEY(WCC->Hdr->HR.ReqLine), &vFile) && (vFile != NULL)) { File = (StrBuf*) vFile; output_static(ChrPtr(File)); } else { syslog(LOG_INFO, "output_static_safe() file %s not found. \n", ChrPtr(WCC->Hdr->HR.ReqLine)); MimeType = GuessMimeByFilename(SKEY(WCC->Hdr->HR.ReqLine)); if (strstr(MimeType, "image/") != NULL) { output_error_pic("the file you requested isn't known to our cache", "maybe reload webcit?"); } else { do_404(); } } } void output_static_0(void) { output_static_safe(StaticFilemappings[0]); } void output_static_1(void) { output_static_safe(StaticFilemappings[1]); } void output_static_2(void) { output_static_safe(StaticFilemappings[2]); } void output_static_3(void) { output_static_safe(StaticFilemappings[4]); } /* * robots.txt */ void robots_txt(void) { output_headers(0, 0, 0, 0, 0, 0); hprintf("Content-type: text/plain\r\n" "Server: %s\r\n" "Connection: close\r\n", PACKAGE_STRING); begin_burst(); wc_printf("User-agent: *\r\n" "Disallow: /printmsg\r\n" "Disallow: /msgheaders\r\n" "Disallow: /groupdav\r\n" "Disallow: /do_template\r\n" "Disallow: /static\r\n" "Disallow: /display_page\r\n" "Disallow: /readnew\r\n" "Disallow: /display_enter\r\n" "Disallow: /skip\r\n" "Disallow: /ungoto\r\n" "Sitemap: %s/sitemap.xml\r\n" "\r\n" , ChrPtr(site_prefix) ); wDumpContent(0); } void ServerStartModule_STATIC (void) { StaticFilemappings[0] = NewHash(1, NULL); StaticFilemappings[1] = NewHash(1, NULL); StaticFilemappings[2] = NewHash(1, NULL); StaticFilemappings[3] = NewHash(1, NULL); StaticFilemappings[4] = NewHash(1, NULL); } void ServerShutdownModule_STATIC (void) { DeleteHash(&StaticFilemappings[0]); DeleteHash(&StaticFilemappings[1]); DeleteHash(&StaticFilemappings[2]); DeleteHash(&StaticFilemappings[3]); DeleteHash(&StaticFilemappings[4]); } void InitModule_STATIC (void) { LoadStaticDir(static_dirs[0], StaticFilemappings[0], ""); LoadStaticDir(static_dirs[1], StaticFilemappings[1], ""); LoadStaticDir(static_dirs[2], StaticFilemappings[2], ""); LoadStaticDir(static_dirs[3], StaticFilemappings[3], ""); LoadStaticDir(static_dirs[4], StaticFilemappings[4], ""); WebcitAddUrlHandler(HKEY("robots.txt"), "", 0, robots_txt, ANONYMOUS|COOKIEUNNEEDED|ISSTATIC|LOGCHATTY); WebcitAddUrlHandler(HKEY("favicon.ico"), "", 0, output_flat_static, ANONYMOUS|COOKIEUNNEEDED|ISSTATIC|LOGCHATTY); WebcitAddUrlHandler(HKEY("static"), "", 0, output_static_0, ANONYMOUS|COOKIEUNNEEDED|ISSTATIC|LOGCHATTY); WebcitAddUrlHandler(HKEY("static.local"), "", 0, output_static_1, ANONYMOUS|COOKIEUNNEEDED|ISSTATIC|LOGCHATTY); WebcitAddUrlHandler(HKEY("tinymce"), "", 0, output_static_2, ANONYMOUS|COOKIEUNNEEDED|ISSTATIC|LOGCHATTY); WebcitAddUrlHandler(HKEY("tiny_mce"), "", 0, output_static_2, ANONYMOUS|COOKIEUNNEEDED|ISSTATIC|LOGCHATTY); WebcitAddUrlHandler(HKEY("markdown"), "", 0, output_static_3, ANONYMOUS|COOKIEUNNEEDED|ISSTATIC|LOGCHATTY); WebcitAddUrlHandler(HKEY("epiceditor"), "", 0, output_static_3, ANONYMOUS|COOKIEUNNEEDED|ISSTATIC|LOGCHATTY); } webcit-9.01-dfsg/static/000077500000000000000000000000001254743150300151345ustar00rootroot00000000000000webcit-9.01-dfsg/static/authmethods.js000066400000000000000000000122051254743150300200170ustar00rootroot00000000000000/* * Copyright 2010-2011, the Citadel Team * Licensed under the GPL V3 * * JavaScript functions which handle various authentication methods. */ /****************** COMMON CODE ***********************/ /* * Are we logged in right now? */ function IsLoggedIn() { if ($('is_logged_in').innerHTML == "yes") { return 1; } else { return 0; } } /* * Wrapper script to require logging in before completing an action */ function GetLoggedInFirst(destination_url) { /* If logged in already, go directly to the destination. */ if (IsLoggedIn()) { window.location = decodeURIComponent(destination_url); return; } p = 'push?url=' + destination_url; new Ajax.Request(p, { method: 'get' } ); /* If not logged in, go modal and ask the user to log in first. */ toggleModal(1); } /* * tab handler for the login box */ function authtoggle(show_which_div) { $('authbox_userpass').style.display = 'none'; $('authbox_newuser').style.display = 'none'; $('authbox_openid').style.display = 'none'; $('authbox_google').style.display = 'none'; $('authbox_yahoo').style.display = 'none'; $('authbox_aol').style.display = 'none'; $('authbox_success').style.display = 'none'; $(show_which_div).style.display = 'block'; } /* * Pop out a window for external auth methods * (most of them don't handle inline auth very well) */ function do_auth_popout(popout_url) { window.open(popout_url, "authpopout", "status=1,toolbar=0,width=600,height=400"); } /****************** USERNAME AND PASSWORD ***********************/ /* * Attempt login with username/password, called from modal dialog */ function ajax_try_username_and_password() { $('login_errmsg').innerHTML = ""; authtoggle('authbox_success'); $('ajax_username_password_form').request({ onSuccess: function(ctdlresult) { if (ctdlresult.responseText.substr(0,1) == '2') { window.location = 'pop'; } else { $('login_errmsg').innerHTML = ctdlresult.responseText.substr(4) ; authtoggle('authbox_userpass'); } } }); } /* * The user pressed a key while in the username or password box. * Is it the enter/return key? Submit the form. */ function username_and_password_onkeypress(e) { if (window.event) { /* IE */ keynum = e.keyCode } else if (e.which) { /* real browsers */ keynum = e.which } if (keynum == 13) { /* enter/return key */ ajax_try_username_and_password(); } } /****************** REGISTER NEW USER ***********************/ /* * Attempt to create a new local username/password, called from modal dialog */ function ajax_try_newuser() { $('login_errmsg').innerHTML = ""; $('ajax_newuser_form').request({ onSuccess: function(ctdlresult) { if (ctdlresult.responseText.substr(0,1) == '2') { authtoggle('authbox_success'); window.location = 'pop'; } else { $('login_errmsg').innerHTML = ctdlresult.responseText.substr(4) ; } } }); } /* * The user pressed a key while in the newuser or newpassword box. * Is it the enter/return key? Submit the form. */ function newuser_onkeypress(e) { if (window.event) { /* IE */ keynum = e.keyCode; } else if (e.which) { /* real browsers */ keynum = e.which; } if (keynum == 13) { /* enter/return key */ ajax_try_newuser(); } } /****************** OPENID ***********************/ /* * Attempt login with OpenID, called from modal dialog */ function ajax_try_openid() { $('login_errmsg').innerHTML = ""; openid_url = encodeURI($('ajax_openid_form').elements["openid_url"].value); do_auth_popout("openid_login?openid_url=" + openid_url); } /* * The user pressed a key while in the openid login box. * Is it the enter/return key? Submit the form. */ function openid_onkeypress(e) { if (window.event) { /* IE */ keynum = e.keyCode; } else if (e.which) { /* real browsers */ keynum = e.which; } if (keynum == 13) { /* enter/return key */ ajax_try_openid(); return false; } return true; } /****************** GOOGLE ***********************/ /* * Attempt login with Google, called from modal dialog */ function ajax_try_google() { $('login_errmsg').innerHTML = ""; openid_url = encodeURI("https://www.google.com/accounts/o8/id"); do_auth_popout("openid_login?openid_url=" + openid_url); } /****************** GOOGLE ***********************/ /* * Attempt login with Yahoo, called from modal dialog */ function ajax_try_yahoo() { $('login_errmsg').innerHTML = ""; openid_url = encodeURI("http://yahoo.com"); do_auth_popout("openid_login?openid_url=" + openid_url); } /****************** AOL ***********************/ /* * Attempt login with AOL, called from modal dialog */ function ajax_try_aol() { $('login_errmsg').innerHTML = ""; openid_url = encodeURI($('ajax_aol_form').elements["aol_screenname"].value); do_auth_popout("openid_login?openid_url=http://openid.aol.com/" + openid_url); } /* * The user pressed a key while in the AOL login box. * Is it the enter/return key? Submit the form. */ function aol_onkeypress(e) { if (window.event) { /* IE */ keynum = e.keyCode; } else if (e.which) { /* real browsers */ keynum = e.which; } if (keynum == 13) { /* enter/return key */ ajax_try_aol(); return false; } return true; } webcit-9.01-dfsg/static/builder.js000066400000000000000000000112101254743150300171130ustar00rootroot00000000000000// script.aculo.us builder.js v1.9.0, Thu Dec 23 16:54:48 -0500 2010 // Copyright (c) 2005-2010 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) // // script.aculo.us is freely distributable under the terms of an MIT-style license. // For details, see the script.aculo.us web site: http://script.aculo.us/ var Builder = { NODEMAP: { AREA: 'map', CAPTION: 'table', COL: 'table', COLGROUP: 'table', LEGEND: 'fieldset', OPTGROUP: 'select', OPTION: 'select', PARAM: 'object', TBODY: 'table', TD: 'table', TFOOT: 'table', TH: 'table', THEAD: 'table', TR: 'table' }, // note: For Firefox < 1.5, OPTION and OPTGROUP tags are currently broken, // due to a Firefox bug node: function(elementName) { elementName = elementName.toUpperCase(); // try innerHTML approach var parentTag = this.NODEMAP[elementName] || 'div'; var parentElement = document.createElement(parentTag); try { // prevent IE "feature": http://dev.rubyonrails.org/ticket/2707 parentElement.innerHTML = "<" + elementName + ">"; } catch(e) {} var element = parentElement.firstChild || null; // see if browser added wrapping tags if(element && (element.tagName.toUpperCase() != elementName)) element = element.getElementsByTagName(elementName)[0]; // fallback to createElement approach if(!element) element = document.createElement(elementName); // abort if nothing could be created if(!element) return; // attributes (or text) if(arguments[1]) if(this._isStringOrNumber(arguments[1]) || (arguments[1] instanceof Array) || arguments[1].tagName) { this._children(element, arguments[1]); } else { var attrs = this._attributes(arguments[1]); if(attrs.length) { try { // prevent IE "feature": http://dev.rubyonrails.org/ticket/2707 parentElement.innerHTML = "<" +elementName + " " + attrs + ">"; } catch(e) {} element = parentElement.firstChild || null; // workaround firefox 1.0.X bug if(!element) { element = document.createElement(elementName); for(attr in arguments[1]) element[attr == 'class' ? 'className' : attr] = arguments[1][attr]; } if(element.tagName.toUpperCase() != elementName) element = parentElement.getElementsByTagName(elementName)[0]; } } // text, or array of children if(arguments[2]) this._children(element, arguments[2]); return $(element); }, _text: function(text) { return document.createTextNode(text); }, ATTR_MAP: { 'className': 'class', 'htmlFor': 'for' }, _attributes: function(attributes) { var attrs = []; for(attribute in attributes) attrs.push((attribute in this.ATTR_MAP ? this.ATTR_MAP[attribute] : attribute) + '="' + attributes[attribute].toString().escapeHTML().gsub(/"/,'"') + '"'); return attrs.join(" "); }, _children: function(element, children) { if(children.tagName) { element.appendChild(children); return; } if(typeof children=='object') { // array can hold nodes and text children.flatten().each( function(e) { if(typeof e=='object') element.appendChild(e); else if(Builder._isStringOrNumber(e)) element.appendChild(Builder._text(e)); }); } else if(Builder._isStringOrNumber(children)) element.appendChild(Builder._text(children)); }, _isStringOrNumber: function(param) { return(typeof param=='string' || typeof param=='number'); }, build: function(html) { var element = this.node('div'); $(element).update(html.strip()); return element.down(); }, dump: function(scope) { if(typeof scope != 'object' && typeof scope != 'function') scope = window; //global scope var tags = ("A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY " + "BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET " + "FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX "+ "KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P "+ "PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD "+ "TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR").split(/\s+/); tags.each( function(tag){ scope[tag] = function() { return Builder.node.apply(Builder, [tag].concat($A(arguments))); }; }); } };webcit-9.01-dfsg/static/citadel-logo.gif000066400000000000000000000043051254743150300201700ustar00rootroot00000000000000GIF89ax#÷ÿrmr£ žŸ›š›——ŠŒ„~„ƒ}ƒz…œ•‚~{v{†„z~wrwéèÛïïàŒˆŠ¼¹³•‘’–žûûê÷÷ç‹…ŒÄ»¤ žÜÛЙ••’Žwsw|‚ž–žxsxùùé|w|ž—Ÿ|€òòã›”›ƒ~‚þð}wsx{vz‰„‡~y~úúêðïሃ†xtx›”œœ˜—‰„‰æåØÆÄ¼€|öõæ°­©†‚„ÌÊÁ“Œ“}x|‚}èèÚ{»¹³ÏÍÄ–““zuzööæûûëùøè×ÕË…€ƒ¯¬¨óóäÝÜÐxty}x}Ÿ˜ …„Åüüü섃òñãø÷èïîàzuy½»µ¬©¦|w{©¦£Œ†ŒŠ…ˆ´±¬ýýìÊÈÀÈÆ¾‡‡èçÚ¹·±~y}ÛÙÎééÛš–•§£¡À¾·ÉÇ¿ãâÕôôå—““¤¡ŸíìÞõõ刄†¨¥¢Š†ˆ•‘‘ñð⢟ÂÀ¹upuš˜·µ°‹„‚øøèçæÙåäØúúéýýí±®ªóò㪧¤ÚØÍ‡‚…‹‡‰’Œ“«¨¥ÐÎź·±àßÓ œ›•Ž–“” ™¡‰ŠztzâàÔ™’™ìëÝ…‚„‘Žˆ‚ˆÍËÂãâÖ½º´††™“štpt‘‹’……÷öçÓÒÈÕÓÉßÞÒ›“›|w}äãÖ‹ˆŠ’Ž’ÑÐÆvrv°­°ž—žvqvz·´¯Ÿœš‚|…³°«okoއޔޕ²¯«áàÔåä׊„Šytz‰‹œ™˜‡„‡ððá–“–¡š¢¢›£™‘™‡ƒ‡¿½¶ÙØÍ¸µ°îíßÕÔÊÎÌÉîîߘ””Œ…Œ›•œ‰…‡ÆÅ½ŽˆÙ×Íôôä×ÖÌŽŠŽ¡œ¡žœêé܇ƒ…®«§z€ÇŽ“ÃÁºÅ»¼º´œ–žuqv–’’’Œ’ÐÏÆ«¨§êêÜëêÝëëÝ|}€£ŸÄÂÁ†€†~x~~ypkp…€…{w|œ˜–ññâ¡›™’𙓛ÃÀ¹üü댆‹…‹ ™ ytyÿÿî!ùÿ,x#ÿÿ H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3:ô<íþá%Þ™æìy¤±¥KŠAüɰê_<g¹ú׫•Ì/ƒ ]C&‡;ê݇êS§H¿B4øà/ÁЫX}ÁÏQx:)p§#ZZ: p°šµíËK8Ô ¶oÓ£~”="‚°K غŒ±(M‡CÖ,¥Ë§ 4ÀºiŽ`‚0ñÓáNÃ@p E(D¢nÑ%ãí€ÁÖ9ì赇cbƈ`7  oJÐF $2@(ÀÉN^ïPu|  Ò:Œã ˜ô‡Àb‰Dù¡“D -d pùÃDèd'õ¸:貓4k€:œQ‚b³0˜D^žÌ€Aþ`‚! @M‚ ¼ú‡úì8J0C&ù8È(d‡·qjr85MÐ dØrÕŒç.v.ijšåС˜ð¢ŽøóŸL.ÀSDÔPKǤ•b™ˆ } ’p.ÄÄ¢™dòiMj’ ›þá&5µO›þXÂPð–¢à¥/ Š?\4Ã8@À ÈiN!@Q´árXÆA€¨J $ GX€1’ ṆN§º…:¡ _ÀéT§…«þ تNM`ÔÄP¨J« :¶ºõ­— ;webcit-9.01-dfsg/static/controls.js000066400000000000000000001037431254743150300173450ustar00rootroot00000000000000// script.aculo.us controls.js v1.9.0, Thu Dec 23 16:54:48 -0500 2010 // Copyright (c) 2005-2010 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) // (c) 2005-2010 Ivan Krstic (http://blogs.law.harvard.edu/ivan) // (c) 2005-2010 Jon Tirsen (http://www.tirsen.com) // Contributors: // Richard Livsey // Rahul Bhargava // Rob Wills // // script.aculo.us is freely distributable under the terms of an MIT-style license. // For details, see the script.aculo.us web site: http://script.aculo.us/ // Autocompleter.Base handles all the autocompletion functionality // that's independent of the data source for autocompletion. This // includes drawing the autocompletion menu, observing keyboard // and mouse events, and similar. // // Specific autocompleters need to provide, at the very least, // a getUpdatedChoices function that will be invoked every time // the text inside the monitored textbox changes. This method // should get the text for which to provide autocompletion by // invoking this.getToken(), NOT by directly accessing // this.element.value. This is to allow incremental tokenized // autocompletion. Specific auto-completion logic (AJAX, etc) // belongs in getUpdatedChoices. // // Tokenized incremental autocompletion is enabled automatically // when an autocompleter is instantiated with the 'tokens' option // in the options parameter, e.g.: // new Ajax.Autocompleter('id','upd', '/url/', { tokens: ',' }); // will incrementally autocomplete with a comma as the token. // Additionally, ',' in the above example can be replaced with // a token array, e.g. { tokens: [',', '\n'] } which // enables autocompletion on multiple tokens. This is most // useful when one of the tokens is \n (a newline), as it // allows smart autocompletion after linebreaks. if(typeof Effect == 'undefined') throw("controls.js requires including script.aculo.us' effects.js library"); var Autocompleter = { }; Autocompleter.Base = Class.create({ baseInitialize: function(element, update, options) { element = $(element); this.element = element; this.update = $(update); this.hasFocus = false; this.changed = false; this.active = false; this.index = 0; this.entryCount = 0; this.oldElementValue = this.element.value; if(this.setOptions) this.setOptions(options); else this.options = options || { }; this.options.paramName = this.options.paramName || this.element.name; this.options.tokens = this.options.tokens || []; this.options.frequency = this.options.frequency || 0.4; this.options.minChars = this.options.minChars || 1; this.options.onShow = this.options.onShow || function(element, update){ if(!update.style.position || update.style.position=='absolute') { update.style.position = 'absolute'; Position.clone(element, update, { setHeight: false, offsetTop: element.offsetHeight }); } Effect.Appear(update,{duration:0.15}); }; this.options.onHide = this.options.onHide || function(element, update){ new Effect.Fade(update,{duration:0.15}) }; if(typeof(this.options.tokens) == 'string') this.options.tokens = new Array(this.options.tokens); // Force carriage returns as token delimiters anyway if (!this.options.tokens.include('\n')) this.options.tokens.push('\n'); this.observer = null; this.element.setAttribute('autocomplete','off'); Element.hide(this.update); Event.observe(this.element, 'blur', this.onBlur.bindAsEventListener(this)); Event.observe(this.element, 'keydown', this.onKeyPress.bindAsEventListener(this)); }, show: function() { if(Element.getStyle(this.update, 'display')=='none') this.options.onShow(this.element, this.update); if(!this.iefix && (Prototype.Browser.IE) && (Element.getStyle(this.update, 'position')=='absolute')) { new Insertion.After(this.update, ''); this.iefix = $(this.update.id+'_iefix'); } if(this.iefix) setTimeout(this.fixIEOverlapping.bind(this), 50); }, fixIEOverlapping: function() { Position.clone(this.update, this.iefix, {setTop:(!this.update.style.height)}); this.iefix.style.zIndex = 1; this.update.style.zIndex = 2; Element.show(this.iefix); }, hide: function() { this.stopIndicator(); if(Element.getStyle(this.update, 'display')!='none') this.options.onHide(this.element, this.update); if(this.iefix) Element.hide(this.iefix); }, startIndicator: function() { if(this.options.indicator) Element.show(this.options.indicator); }, stopIndicator: function() { if(this.options.indicator) Element.hide(this.options.indicator); }, onKeyPress: function(event) { if(this.active) switch(event.keyCode) { case Event.KEY_TAB: case Event.KEY_RETURN: this.selectEntry(); Event.stop(event); case Event.KEY_ESC: this.hide(); this.active = false; Event.stop(event); return; case Event.KEY_LEFT: case Event.KEY_RIGHT: return; case Event.KEY_UP: this.markPrevious(); this.render(); Event.stop(event); return; case Event.KEY_DOWN: this.markNext(); this.render(); Event.stop(event); return; } else if(event.keyCode==Event.KEY_TAB || event.keyCode==Event.KEY_RETURN || (Prototype.Browser.WebKit > 0 && event.keyCode == 0)) return; this.changed = true; this.hasFocus = true; if(this.observer) clearTimeout(this.observer); this.observer = setTimeout(this.onObserverEvent.bind(this), this.options.frequency*1000); }, activate: function() { this.changed = false; this.hasFocus = true; this.getUpdatedChoices(); }, onHover: function(event) { var element = Event.findElement(event, 'LI'); if(this.index != element.autocompleteIndex) { this.index = element.autocompleteIndex; this.render(); } Event.stop(event); }, onClick: function(event) { var element = Event.findElement(event, 'LI'); this.index = element.autocompleteIndex; this.selectEntry(); this.hide(); }, onBlur: function(event) { // needed to make click events working setTimeout(this.hide.bind(this), 250); this.hasFocus = false; this.active = false; }, render: function() { if(this.entryCount > 0) { for (var i = 0; i < this.entryCount; i++) this.index==i ? Element.addClassName(this.getEntry(i),"selected") : Element.removeClassName(this.getEntry(i),"selected"); if(this.hasFocus) { this.show(); this.active = true; } } else { this.active = false; this.hide(); } }, markPrevious: function() { if(this.index > 0) this.index--; else this.index = this.entryCount-1; this.getEntry(this.index).scrollIntoView(true); }, markNext: function() { if(this.index < this.entryCount-1) this.index++; else this.index = 0; this.getEntry(this.index).scrollIntoView(false); }, getEntry: function(index) { return this.update.firstChild.childNodes[index]; }, getCurrentEntry: function() { return this.getEntry(this.index); }, selectEntry: function() { this.active = false; this.updateElement(this.getCurrentEntry()); }, updateElement: function(selectedElement) { if (this.options.updateElement) { this.options.updateElement(selectedElement); return; } var value = ''; if (this.options.select) { var nodes = $(selectedElement).select('.' + this.options.select) || []; if(nodes.length>0) value = Element.collectTextNodes(nodes[0], this.options.select); } else value = Element.collectTextNodesIgnoreClass(selectedElement, 'informal'); var bounds = this.getTokenBounds(); if (bounds[0] != -1) { var newValue = this.element.value.substr(0, bounds[0]); var whitespace = this.element.value.substr(bounds[0]).match(/^\s+/); if (whitespace) newValue += whitespace[0]; this.element.value = newValue + value + this.element.value.substr(bounds[1]); } else { this.element.value = value; } this.oldElementValue = this.element.value; this.element.focus(); if (this.options.afterUpdateElement) this.options.afterUpdateElement(this.element, selectedElement); }, updateChoices: function(choices) { if(!this.changed && this.hasFocus) { this.update.innerHTML = choices; Element.cleanWhitespace(this.update); Element.cleanWhitespace(this.update.down()); if(this.update.firstChild && this.update.down().childNodes) { this.entryCount = this.update.down().childNodes.length; for (var i = 0; i < this.entryCount; i++) { var entry = this.getEntry(i); entry.autocompleteIndex = i; this.addObservers(entry); } } else { this.entryCount = 0; } this.stopIndicator(); this.index = 0; if(this.entryCount==1 && this.options.autoSelect) { this.selectEntry(); this.hide(); } else { this.render(); } } }, addObservers: function(element) { Event.observe(element, "mouseover", this.onHover.bindAsEventListener(this)); Event.observe(element, "click", this.onClick.bindAsEventListener(this)); }, onObserverEvent: function() { this.changed = false; this.tokenBounds = null; if(this.getToken().length>=this.options.minChars) { this.getUpdatedChoices(); } else { this.active = false; this.hide(); } this.oldElementValue = this.element.value; }, getToken: function() { var bounds = this.getTokenBounds(); return this.element.value.substring(bounds[0], bounds[1]).strip(); }, getTokenBounds: function() { if (null != this.tokenBounds) return this.tokenBounds; var value = this.element.value; if (value.strip().empty()) return [-1, 0]; var diff = arguments.callee.getFirstDifferencePos(value, this.oldElementValue); var offset = (diff == this.oldElementValue.length ? 1 : 0); var prevTokenPos = -1, nextTokenPos = value.length; var tp; for (var index = 0, l = this.options.tokens.length; index < l; ++index) { tp = value.lastIndexOf(this.options.tokens[index], diff + offset - 1); if (tp > prevTokenPos) prevTokenPos = tp; tp = value.indexOf(this.options.tokens[index], diff + offset); if (-1 != tp && tp < nextTokenPos) nextTokenPos = tp; } return (this.tokenBounds = [prevTokenPos + 1, nextTokenPos]); } }); Autocompleter.Base.prototype.getTokenBounds.getFirstDifferencePos = function(newS, oldS) { var boundary = Math.min(newS.length, oldS.length); for (var index = 0; index < boundary; ++index) if (newS[index] != oldS[index]) return index; return boundary; }; Ajax.Autocompleter = Class.create(Autocompleter.Base, { initialize: function(element, update, url, options) { this.baseInitialize(element, update, options); this.options.asynchronous = true; this.options.onComplete = this.onComplete.bind(this); this.options.defaultParams = this.options.parameters || null; this.url = url; }, getUpdatedChoices: function() { this.startIndicator(); var entry = encodeURIComponent(this.options.paramName) + '=' + encodeURIComponent(this.getToken()); this.options.parameters = this.options.callback ? this.options.callback(this.element, entry) : entry; if(this.options.defaultParams) this.options.parameters += '&' + this.options.defaultParams; new Ajax.Request(this.url, this.options); }, onComplete: function(request) { this.updateChoices(request.responseText); } }); // The local array autocompleter. Used when you'd prefer to // inject an array of autocompletion options into the page, rather // than sending out Ajax queries, which can be quite slow sometimes. // // The constructor takes four parameters. The first two are, as usual, // the id of the monitored textbox, and id of the autocompletion menu. // The third is the array you want to autocomplete from, and the fourth // is the options block. // // Extra local autocompletion options: // - choices - How many autocompletion choices to offer // // - partialSearch - If false, the autocompleter will match entered // text only at the beginning of strings in the // autocomplete array. Defaults to true, which will // match text at the beginning of any *word* in the // strings in the autocomplete array. If you want to // search anywhere in the string, additionally set // the option fullSearch to true (default: off). // // - fullSsearch - Search anywhere in autocomplete array strings. // // - partialChars - How many characters to enter before triggering // a partial match (unlike minChars, which defines // how many characters are required to do any match // at all). Defaults to 2. // // - ignoreCase - Whether to ignore case when autocompleting. // Defaults to true. // // It's possible to pass in a custom function as the 'selector' // option, if you prefer to write your own autocompletion logic. // In that case, the other options above will not apply unless // you support them. Autocompleter.Local = Class.create(Autocompleter.Base, { initialize: function(element, update, array, options) { this.baseInitialize(element, update, options); this.options.array = array; }, getUpdatedChoices: function() { this.updateChoices(this.options.selector(this)); }, setOptions: function(options) { this.options = Object.extend({ choices: 10, partialSearch: true, partialChars: 2, ignoreCase: true, fullSearch: false, selector: function(instance) { var ret = []; // Beginning matches var partial = []; // Inside matches var entry = instance.getToken(); var count = 0; for (var i = 0; i < instance.options.array.length && ret.length < instance.options.choices ; i++) { var elem = instance.options.array[i]; var foundPos = instance.options.ignoreCase ? elem.toLowerCase().indexOf(entry.toLowerCase()) : elem.indexOf(entry); while (foundPos != -1) { if (foundPos == 0 && elem.length != entry.length) { ret.push("
  • " + elem.substr(0, entry.length) + "" + elem.substr(entry.length) + "
  • "); break; } else if (entry.length >= instance.options.partialChars && instance.options.partialSearch && foundPos != -1) { if (instance.options.fullSearch || /\s/.test(elem.substr(foundPos-1,1))) { partial.push("
  • " + elem.substr(0, foundPos) + "" + elem.substr(foundPos, entry.length) + "" + elem.substr( foundPos + entry.length) + "
  • "); break; } } foundPos = instance.options.ignoreCase ? elem.toLowerCase().indexOf(entry.toLowerCase(), foundPos + 1) : elem.indexOf(entry, foundPos + 1); } } if (partial.length) ret = ret.concat(partial.slice(0, instance.options.choices - ret.length)); return "
      " + ret.join('') + "
    "; } }, options || { }); } }); // AJAX in-place editor and collection editor // Full rewrite by Christophe Porteneuve (April 2007). // Use this if you notice weird scrolling problems on some browsers, // the DOM might be a bit confused when this gets called so do this // waits 1 ms (with setTimeout) until it does the activation Field.scrollFreeActivate = function(field) { setTimeout(function() { Field.activate(field); }, 1); }; Ajax.InPlaceEditor = Class.create({ initialize: function(element, url, options) { this.url = url; this.element = element = $(element); this.prepareOptions(); this._controls = { }; arguments.callee.dealWithDeprecatedOptions(options); // DEPRECATION LAYER!!! Object.extend(this.options, options || { }); if (!this.options.formId && this.element.id) { this.options.formId = this.element.id + '-inplaceeditor'; if ($(this.options.formId)) this.options.formId = ''; } if (this.options.externalControl) this.options.externalControl = $(this.options.externalControl); if (!this.options.externalControl) this.options.externalControlOnly = false; this._originalBackground = this.element.getStyle('background-color') || 'transparent'; this.element.title = this.options.clickToEditText; this._boundCancelHandler = this.handleFormCancellation.bind(this); this._boundComplete = (this.options.onComplete || Prototype.emptyFunction).bind(this); this._boundFailureHandler = this.handleAJAXFailure.bind(this); this._boundSubmitHandler = this.handleFormSubmission.bind(this); this._boundWrapperHandler = this.wrapUp.bind(this); this.registerListeners(); }, checkForEscapeOrReturn: function(e) { if (!this._editing || e.ctrlKey || e.altKey || e.shiftKey) return; if (Event.KEY_ESC == e.keyCode) this.handleFormCancellation(e); else if (Event.KEY_RETURN == e.keyCode) this.handleFormSubmission(e); }, createControl: function(mode, handler, extraClasses) { var control = this.options[mode + 'Control']; var text = this.options[mode + 'Text']; if ('button' == control) { var btn = document.createElement('input'); btn.type = 'submit'; btn.value = text; btn.className = 'editor_' + mode + '_button'; if ('cancel' == mode) btn.onclick = this._boundCancelHandler; this._form.appendChild(btn); this._controls[mode] = btn; } else if ('link' == control) { var link = document.createElement('a'); link.href = '#'; link.appendChild(document.createTextNode(text)); link.onclick = 'cancel' == mode ? this._boundCancelHandler : this._boundSubmitHandler; link.className = 'editor_' + mode + '_link'; if (extraClasses) link.className += ' ' + extraClasses; this._form.appendChild(link); this._controls[mode] = link; } }, createEditField: function() { var text = (this.options.loadTextURL ? this.options.loadingText : this.getText()); var fld; if (1 >= this.options.rows && !/\r|\n/.test(this.getText())) { fld = document.createElement('input'); fld.type = 'text'; var size = this.options.size || this.options.cols || 0; if (0 < size) fld.size = size; } else { fld = document.createElement('textarea'); fld.rows = (1 >= this.options.rows ? this.options.autoRows : this.options.rows); fld.cols = this.options.cols || 40; } fld.name = this.options.paramName; fld.value = text; // No HTML breaks conversion anymore fld.className = 'editor_field'; if (this.options.submitOnBlur) fld.onblur = this._boundSubmitHandler; this._controls.editor = fld; if (this.options.loadTextURL) this.loadExternalText(); this._form.appendChild(this._controls.editor); }, createForm: function() { var ipe = this; function addText(mode, condition) { var text = ipe.options['text' + mode + 'Controls']; if (!text || condition === false) return; ipe._form.appendChild(document.createTextNode(text)); }; this._form = $(document.createElement('form')); this._form.id = this.options.formId; this._form.addClassName(this.options.formClassName); this._form.onsubmit = this._boundSubmitHandler; this.createEditField(); if ('textarea' == this._controls.editor.tagName.toLowerCase()) this._form.appendChild(document.createElement('br')); if (this.options.onFormCustomization) this.options.onFormCustomization(this, this._form); addText('Before', this.options.okControl || this.options.cancelControl); this.createControl('ok', this._boundSubmitHandler); addText('Between', this.options.okControl && this.options.cancelControl); this.createControl('cancel', this._boundCancelHandler, 'editor_cancel'); addText('After', this.options.okControl || this.options.cancelControl); }, destroy: function() { if (this._oldInnerHTML) this.element.innerHTML = this._oldInnerHTML; this.leaveEditMode(); this.unregisterListeners(); }, enterEditMode: function(e) { if (this._saving || this._editing) return; this._editing = true; this.triggerCallback('onEnterEditMode'); if (this.options.externalControl) this.options.externalControl.hide(); this.element.hide(); this.createForm(); this.element.parentNode.insertBefore(this._form, this.element); if (!this.options.loadTextURL) this.postProcessEditField(); if (e) Event.stop(e); }, enterHover: function(e) { if (this.options.hoverClassName) this.element.addClassName(this.options.hoverClassName); if (this._saving) return; this.triggerCallback('onEnterHover'); }, getText: function() { return this.element.innerHTML.unescapeHTML(); }, handleAJAXFailure: function(transport) { this.triggerCallback('onFailure', transport); if (this._oldInnerHTML) { this.element.innerHTML = this._oldInnerHTML; this._oldInnerHTML = null; } }, handleFormCancellation: function(e) { this.wrapUp(); if (e) Event.stop(e); }, handleFormSubmission: function(e) { var form = this._form; var value = $F(this._controls.editor); this.prepareSubmission(); var params = this.options.callback(form, value) || ''; if (Object.isString(params)) params = params.toQueryParams(); params.editorId = this.element.id; if (this.options.htmlResponse) { var options = Object.extend({ evalScripts: true }, this.options.ajaxOptions); Object.extend(options, { parameters: params, onComplete: this._boundWrapperHandler, onFailure: this._boundFailureHandler }); new Ajax.Updater({ success: this.element }, this.url, options); } else { var options = Object.extend({ method: 'get' }, this.options.ajaxOptions); Object.extend(options, { parameters: params, onComplete: this._boundWrapperHandler, onFailure: this._boundFailureHandler }); new Ajax.Request(this.url, options); } if (e) Event.stop(e); }, leaveEditMode: function() { this.element.removeClassName(this.options.savingClassName); this.removeForm(); this.leaveHover(); this.element.style.backgroundColor = this._originalBackground; this.element.show(); if (this.options.externalControl) this.options.externalControl.show(); this._saving = false; this._editing = false; this._oldInnerHTML = null; this.triggerCallback('onLeaveEditMode'); }, leaveHover: function(e) { if (this.options.hoverClassName) this.element.removeClassName(this.options.hoverClassName); if (this._saving) return; this.triggerCallback('onLeaveHover'); }, loadExternalText: function() { this._form.addClassName(this.options.loadingClassName); this._controls.editor.disabled = true; var options = Object.extend({ method: 'get' }, this.options.ajaxOptions); Object.extend(options, { parameters: 'editorId=' + encodeURIComponent(this.element.id), onComplete: Prototype.emptyFunction, onSuccess: function(transport) { this._form.removeClassName(this.options.loadingClassName); var text = transport.responseText; if (this.options.stripLoadedTextTags) text = text.stripTags(); this._controls.editor.value = text; this._controls.editor.disabled = false; this.postProcessEditField(); }.bind(this), onFailure: this._boundFailureHandler }); new Ajax.Request(this.options.loadTextURL, options); }, postProcessEditField: function() { var fpc = this.options.fieldPostCreation; if (fpc) $(this._controls.editor)['focus' == fpc ? 'focus' : 'activate'](); }, prepareOptions: function() { this.options = Object.clone(Ajax.InPlaceEditor.DefaultOptions); Object.extend(this.options, Ajax.InPlaceEditor.DefaultCallbacks); [this._extraDefaultOptions].flatten().compact().each(function(defs) { Object.extend(this.options, defs); }.bind(this)); }, prepareSubmission: function() { this._saving = true; this.removeForm(); this.leaveHover(); this.showSaving(); }, registerListeners: function() { this._listeners = { }; var listener; $H(Ajax.InPlaceEditor.Listeners).each(function(pair) { listener = this[pair.value].bind(this); this._listeners[pair.key] = listener; if (!this.options.externalControlOnly) this.element.observe(pair.key, listener); if (this.options.externalControl) this.options.externalControl.observe(pair.key, listener); }.bind(this)); }, removeForm: function() { if (!this._form) return; this._form.remove(); this._form = null; this._controls = { }; }, showSaving: function() { this._oldInnerHTML = this.element.innerHTML; this.element.innerHTML = this.options.savingText; this.element.addClassName(this.options.savingClassName); this.element.style.backgroundColor = this._originalBackground; this.element.show(); }, triggerCallback: function(cbName, arg) { if ('function' == typeof this.options[cbName]) { this.options[cbName](this, arg); } }, unregisterListeners: function() { $H(this._listeners).each(function(pair) { if (!this.options.externalControlOnly) this.element.stopObserving(pair.key, pair.value); if (this.options.externalControl) this.options.externalControl.stopObserving(pair.key, pair.value); }.bind(this)); }, wrapUp: function(transport) { this.leaveEditMode(); // Can't use triggerCallback due to backward compatibility: requires // binding + direct element this._boundComplete(transport, this.element); } }); Object.extend(Ajax.InPlaceEditor.prototype, { dispose: Ajax.InPlaceEditor.prototype.destroy }); Ajax.InPlaceCollectionEditor = Class.create(Ajax.InPlaceEditor, { initialize: function($super, element, url, options) { this._extraDefaultOptions = Ajax.InPlaceCollectionEditor.DefaultOptions; $super(element, url, options); }, createEditField: function() { var list = document.createElement('select'); list.name = this.options.paramName; list.size = 1; this._controls.editor = list; this._collection = this.options.collection || []; if (this.options.loadCollectionURL) this.loadCollection(); else this.checkForExternalText(); this._form.appendChild(this._controls.editor); }, loadCollection: function() { this._form.addClassName(this.options.loadingClassName); this.showLoadingText(this.options.loadingCollectionText); var options = Object.extend({ method: 'get' }, this.options.ajaxOptions); Object.extend(options, { parameters: 'editorId=' + encodeURIComponent(this.element.id), onComplete: Prototype.emptyFunction, onSuccess: function(transport) { var js = transport.responseText.strip(); if (!/^\[.*\]$/.test(js)) // TODO: improve sanity check throw('Server returned an invalid collection representation.'); this._collection = eval(js); this.checkForExternalText(); }.bind(this), onFailure: this.onFailure }); new Ajax.Request(this.options.loadCollectionURL, options); }, showLoadingText: function(text) { this._controls.editor.disabled = true; var tempOption = this._controls.editor.firstChild; if (!tempOption) { tempOption = document.createElement('option'); tempOption.value = ''; this._controls.editor.appendChild(tempOption); tempOption.selected = true; } tempOption.update((text || '').stripScripts().stripTags()); }, checkForExternalText: function() { this._text = this.getText(); if (this.options.loadTextURL) this.loadExternalText(); else this.buildOptionList(); }, loadExternalText: function() { this.showLoadingText(this.options.loadingText); var options = Object.extend({ method: 'get' }, this.options.ajaxOptions); Object.extend(options, { parameters: 'editorId=' + encodeURIComponent(this.element.id), onComplete: Prototype.emptyFunction, onSuccess: function(transport) { this._text = transport.responseText.strip(); this.buildOptionList(); }.bind(this), onFailure: this.onFailure }); new Ajax.Request(this.options.loadTextURL, options); }, buildOptionList: function() { this._form.removeClassName(this.options.loadingClassName); this._collection = this._collection.map(function(entry) { return 2 === entry.length ? entry : [entry, entry].flatten(); }); var marker = ('value' in this.options) ? this.options.value : this._text; var textFound = this._collection.any(function(entry) { return entry[0] == marker; }.bind(this)); this._controls.editor.update(''); var option; this._collection.each(function(entry, index) { option = document.createElement('option'); option.value = entry[0]; option.selected = textFound ? entry[0] == marker : 0 == index; option.appendChild(document.createTextNode(entry[1])); this._controls.editor.appendChild(option); }.bind(this)); this._controls.editor.disabled = false; Field.scrollFreeActivate(this._controls.editor); } }); //**** DEPRECATION LAYER FOR InPlace[Collection]Editor! **** //**** This only exists for a while, in order to let **** //**** users adapt to the new API. Read up on the new **** //**** API and convert your code to it ASAP! **** Ajax.InPlaceEditor.prototype.initialize.dealWithDeprecatedOptions = function(options) { if (!options) return; function fallback(name, expr) { if (name in options || expr === undefined) return; options[name] = expr; }; fallback('cancelControl', (options.cancelLink ? 'link' : (options.cancelButton ? 'button' : options.cancelLink == options.cancelButton == false ? false : undefined))); fallback('okControl', (options.okLink ? 'link' : (options.okButton ? 'button' : options.okLink == options.okButton == false ? false : undefined))); fallback('highlightColor', options.highlightcolor); fallback('highlightEndColor', options.highlightendcolor); }; Object.extend(Ajax.InPlaceEditor, { DefaultOptions: { ajaxOptions: { }, autoRows: 3, // Use when multi-line w/ rows == 1 cancelControl: 'link', // 'link'|'button'|false cancelText: 'cancel', clickToEditText: 'Click to edit', externalControl: null, // id|elt externalControlOnly: false, fieldPostCreation: 'activate', // 'activate'|'focus'|false formClassName: 'inplaceeditor-form', formId: null, // id|elt highlightColor: '#ffff99', highlightEndColor: '#ffffff', hoverClassName: '', htmlResponse: true, loadingClassName: 'inplaceeditor-loading', loadingText: 'Loading...', okControl: 'button', // 'link'|'button'|false okText: 'ok', paramName: 'value', rows: 1, // If 1 and multi-line, uses autoRows savingClassName: 'inplaceeditor-saving', savingText: 'Saving...', size: 0, stripLoadedTextTags: false, submitOnBlur: false, textAfterControls: '', textBeforeControls: '', textBetweenControls: '' }, DefaultCallbacks: { callback: function(form) { return Form.serialize(form); }, onComplete: function(transport, element) { // For backward compatibility, this one is bound to the IPE, and passes // the element directly. It was too often customized, so we don't break it. new Effect.Highlight(element, { startcolor: this.options.highlightColor, keepBackgroundImage: true }); }, onEnterEditMode: null, onEnterHover: function(ipe) { ipe.element.style.backgroundColor = ipe.options.highlightColor; if (ipe._effect) ipe._effect.cancel(); }, onFailure: function(transport, ipe) { alert('Error communication with the server: ' + transport.responseText.stripTags()); }, onFormCustomization: null, // Takes the IPE and its generated form, after editor, before controls. onLeaveEditMode: null, onLeaveHover: function(ipe) { ipe._effect = new Effect.Highlight(ipe.element, { startcolor: ipe.options.highlightColor, endcolor: ipe.options.highlightEndColor, restorecolor: ipe._originalBackground, keepBackgroundImage: true }); } }, Listeners: { click: 'enterEditMode', keydown: 'checkForEscapeOrReturn', mouseover: 'enterHover', mouseout: 'leaveHover' } }); Ajax.InPlaceCollectionEditor.DefaultOptions = { loadingCollectionText: 'Loading options...' }; // Delayed observer, like Form.Element.Observer, // but waits for delay after last key input // Ideal for live-search fields Form.Element.DelayedObserver = Class.create({ initialize: function(element, delay, callback) { this.delay = delay || 0.5; this.element = $(element); this.callback = callback; this.timer = null; this.lastValue = $F(this.element); Event.observe(this.element,'keyup',this.delayedListener.bindAsEventListener(this)); }, delayedListener: function(event) { if(this.lastValue == $F(this.element)) return; if(this.timer) clearTimeout(this.timer); this.timer = setTimeout(this.onTimerEvent.bind(this), this.delay * 1000); this.lastValue = $F(this.element); }, onTimerEvent: function() { this.timer = null; this.callback(this.element, $F(this.element)); } });webcit-9.01-dfsg/static/ctdldragdrop.js000066400000000000000000000050471254743150300201510ustar00rootroot00000000000000/** * Because scriptaculous DnD sucks.. * Written by Mathew McBride / * * Copyright 2009 The Citadel Team * Licensed under the GPL V3 */ var draggedElement = null; var currentDropTargets = null; var dropTarget = null; var dragAndDropElement = null; var oldSelectHandler = null; function mouseDownHandler(event) { var target = event.target; var actualTarget = target; if (target.nodeName.toLowerCase() == "td") { actualTarget = target.parentNode; } if (!actualTarget.dropEnabled && actualTarget.getAttribute("citadel:dropenabled") == null) { return; } turnOffTextSelect(); draggedElement = actualTarget; return false; } function mouseUpHandler(event) { var target = event.target; var dropped = dropTarget; if (dragAndDropElement != null) { if (dropped != null && dropped.dropHandler) { dropped.dropHandler(dropped,draggedElement); } document.body.removeChild(dragAndDropElement); } dragAndDropElement = null; draggedElement = null; dropTarget = null; turnOnTextSelect(); return true; } function mouseMoveHandler(event) { if (draggedElement != null) { if (dragAndDropElement == null) { var dragAndDropElementFunction = (draggedElement.ctdlDnDElement) ? draggedElement.ctdlDndElement : eval(draggedElement.getAttribute("citadel:dndelement")); dragAndDropElement = dragAndDropElementFunction.call(); dragAndDropElement.className = "draganddrop"; document.body.appendChild(dragAndDropElement); } var clientX = event.clientX+5; var clientY = event.clientY+5; dragAndDropElement.style.top = clientY + "px"; dragAndDropElement.style.left = clientX + "px"; } return false; } function mouseMoveOver(event) { if (event.target.dropTarget) { dropTarget = event.target; } } function mouseMoveOut(event) { if (dropTarget) { dropTarget = null; } } function setupDragDrop() { $(document.body).observe('mousedown', mouseDownHandler); $(document.body).observe('mouseup',mouseUpHandler); $(document.body).observe('mousemove',mouseMoveHandler); $(document.body).observe('mouseover', mouseMoveOver); $(document.body).observe('mouseout', mouseMoveOut); } function turnOffTextSelect() { document.onmousedown = new Function("return false"); document.onmouseup = new Function("return true"); oldSelectHandler = document.onselectstart; document.onselectstart = function() { return false; }; } function turnOnTextSelect() { document.onmousedown = null; document.onmouseup = null; document.onselectstart = oldSelectHandler; } webcit-9.01-dfsg/static/datepicker-dev.js000066400000000000000000000675521254743150300204000ustar00rootroot00000000000000/** * DatePicker widget using Prototype and Scriptaculous. * (c) 2007 Mathieu Jondet * Eulerian Technologies * * DatePicker is freely distributable under the same terms as Prototype. * */ /** * DatePickerFormatter class for matching and stringifying dates. * * By Arturas Slajus . */ var DatePickerFormatter = Class.create(); DatePickerFormatter.prototype = { /** * Create a DatePickerFormatter. * * format: specify a format by passing 3 value array consisting of * "yyyy", "mm", "dd". Default: ["yyyy", "mm", "dd"]. * * separator: string for splitting the values. Default: "-". * * Use it like this: * var df = new DatePickerFormatter(["dd", "mm", "yyyy"], "/"); * df.current_date(); * df.match("7/7/2007"); */ initialize: function(format, separator) { if (Object.isUndefined(format)) format = ["yyyy", "mm", "dd"]; if (Object.isUndefined(separator)) separator = "-"; this._format = format; this.separator = separator; this._format_year_index = format.indexOf("yyyy"); this._format_month_index= format.indexOf("mm"); this._format_day_index = format.indexOf("dd"); this._year_regexp = /^\d{4}$/; this._month_regexp = /^0\d|1[012]|\d$/; this._day_regexp = /^0\d|[12]\d|3[01]|\d$/; }, /** * Match a string against date format. * Returns: [year, month, day] */ match: function(str) { var d = str.split(this.separator); if (d.length < 3) return false; var year = d[this._format_year_index].match(this._year_regexp); if (year) { year = year[0] } else { return false } var month = d[this._format_month_index].match(this._month_regexp); if (month) { month = month[0] } else { return false } var day = d[this._format_day_index].match(this._day_regexp); if (day) { day = day[0] } else { return false } return [year, month, day]; }, /** * Return current date according to format. */ current_date: function() { var d = new Date; return this.date_to_string( d.getFullYear(), d.getMonth() + 1, d.getDate() ); }, /** * Return a stringified date accordint to format. */ date_to_string: function(year, month, day, separator) { if (Object.isUndefined(separator)) separator = this.separator; var a = [0, 0, 0]; a[this._format_year_index] = year; a[this._format_month_index] = month.toPaddedString(2); a[this._format_day_index] = day.toPaddedString(2); return a.join(separator); } }; /** * DatePicker */ var DatePicker = Class.create(); DatePicker.prototype = { Version : '0.9.4', _relative : null, _div : null, _zindex : 1, _keepFieldEmpty: false, _daysInMonth : [31,28,31,30,31,30,31,31,30,31,30,31], _dateFormat : [ ["dd", "mm", "yyyy"], "/" ], /* language */ _language : 'fr', _language_month : $H({ 'fr' : [ 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Décembre' ], 'en' : [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ], 'sp' : [ 'Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre' ], 'it' : [ 'Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre' ], 'de' : [ 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember' ], 'pt' : [ 'Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro' ], 'hu' : [ 'Január', 'Február', 'Március', 'Április', 'Május', 'Június', 'Július', 'Augusztus', 'Szeptember', 'Október', 'November', 'December' ], 'lt' : [ 'Sausis', 'Vasaris', 'Kovas', 'Balandis', 'Gegužė', 'Birželis', 'Liepa', 'Rugjūtis', 'Rusėjis', 'Spalis', 'Lapkritis', 'Gruodis' ], 'nl' : [ 'januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december' ], 'dk' : [ 'Januar', 'Februar', 'Marts', 'April', 'Maj', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'December' ], 'no' : [ 'Januar', 'Februar', 'Mars', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Desember' ], 'lv' : [ 'Janvāris', 'Februāris', 'Marts', 'Aprīlis', 'Maijs', 'Jūnijs', 'Jūlijs', 'Augusts', 'Septembris', 'Oktobris', 'Novembris', 'Decemberis' ], 'ja' : [ '1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月' ], 'fi' : [ 'Tammikuu', 'Helmikuu', 'Maaliskuu', 'Huhtikuu', 'Toukokuu', 'Kesäkuu', 'Heinäkuu', 'Elokuu', 'Syyskuu', 'Lokakuu', 'Marraskuu', 'Joulukuu' ], 'ro' : [ 'Ianuarie', 'Februarie', 'Martie', 'Aprilie', 'Mai', 'Junie', 'Julie', 'August', 'Septembrie', 'Octombrie', 'Noiembrie', 'Decembrie' ], 'zh' : [ '1 月', '2 月', '3 月', '4 月', '5 月', '6 月', '7 月', '8 月', '9 月', '10月', '11月', '12月'], 'sv' : [ 'Januari', 'Februari', 'Mars', 'April', 'Maj', 'Juni', 'Juli', 'Augusti', 'September', 'Oktober', 'November', 'December' ] }), _language_day : $H({ 'fr' : [ 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam', 'Dim' ], 'en' : [ 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun' ], 'sp' : [ 'Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sáb', 'Dom' ], 'it' : [ 'Lun', 'Mar', 'Mer', 'Gio', 'Ven', 'Sab', 'Dom' ], 'de' : [ 'Mon', 'Die', 'Mit', 'Don', 'Fre', 'Sam', 'Son' ], 'pt' : [ 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb', 'Dom' ], 'hu' : [ 'Hé', 'Ke', 'Sze', 'Csü', 'Pé', 'Szo', 'Vas' ], 'lt' : [ 'Pir', 'Ant', 'Tre', 'Ket', 'Pen', 'Šeš', 'Sek' ], 'nl' : [ 'ma', 'di', 'wo', 'do', 'vr', 'za', 'zo' ], 'dk' : [ 'Man', 'Tir', 'Ons', 'Tor', 'Fre', 'Lør', 'Søn' ], 'no' : [ 'Man', 'Tir', 'Ons', 'Tor', 'Fre', 'Lør', 'Sun' ], 'lv' : [ 'P', 'O', 'T', 'C', 'Pk', 'S', 'Sv' ], 'ja' : [ '月', '火', '水', '木', '金', '土', '日' ], 'fi' : [ 'Ma', 'Ti', 'Ke', 'To', 'Pe', 'La', 'Su' ], 'ro' : [ 'Lun', 'Mar', 'Mie', 'Joi', 'Vin', 'Sam', 'Dum' ], 'zh' : [ '周一', '周二', '周三', '周四', '周五', '周六', '周日' ], 'sv' : [ 'Mån', 'Tis', 'Ons', 'Tor', 'Fre', 'Lör', 'Sön' ] }), _language_close : $H({ 'fr' : 'fermer', 'en' : 'close', 'sp' : 'cerrar', 'it' : 'fine', 'de' : 'schliessen', 'pt' : 'fim', 'hu' : 'bezár', 'lt' : 'udaryti', 'nl' : 'sluiten', 'dk' : 'luk', 'no' : 'lukk', 'lv' : 'aizvērt', 'ja' : '閉じる', 'fi' : 'sulje', 'ro' : 'inchide', 'zh' : '关 闭', 'sv' : 'stäng' }), _language_reset : $H({ // FILL ME IN 'en' : 'reset' }), /* date manipulation */ _todayDate : new Date(), _current_date : null, _clickCallback : Prototype.emptyFunction, _cellCallback : Prototype.emptyFunction, _id_datepicker : null, _disablePastDate : false, _disableFutureDate : true, _enableYearBrowse : false, _oneDayInMs : 24 * 3600 * 1000, /* positionning */ _topOffset : 30, _leftOffset : 0, _isPositionned : false, _relativePosition : true, _setPositionTop : 0, _setPositionLeft : 0, _bodyAppend : false, _contentAppend : '', _showEvent : 'click', /* Effects Adjustment */ _showEffect : "appear", _showDuration : 1, _enableShowEffect : true, _closeEffect : "fade", _closeEffectDuration : 0.3, _enableCloseEffect : true, _closeTimer : null, _enableCloseOnBlur : false, /* afterClose : called when the close function is executed */ _afterClose : Prototype.emptyFunction, /* return the name of current month in appropriate language */ getMonthLocale : function ( month ) { return this._language_month.get(this._language)[month]; }, getLocaleClose : function () { return this._language_close.get(this._language); }, getLocaleReset : function() { return this._language_reset.get(this._language); }, _initCurrentDate : function () { /* Create the DateFormatter */ this._df = new DatePickerFormatter(this._dateFormat[0], this._dateFormat[1]); /* check if value in field is proper, if not set to today */ this._current_date = $F(this._relative); if (! this._df.match(this._current_date)) { this._current_date = this._df.current_date(); /* set the field value ? */ if (!this._keepFieldEmpty) $(this._relative).value = this._current_date; } var a_date = this._df.match(this._current_date); this._current_year = Number(a_date[0]); this._current_mon = Number(a_date[1]) - 1; this._current_day = Number(a_date[2]); }, /* init */ initialize : function ( h_p ) { /* arguments */ this._relative= h_p["relative"]; if (h_p["language"]) this._language = h_p["language"]; this._zindex = ( h_p["zindex"] ) ? parseInt(Number(h_p["zindex"])) : 1; if (!Object.isUndefined(h_p["keepFieldEmpty"])) this._keepFieldEmpty = h_p["keepFieldEmpty"]; if (Object.isFunction(h_p["clickCallback"])) this._clickCallback = h_p["clickCallback"]; if (!Object.isUndefined(h_p["leftOffset"])) this._leftOffset = parseInt(h_p["leftOffset"]); if (!Object.isUndefined(h_p["topOffset"])) this._topOffset = parseInt(h_p["topOffset"]); if (!Object.isUndefined(h_p["relativePosition"])) this._relativePosition = h_p["relativePosition"]; if (!Object.isUndefined(h_p["showEvent"])) this._showEvent = h_p["showEvent"]; if (!Object.isUndefined(h_p["showEffect"])) this._showEffect = h_p["showEffect"]; if (!Object.isUndefined(h_p["contentAppend"])) this._contentAppend = h_p["contentAppend"]; if (!Object.isUndefined(h_p["enableShowEffect"])) this._enableShowEffect = h_p["enableShowEffect"]; if (!Object.isUndefined(h_p["showDuration"])) this._showDuration = h_p["showDuration"]; if (!Object.isUndefined(h_p["closeEffect"])) this._closeEffect = h_p["closeEffect"]; if (!Object.isUndefined(h_p["enableCloseEffect"])) this._enableCloseEffect = h_p["enableCloseEffect"]; if (!Object.isUndefined(h_p["closeEffectDuration"])) this._closeEffectDuration = h_p["closeEffectDuration"]; if (Object.isFunction(h_p["afterClose"])) this._afterClose = h_p["afterClose"]; if (!Object.isUndefined(h_p["externalControl"])) this._externalControl= h_p["externalControl"]; if (!Object.isUndefined(h_p["dateFormat"])) this._dateFormat = h_p["dateFormat"]; if (Object.isFunction(h_p["cellCallback"])) this._cellCallback = h_p["cellCallback"]; this._setPositionTop = ( h_p["setPositionTop"] ) ? parseInt(Number(h_p["setPositionTop"])) : 0; this._setPositionLeft = ( h_p["setPositionLeft"] ) ? parseInt(Number(h_p["setPositionLeft"])) : 0; if (!Object.isUndefined(h_p["enableCloseOnBlur"]) && h_p["enableCloseOnBlur"]) this._enableCloseOnBlur = true; if (!Object.isUndefined(h_p["disablePastDate"]) && h_p["disablePastDate"]) this._disablePastDate = true; if (!Object.isUndefined(h_p["disableFutureDate"]) && !h_p["disableFutureDate"]) this._disableFutureDate = false; if (!Object.isUndefined(h_p["enableYearBrowse"])) this._enableYearBrowse = true; this._id_datepicker = 'datepicker-'+this._relative; this._id_datepicker_prev = this._id_datepicker+'-prev'; this._id_datepicker_next = this._id_datepicker+'-next'; this._id_datepicker_prev_year = this._id_datepicker_prev+'-year'; this._id_datepicker_next_year = this._id_datepicker_next+'-year'; this._id_datepicker_hdr = this._id_datepicker+'-header'; this._id_datepicker_ftr = this._id_datepicker+'-footer'; this._id_datepicker_rst = this._id_datepicker+'-reset'; /* build up calendar skel */ this._div = new Element('div', { id : this._id_datepicker, className : 'datepicker', style : 'display: none;' }); this._div.innerHTML = ''+((this._enableYearBrowse) ? '' : '')+''+((this._enableYearBrowse) ? '' : '')+'
     <  <<  >>  > 
    '; /* finally declare the event listener on input field */ Event.observe(this._relative, this._showEvent, this.click.bindAsEventListener(this), false); /* need to append on body when doc is loaded for IE */ document.observe('dom:loaded', this.load.bindAsEventListener(this), false); /* automatically close when blur event is triggered */ if ( this._enableCloseOnBlur ) { Event.observe(this._relative, 'blur', function (e) { this._closeTimer = this.close.bind(this).delay(2); }.bindAsEventListener(this)); Event.observe(this._div, 'click', function (e) { if (this._closeTimer) { window.clearTimeout(this._closeTimer); this._closeTimer = null; } }); } }, /** * load : called when document is fully-loaded to append datepicker * to main object. */ load : function () { /* if externalControl defined set the observer on it */ if (this._externalControl) Event.observe(this._externalControl, 'click', this.click.bindAsEventListener(this), false); /* append to page */ if (this._relativeAppend) { /* append to parent node */ if ($(this._relative).parentNode) { this._div.innerHTML = this._wrap_in_iframe(this._div.innerHTML); $(this._relative).parentNode.appendChild( this._div ); } } else { /* append to body tag or to provided contentAppend id */ var body = ( this._contentAppend ) ? $(this._contentAppend) : document.getElementsByTagName("body").item(0); if (body) { this._div.innerHTML = this._wrap_in_iframe(this._div.innerHTML); body.appendChild(this._div); } if ( this._relativePosition ) { var a_pos = Element.cumulativeOffset($(this._relative)); this.setPosition(a_pos[1], a_pos[0]); } else { if (this._setPositionTop || this._setPositionLeft) this.setPosition(this._setPositionTop, this._setPositionLeft); } } /* init the date in field if needed */ this._initCurrentDate(); /* set the close locale content */ $(this._id_datepicker_ftr).innerHTML = this.getLocaleClose(); $(this._id_datepicker_rst).innerHTML = this.getLocaleReset(); /* declare the observers for UI control */ Event.observe($(this._id_datepicker_prev), 'click', this.prevMonth.bindAsEventListener(this), false); Event.observe($(this._id_datepicker_next), 'click', this.nextMonth.bindAsEventListener(this), false); if ( this._enableYearBrowse ) { Event.observe($(this._id_datepicker_prev_year), 'click', this.prevYear.bindAsEventListener(this), false); Event.observe($(this._id_datepicker_next_year), 'click', this.nextYear.bindAsEventListener(this), false); } Event.observe($(this._id_datepicker_ftr), 'click', this.close.bindAsEventListener(this), false); Event.observe($(this._id_datepicker_rst), 'click', this.reset.bindAsEventListener(this), false); }, /* hack for buggy form elements layering in IE */ _wrap_in_iframe : function ( content ) { var _iframe_src = 'javascript:false'; return ( Prototype.Browser.IE ) ? "
    " + content + "
    " : content; }, /** * visible : return the visibility status of the datepicker. */ visible : function () { return ( $(this._id_datepicker) ) ? $(this._id_datepicker).visible() : false; }, /** * click : called when input element is clicked */ click : function () { /* init the datepicker if it doesn't exists */ if ( $(this._id_datepicker) == null ) this.load(); if (!this._isPositionned && this._relativePosition) { /* position the datepicker relatively to element */ var a_lt = Element.positionedOffset($(this._relative)); $(this._id_datepicker).setStyle({ 'left' : Number(a_lt[0]+this._leftOffset)+'px', 'top' : Number(a_lt[1]+this._topOffset)+'px' }); this._isPositionned = true; } if (!this.visible()) { this._initCurrentDate(); this._redrawCalendar(); } /* eval the clickCallback function */ eval(this._clickCallback()); /* Effect toggle to fade-in / fade-out the datepicker */ if ( this._enableShowEffect ) { new Effect.toggle(this._id_datepicker, this._showEffect, { duration: this._showDuration }); } else { $(this._id_datepicker).show(); } /* clean timer */ if (this._closeTimer) { window.clearTimeout(this._closeTimer); this._closeTimer = null; } }, /** * close : called when the datepicker is closed */ close : function () { if ( this._enableCloseEffect ) { switch(this._closeEffect) { case 'puff': new Effect.Puff(this._id_datepicker, { duration : this._closeEffectDuration }); break; case 'blindUp': new Effect.BlindUp(this._id_datepicker, { duration : this._closeEffectDuration }); break; case 'dropOut': new Effect.DropOut(this._id_datepicker, { duration : this._closeEffectDuration }); break; case 'switchOff': new Effect.SwitchOff(this._id_datepicker, { duration : this._closeEffectDuration }); break; case 'squish': new Effect.Squish(this._id_datepicker, { duration : this._closeEffectDuration }); break; case 'fold': new Effect.Fold(this._id_datepicker, { duration : this._closeEffectDuration }); break; case 'shrink': new Effect.Shrink(this._id_datepicker, { duration : this._closeEffectDuration }); break; default: new Effect.Fade(this._id_datepicker, { duration : this._closeEffectDuration }); break; }; } else { $(this._id_datepicker).hide(); } eval(this._afterClose()); }, // Reset function reset: function() { $(this._relative).value = ""; this._initCurrentDate(); }, /** * setDateFormat */ setDateFormat : function ( format, separator ) { if (Object.isUndefined(format)) format = this._dateFormat[0]; if (Object.isUndefined(separator)) separator = this._dateFormat[1]; this._dateFormat = [ format, separator ]; }, /** * setPosition : set the position of the datepicker. * param : t=top | l=left */ setPosition : function ( t, l ) { var h_pos = { 'top' : '0px', 'left' : '0px' }; if (!Object.isUndefined(t)) h_pos['top'] = Number(t)+this._topOffset+'px'; if (!Object.isUndefined(l)) h_pos['left']= Number(l)+this._leftOffset+'px'; $(this._id_datepicker).setStyle(h_pos); this._isPositionned = true; }, /** * _getMonthDays : given the year and month find the number of days. */ _getMonthDays : function ( year, month ) { if (((0 == (year%4)) && ( (0 != (year%100)) || (0 == (year%400)))) && (month == 1)) return 29; return this._daysInMonth[month]; }, /** * _buildCalendar : draw the days array for current date */ _buildCalendar : function () { var _self = this; var tbody = $(this._id_datepicker+'-tbody'); try { while ( tbody.hasChildNodes() ) tbody.removeChild(tbody.childNodes[0]); } catch ( e ) {}; /* generate day headers */ var trDay = new Element('tr'); this._language_day.get(this._language).each( function ( item ) { var td = new Element('td'); td.innerHTML = item; td.className = 'wday'; trDay.appendChild( td ); }); tbody.appendChild( trDay ); /* generate the content of days */ /* build-up days matrix */ var a_d = [ [ 0, 0, 0, 0, 0, 0, 0 ] ,[ 0, 0, 0, 0, 0, 0, 0 ] ,[ 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0 ] ,[ 0, 0, 0, 0, 0, 0, 0 ] ]; /* set date at beginning of month to display */ var d = new Date(this._current_year, this._current_mon, 1, 12); /* start the day list on monday */ var startIndex = ( !d.getDay() ) ? 6 : d.getDay() - 1; var nbDaysInMonth = this._getMonthDays( this._current_year, this._current_mon); var daysIndex = 1; for ( var j = startIndex; j < 7; j++ ) { a_d[0][j] = { d : daysIndex ,m : this._current_mon ,y : this._current_year }; daysIndex++; } var a_prevMY = this._prevMonthYear(); var nbDaysInMonthPrev = this._getMonthDays(a_prevMY[1], a_prevMY[0]); for ( var j = 0; j < startIndex; j++ ) { a_d[0][j] = { d : Number(nbDaysInMonthPrev - startIndex + j + 1) ,m : Number(a_prevMY[0]) ,y : a_prevMY[1] ,c : 'outbound' }; } var switchNextMonth = false; var currentMonth = this._current_mon; var currentYear = this._current_year; for ( var i = 1; i < 6; i++ ) { for ( var j = 0; j < 7; j++ ) { a_d[i][j] = { d : daysIndex ,m : currentMonth ,y : currentYear ,c : ( switchNextMonth ) ? 'outbound' : ( ((daysIndex == this._todayDate.getDate()) && (this._current_mon == this._todayDate.getMonth()) && (this._current_year == this._todayDate.getFullYear())) ? 'today' : null) }; daysIndex++; /* if at the end of the month : reset counter */ if (daysIndex > nbDaysInMonth ) { daysIndex = 1; switchNextMonth = true; if (this._current_mon + 1 > 11 ) { currentMonth = 0; currentYear += 1; } else { currentMonth += 1; } } } } /* generate days for current date */ for ( var i = 0; i < 6; i++ ) { var tr = new Element('tr'); for ( var j = 0; j < 7; j++ ) { var h_ij = a_d[i][j]; var td = new Element('td'); /* id is : datepicker-day-mon-year or depending on language other way */ /* don't forget to add 1 on month for proper formmatting */ var id = $A([ this._relative, this._df.date_to_string(h_ij["y"], h_ij["m"]+1, h_ij["d"], '-') ]).join('-'); /* set id and classname for cell if exists */ td.setAttribute('id', id); if (h_ij["c"]) td.className = h_ij["c"]; /* on onclick : rebuild date value from id of current cell */ var _curDate = new Date(); _curDate.setFullYear(h_ij["y"], h_ij["m"], h_ij["d"]); if ( this._disablePastDate || this._disableFutureDate ) { if ( this._disablePastDate ) { var _res = ( _curDate >= this._todayDate ) ? true : false; this._bindCellOnClick( td, true, _res, h_ij["c"] ); } if ( this._disableFutureDate ) { var _res = ( this._todayDate.getTime() + this._oneDayInMs > _curDate.getTime() ) ? true : false; this._bindCellOnClick( td, true, _res, h_ij["c"] ); } } else { this._bindCellOnClick( td, false ); } td.innerHTML= h_ij["d"]; tr.appendChild( td ); } tbody.appendChild( tr ); } return tbody; }, /** * _bindCellOnClick : bind the cell onclick depending on status. */ _bindCellOnClick : function ( td, wcompare, compareresult, h_ij_c ) { var doBind = false; if ( wcompare ) { if ( compareresult ) { doBind = true; } else { td.className= ( h_ij_c ) ? 'nclick_outbound' : 'nclick'; } } else { doBind = true; } if ( doBind ) { var _self = this; td.onclick = function () { $(_self._relative).value = String($(this).readAttribute('id') ).replace(_self._relative+'-','').replace(/-/g, _self._df.separator); /* if we have a cellCallback defined call it and pass it the cell */ if (_self._cellCallback) _self._cellCallback(this); _self.close(); }; } }, /** * nextMonth : redraw the calendar content for next month. */ _nextMonthYear : function () { var c_mon = this._current_mon; var c_year = this._current_year; if (c_mon + 1 > 11) { c_mon = 0; c_year += 1; } else { c_mon += 1; } return [ c_mon, c_year ]; }, nextMonth : function () { var a_next = this._nextMonthYear(); var _nextMon = a_next[0]; var _nextYear = a_next[1]; var _curDate = new Date(); _curDate.setFullYear(_nextYear, _nextMon, 1); var _res = ( this._todayDate.getTime() + this._oneDayInMs > _curDate.getTime() ) ? true : false; if ( this._disableFutureDate && !_res ) return; this._current_mon = _nextMon; this._current_year = _nextYear; this._redrawCalendar(); }, /** * prevMonth : redraw the calendar content for previous month. */ _prevMonthYear : function () { var c_mon = this._current_mon; var c_year = this._current_year; if (c_mon - 1 < 0) { c_mon = 11; c_year -= 1; } else { c_mon -= 1; } return [ c_mon, c_year ]; }, prevMonth : function () { var a_prev = this._prevMonthYear(); var _prevMon = a_prev[0]; var _prevYear = a_prev[1]; var _curDate = new Date(); _curDate.setFullYear(_prevYear, _prevMon, 1); var _res = ( _curDate >= this._todayDate ) ? true : false; if ( this._disablePastDate && !_res && (_prevMon!=this._todayDate.getMonth())) return; this._current_mon = _prevMon; this._current_year = _prevYear; this._redrawCalendar(); }, /** * prevYear : redraw the calendar content for prev year. */ _prevYear : function () { var c_mon = this._current_mon; var c_year = (this._current_year - 1); return [ c_mon, c_year ]; }, prevYear : function () { var a_next = this._prevYear(); var _nextMon = a_next[0]; var _nextYear = a_next[1]; var _curDate = new Date(); _curDate.setFullYear(_nextYear, _nextMon, 1); var _res = ( this._todayDate.getTime() + this._oneDayInMs > _curDate.getTime() ) ? true : false; if ( this._disableFutureDate && !_res ) return; this._current_mon = _nextMon; this._current_year = _nextYear; this._redrawCalendar(); }, /** * nextYear : redraw the calendar content for next year. */ _nextYear : function () { var c_mon = this._current_mon; var c_year = (this._current_year + 1); return [ c_mon, c_year ]; }, nextYear : function () { var a_next = this._nextYear(); var _nextMon = a_next[0]; var _nextYear = a_next[1]; var _curDate = new Date(); _curDate.setFullYear(_nextYear, _nextMon, 1); var _res = ( this._todayDate.getTime() + this._oneDayInMs > _curDate.getTime() ) ? true : false; if ( this._disableFutureDate && !_res ) return; this._current_mon = _nextMon; this._current_year = _nextYear; this._redrawCalendar(); }, _redrawCalendar : function () { this._setLocaleHdr(); this._buildCalendar(); }, _setLocaleHdr : function () { /* next link */ var a_next = this._nextMonthYear(); $(this._id_datepicker_next).setAttribute('title', this.getMonthLocale(a_next[0])+' '+a_next[1]); /* prev link */ var a_prev = this._prevMonthYear(); $(this._id_datepicker_prev).setAttribute('title', this.getMonthLocale(a_prev[0])+' '+a_prev[1]); /* year browse */ if ( this._enableYearBrowse ) { var a_next_y = this._nextYear(); $(this._id_datepicker_next_year).setAttribute('title', this.getMonthLocale(a_next_y[0])+' '+a_next_y[1]); var a_prev_y = this._prevYear(); $(this._id_datepicker_prev_year).setAttribute('title', this.getMonthLocale(a_prev_y[0])+' '+a_prev_y[1]); } /* header */ $(this._id_datepicker_hdr).update('   '+this.getMonthLocale(this._current_mon)+' '+this._current_year+'   '); } }; webcit-9.01-dfsg/static/dragdrop.js000066400000000000000000000745321254743150300173070ustar00rootroot00000000000000// script.aculo.us dragdrop.js v1.9.0, Thu Dec 23 16:54:48 -0500 2010 // Copyright (c) 2005-2010 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) // // script.aculo.us is freely distributable under the terms of an MIT-style license. // For details, see the script.aculo.us web site: http://script.aculo.us/ if(Object.isUndefined(Effect)) throw("dragdrop.js requires including script.aculo.us' effects.js library"); var Droppables = { drops: [], remove: function(element) { this.drops = this.drops.reject(function(d) { return d.element==$(element) }); }, add: function(element) { element = $(element); var options = Object.extend({ greedy: true, hoverclass: null, tree: false }, arguments[1] || { }); // cache containers if(options.containment) { options._containers = []; var containment = options.containment; if(Object.isArray(containment)) { containment.each( function(c) { options._containers.push($(c)) }); } else { options._containers.push($(containment)); } } if(options.accept) options.accept = [options.accept].flatten(); Element.makePositioned(element); // fix IE options.element = element; this.drops.push(options); }, findDeepestChild: function(drops) { deepest = drops[0]; for (i = 1; i < drops.length; ++i) if (Element.isParent(drops[i].element, deepest.element)) deepest = drops[i]; return deepest; }, isContained: function(element, drop) { var containmentNode; if(drop.tree) { containmentNode = element.treeNode; } else { containmentNode = element.parentNode; } return drop._containers.detect(function(c) { return containmentNode == c }); }, isAffected: function(point, element, drop) { return ( (drop.element!=element) && ((!drop._containers) || this.isContained(element, drop)) && ((!drop.accept) || (Element.classNames(element).detect( function(v) { return drop.accept.include(v) } ) )) && Position.within(drop.element, point[0], point[1]) ); }, deactivate: function(drop) { if(drop.hoverclass) Element.removeClassName(drop.element, drop.hoverclass); this.last_active = null; }, activate: function(drop) { if(drop.hoverclass) Element.addClassName(drop.element, drop.hoverclass); this.last_active = drop; }, show: function(point, element) { if(!this.drops.length) return; var drop, affected = []; this.drops.each( function(drop) { if(Droppables.isAffected(point, element, drop)) affected.push(drop); }); if(affected.length>0) drop = Droppables.findDeepestChild(affected); if(this.last_active && this.last_active != drop) this.deactivate(this.last_active); if (drop) { Position.within(drop.element, point[0], point[1]); if(drop.onHover) drop.onHover(element, drop.element, Position.overlap(drop.overlap, drop.element)); if (drop != this.last_active) Droppables.activate(drop); } }, fire: function(event, element) { if(!this.last_active) return; Position.prepare(); if (this.isAffected([Event.pointerX(event), Event.pointerY(event)], element, this.last_active)) if (this.last_active.onDrop) { this.last_active.onDrop(element, this.last_active.element, event); return true; } }, reset: function() { if(this.last_active) this.deactivate(this.last_active); } }; var Draggables = { drags: [], observers: [], register: function(draggable) { if(this.drags.length == 0) { this.eventMouseUp = this.endDrag.bindAsEventListener(this); this.eventMouseMove = this.updateDrag.bindAsEventListener(this); this.eventKeypress = this.keyPress.bindAsEventListener(this); Event.observe(document, "mouseup", this.eventMouseUp); Event.observe(document, "mousemove", this.eventMouseMove); Event.observe(document, "keypress", this.eventKeypress); } this.drags.push(draggable); }, unregister: function(draggable) { this.drags = this.drags.reject(function(d) { return d==draggable }); if(this.drags.length == 0) { Event.stopObserving(document, "mouseup", this.eventMouseUp); Event.stopObserving(document, "mousemove", this.eventMouseMove); Event.stopObserving(document, "keypress", this.eventKeypress); } }, activate: function(draggable) { if(draggable.options.delay) { this._timeout = setTimeout(function() { Draggables._timeout = null; window.focus(); Draggables.activeDraggable = draggable; }.bind(this), draggable.options.delay); } else { window.focus(); // allows keypress events if window isn't currently focused, fails for Safari this.activeDraggable = draggable; } }, deactivate: function() { this.activeDraggable = null; }, updateDrag: function(event) { if(!this.activeDraggable) return; var pointer = [Event.pointerX(event), Event.pointerY(event)]; // Mozilla-based browsers fire successive mousemove events with // the same coordinates, prevent needless redrawing (moz bug?) if(this._lastPointer && (this._lastPointer.inspect() == pointer.inspect())) return; this._lastPointer = pointer; this.activeDraggable.updateDrag(event, pointer); }, endDrag: function(event) { if(this._timeout) { clearTimeout(this._timeout); this._timeout = null; } if(!this.activeDraggable) return; this._lastPointer = null; this.activeDraggable.endDrag(event); this.activeDraggable = null; }, keyPress: function(event) { if(this.activeDraggable) this.activeDraggable.keyPress(event); }, addObserver: function(observer) { this.observers.push(observer); this._cacheObserverCallbacks(); }, removeObserver: function(element) { // element instead of observer fixes mem leaks this.observers = this.observers.reject( function(o) { return o.element==element }); this._cacheObserverCallbacks(); }, notify: function(eventName, draggable, event) { // 'onStart', 'onEnd', 'onDrag' if(this[eventName+'Count'] > 0) this.observers.each( function(o) { if(o[eventName]) o[eventName](eventName, draggable, event); }); if(draggable.options[eventName]) draggable.options[eventName](draggable, event); }, _cacheObserverCallbacks: function() { ['onStart','onEnd','onDrag'].each( function(eventName) { Draggables[eventName+'Count'] = Draggables.observers.select( function(o) { return o[eventName]; } ).length; }); } }; /*--------------------------------------------------------------------------*/ var Draggable = Class.create({ initialize: function(element) { var defaults = { handle: false, reverteffect: function(element, top_offset, left_offset) { var dur = Math.sqrt(Math.abs(top_offset^2)+Math.abs(left_offset^2))*0.02; new Effect.Move(element, { x: -left_offset, y: -top_offset, duration: dur, queue: {scope:'_draggable', position:'end'} }); }, endeffect: function(element) { var toOpacity = Object.isNumber(element._opacity) ? element._opacity : 1.0; new Effect.Opacity(element, {duration:0.2, from:0.7, to:toOpacity, queue: {scope:'_draggable', position:'end'}, afterFinish: function(){ Draggable._dragging[element] = false } }); }, zindex: 1000, revert: false, quiet: false, scroll: false, scrollSensitivity: 20, scrollSpeed: 15, snap: false, // false, or xy or [x,y] or function(x,y){ return [x,y] } delay: 0 }; if(!arguments[1] || Object.isUndefined(arguments[1].endeffect)) Object.extend(defaults, { starteffect: function(element) { element._opacity = Element.getOpacity(element); Draggable._dragging[element] = true; new Effect.Opacity(element, {duration:0.2, from:element._opacity, to:0.7}); } }); var options = Object.extend(defaults, arguments[1] || { }); this.element = $(element); if(options.handle && Object.isString(options.handle)) this.handle = this.element.down('.'+options.handle, 0); if(!this.handle) this.handle = $(options.handle); if(!this.handle) this.handle = this.element; if(options.scroll && !options.scroll.scrollTo && !options.scroll.outerHTML) { options.scroll = $(options.scroll); this._isScrollChild = Element.childOf(this.element, options.scroll); } Element.makePositioned(this.element); // fix IE this.options = options; this.dragging = false; this.eventMouseDown = this.initDrag.bindAsEventListener(this); Event.observe(this.handle, "mousedown", this.eventMouseDown); Draggables.register(this); }, destroy: function() { Event.stopObserving(this.handle, "mousedown", this.eventMouseDown); Draggables.unregister(this); }, currentDelta: function() { return([ parseInt(Element.getStyle(this.element,'left') || '0'), parseInt(Element.getStyle(this.element,'top') || '0')]); }, initDrag: function(event) { if(!Object.isUndefined(Draggable._dragging[this.element]) && Draggable._dragging[this.element]) return; if(Event.isLeftClick(event)) { // abort on form elements, fixes a Firefox issue var src = Event.element(event); if((tag_name = src.tagName.toUpperCase()) && ( tag_name=='INPUT' || tag_name=='SELECT' || tag_name=='OPTION' || tag_name=='BUTTON' || tag_name=='TEXTAREA')) return; var pointer = [Event.pointerX(event), Event.pointerY(event)]; var pos = this.element.cumulativeOffset(); this.offset = [0,1].map( function(i) { return (pointer[i] - pos[i]) }); Draggables.activate(this); Event.stop(event); } }, startDrag: function(event) { this.dragging = true; if(!this.delta) this.delta = this.currentDelta(); if(this.options.zindex) { this.originalZ = parseInt(Element.getStyle(this.element,'z-index') || 0); this.element.style.zIndex = this.options.zindex; } if(this.options.ghosting) { this._clone = this.element.cloneNode(true); this._originallyAbsolute = (this.element.getStyle('position') == 'absolute'); if (!this._originallyAbsolute) Position.absolutize(this.element); this.element.parentNode.insertBefore(this._clone, this.element); } if(this.options.scroll) { if (this.options.scroll == window) { var where = this._getWindowScroll(this.options.scroll); this.originalScrollLeft = where.left; this.originalScrollTop = where.top; } else { this.originalScrollLeft = this.options.scroll.scrollLeft; this.originalScrollTop = this.options.scroll.scrollTop; } } Draggables.notify('onStart', this, event); if(this.options.starteffect) this.options.starteffect(this.element); }, updateDrag: function(event, pointer) { if(!this.dragging) this.startDrag(event); if(!this.options.quiet){ Position.prepare(); Droppables.show(pointer, this.element); } Draggables.notify('onDrag', this, event); this.draw(pointer); if(this.options.change) this.options.change(this); if(this.options.scroll) { this.stopScrolling(); var p; if (this.options.scroll == window) { with(this._getWindowScroll(this.options.scroll)) { p = [ left, top, left+width, top+height ]; } } else { p = Position.page(this.options.scroll).toArray(); p[0] += this.options.scroll.scrollLeft + Position.deltaX; p[1] += this.options.scroll.scrollTop + Position.deltaY; p.push(p[0]+this.options.scroll.offsetWidth); p.push(p[1]+this.options.scroll.offsetHeight); } var speed = [0,0]; if(pointer[0] < (p[0]+this.options.scrollSensitivity)) speed[0] = pointer[0]-(p[0]+this.options.scrollSensitivity); if(pointer[1] < (p[1]+this.options.scrollSensitivity)) speed[1] = pointer[1]-(p[1]+this.options.scrollSensitivity); if(pointer[0] > (p[2]-this.options.scrollSensitivity)) speed[0] = pointer[0]-(p[2]-this.options.scrollSensitivity); if(pointer[1] > (p[3]-this.options.scrollSensitivity)) speed[1] = pointer[1]-(p[3]-this.options.scrollSensitivity); this.startScrolling(speed); } // fix AppleWebKit rendering if(Prototype.Browser.WebKit) window.scrollBy(0,0); Event.stop(event); }, finishDrag: function(event, success) { this.dragging = false; if(this.options.quiet){ Position.prepare(); var pointer = [Event.pointerX(event), Event.pointerY(event)]; Droppables.show(pointer, this.element); } if(this.options.ghosting) { if (!this._originallyAbsolute) Position.relativize(this.element); delete this._originallyAbsolute; Element.remove(this._clone); this._clone = null; } var dropped = false; if(success) { dropped = Droppables.fire(event, this.element); if (!dropped) dropped = false; } if(dropped && this.options.onDropped) this.options.onDropped(this.element); Draggables.notify('onEnd', this, event); var revert = this.options.revert; if(revert && Object.isFunction(revert)) revert = revert(this.element); var d = this.currentDelta(); if(revert && this.options.reverteffect) { if (dropped == 0 || revert != 'failure') this.options.reverteffect(this.element, d[1]-this.delta[1], d[0]-this.delta[0]); } else { this.delta = d; } if(this.options.zindex) this.element.style.zIndex = this.originalZ; if(this.options.endeffect) this.options.endeffect(this.element); Draggables.deactivate(this); Droppables.reset(); }, keyPress: function(event) { if(event.keyCode!=Event.KEY_ESC) return; this.finishDrag(event, false); Event.stop(event); }, endDrag: function(event) { if(!this.dragging) return; this.stopScrolling(); this.finishDrag(event, true); Event.stop(event); }, draw: function(point) { var pos = this.element.cumulativeOffset(); if(this.options.ghosting) { var r = Position.realOffset(this.element); pos[0] += r[0] - Position.deltaX; pos[1] += r[1] - Position.deltaY; } var d = this.currentDelta(); pos[0] -= d[0]; pos[1] -= d[1]; if(this.options.scroll && (this.options.scroll != window && this._isScrollChild)) { pos[0] -= this.options.scroll.scrollLeft-this.originalScrollLeft; pos[1] -= this.options.scroll.scrollTop-this.originalScrollTop; } var p = [0,1].map(function(i){ return (point[i]-pos[i]-this.offset[i]) }.bind(this)); if(this.options.snap) { if(Object.isFunction(this.options.snap)) { p = this.options.snap(p[0],p[1],this); } else { if(Object.isArray(this.options.snap)) { p = p.map( function(v, i) { return (v/this.options.snap[i]).round()*this.options.snap[i] }.bind(this)); } else { p = p.map( function(v) { return (v/this.options.snap).round()*this.options.snap }.bind(this)); } }} var style = this.element.style; if((!this.options.constraint) || (this.options.constraint=='horizontal')) style.left = p[0] + "px"; if((!this.options.constraint) || (this.options.constraint=='vertical')) style.top = p[1] + "px"; if(style.visibility=="hidden") style.visibility = ""; // fix gecko rendering }, stopScrolling: function() { if(this.scrollInterval) { clearInterval(this.scrollInterval); this.scrollInterval = null; Draggables._lastScrollPointer = null; } }, startScrolling: function(speed) { if(!(speed[0] || speed[1])) return; this.scrollSpeed = [speed[0]*this.options.scrollSpeed,speed[1]*this.options.scrollSpeed]; this.lastScrolled = new Date(); this.scrollInterval = setInterval(this.scroll.bind(this), 10); }, scroll: function() { var current = new Date(); var delta = current - this.lastScrolled; this.lastScrolled = current; if(this.options.scroll == window) { with (this._getWindowScroll(this.options.scroll)) { if (this.scrollSpeed[0] || this.scrollSpeed[1]) { var d = delta / 1000; this.options.scroll.scrollTo( left + d*this.scrollSpeed[0], top + d*this.scrollSpeed[1] ); } } } else { this.options.scroll.scrollLeft += this.scrollSpeed[0] * delta / 1000; this.options.scroll.scrollTop += this.scrollSpeed[1] * delta / 1000; } Position.prepare(); Droppables.show(Draggables._lastPointer, this.element); Draggables.notify('onDrag', this); if (this._isScrollChild) { Draggables._lastScrollPointer = Draggables._lastScrollPointer || $A(Draggables._lastPointer); Draggables._lastScrollPointer[0] += this.scrollSpeed[0] * delta / 1000; Draggables._lastScrollPointer[1] += this.scrollSpeed[1] * delta / 1000; if (Draggables._lastScrollPointer[0] < 0) Draggables._lastScrollPointer[0] = 0; if (Draggables._lastScrollPointer[1] < 0) Draggables._lastScrollPointer[1] = 0; this.draw(Draggables._lastScrollPointer); } if(this.options.change) this.options.change(this); }, _getWindowScroll: function(w) { var T, L, W, H; with (w.document) { if (w.document.documentElement && documentElement.scrollTop) { T = documentElement.scrollTop; L = documentElement.scrollLeft; } else if (w.document.body) { T = body.scrollTop; L = body.scrollLeft; } if (w.innerWidth) { W = w.innerWidth; H = w.innerHeight; } else if (w.document.documentElement && documentElement.clientWidth) { W = documentElement.clientWidth; H = documentElement.clientHeight; } else { W = body.offsetWidth; H = body.offsetHeight; } } return { top: T, left: L, width: W, height: H }; } }); Draggable._dragging = { }; /*--------------------------------------------------------------------------*/ var SortableObserver = Class.create({ initialize: function(element, observer) { this.element = $(element); this.observer = observer; this.lastValue = Sortable.serialize(this.element); }, onStart: function() { this.lastValue = Sortable.serialize(this.element); }, onEnd: function() { Sortable.unmark(); if(this.lastValue != Sortable.serialize(this.element)) this.observer(this.element) } }); var Sortable = { SERIALIZE_RULE: /^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/, sortables: { }, _findRootElement: function(element) { while (element.tagName.toUpperCase() != "BODY") { if(element.id && Sortable.sortables[element.id]) return element; element = element.parentNode; } }, options: function(element) { element = Sortable._findRootElement($(element)); if(!element) return; return Sortable.sortables[element.id]; }, destroy: function(element){ element = $(element); var s = Sortable.sortables[element.id]; if(s) { Draggables.removeObserver(s.element); s.droppables.each(function(d){ Droppables.remove(d) }); s.draggables.invoke('destroy'); delete Sortable.sortables[s.element.id]; } }, create: function(element) { element = $(element); var options = Object.extend({ element: element, tag: 'li', // assumes li children, override with tag: 'tagname' dropOnEmpty: false, tree: false, treeTag: 'ul', overlap: 'vertical', // one of 'vertical', 'horizontal' constraint: 'vertical', // one of 'vertical', 'horizontal', false containment: element, // also takes array of elements (or id's); or false handle: false, // or a CSS class only: false, delay: 0, hoverclass: null, ghosting: false, quiet: false, scroll: false, scrollSensitivity: 20, scrollSpeed: 15, format: this.SERIALIZE_RULE, // these take arrays of elements or ids and can be // used for better initialization performance elements: false, handles: false, onChange: Prototype.emptyFunction, onUpdate: Prototype.emptyFunction }, arguments[1] || { }); // clear any old sortable with same element this.destroy(element); // build options for the draggables var options_for_draggable = { revert: true, quiet: options.quiet, scroll: options.scroll, scrollSpeed: options.scrollSpeed, scrollSensitivity: options.scrollSensitivity, delay: options.delay, ghosting: options.ghosting, constraint: options.constraint, handle: options.handle }; if(options.starteffect) options_for_draggable.starteffect = options.starteffect; if(options.reverteffect) options_for_draggable.reverteffect = options.reverteffect; else if(options.ghosting) options_for_draggable.reverteffect = function(element) { element.style.top = 0; element.style.left = 0; }; if(options.endeffect) options_for_draggable.endeffect = options.endeffect; if(options.zindex) options_for_draggable.zindex = options.zindex; // build options for the droppables var options_for_droppable = { overlap: options.overlap, containment: options.containment, tree: options.tree, hoverclass: options.hoverclass, onHover: Sortable.onHover }; var options_for_tree = { onHover: Sortable.onEmptyHover, overlap: options.overlap, containment: options.containment, hoverclass: options.hoverclass }; // fix for gecko engine Element.cleanWhitespace(element); options.draggables = []; options.droppables = []; // drop on empty handling if(options.dropOnEmpty || options.tree) { Droppables.add(element, options_for_tree); options.droppables.push(element); } (options.elements || this.findElements(element, options) || []).each( function(e,i) { var handle = options.handles ? $(options.handles[i]) : (options.handle ? $(e).select('.' + options.handle)[0] : e); options.draggables.push( new Draggable(e, Object.extend(options_for_draggable, { handle: handle }))); Droppables.add(e, options_for_droppable); if(options.tree) e.treeNode = element; options.droppables.push(e); }); if(options.tree) { (Sortable.findTreeElements(element, options) || []).each( function(e) { Droppables.add(e, options_for_tree); e.treeNode = element; options.droppables.push(e); }); } // keep reference this.sortables[element.identify()] = options; // for onupdate Draggables.addObserver(new SortableObserver(element, options.onUpdate)); }, // return all suitable-for-sortable elements in a guaranteed order findElements: function(element, options) { return Element.findChildren( element, options.only, options.tree ? true : false, options.tag); }, findTreeElements: function(element, options) { return Element.findChildren( element, options.only, options.tree ? true : false, options.treeTag); }, onHover: function(element, dropon, overlap) { if(Element.isParent(dropon, element)) return; if(overlap > .33 && overlap < .66 && Sortable.options(dropon).tree) { return; } else if(overlap>0.5) { Sortable.mark(dropon, 'before'); if(dropon.previousSibling != element) { var oldParentNode = element.parentNode; element.style.visibility = "hidden"; // fix gecko rendering dropon.parentNode.insertBefore(element, dropon); if(dropon.parentNode!=oldParentNode) Sortable.options(oldParentNode).onChange(element); Sortable.options(dropon.parentNode).onChange(element); } } else { Sortable.mark(dropon, 'after'); var nextElement = dropon.nextSibling || null; if(nextElement != element) { var oldParentNode = element.parentNode; element.style.visibility = "hidden"; // fix gecko rendering dropon.parentNode.insertBefore(element, nextElement); if(dropon.parentNode!=oldParentNode) Sortable.options(oldParentNode).onChange(element); Sortable.options(dropon.parentNode).onChange(element); } } }, onEmptyHover: function(element, dropon, overlap) { var oldParentNode = element.parentNode; var droponOptions = Sortable.options(dropon); if(!Element.isParent(dropon, element)) { var index; var children = Sortable.findElements(dropon, {tag: droponOptions.tag, only: droponOptions.only}); var child = null; if(children) { var offset = Element.offsetSize(dropon, droponOptions.overlap) * (1.0 - overlap); for (index = 0; index < children.length; index += 1) { if (offset - Element.offsetSize (children[index], droponOptions.overlap) >= 0) { offset -= Element.offsetSize (children[index], droponOptions.overlap); } else if (offset - (Element.offsetSize (children[index], droponOptions.overlap) / 2) >= 0) { child = index + 1 < children.length ? children[index + 1] : null; break; } else { child = children[index]; break; } } } dropon.insertBefore(element, child); Sortable.options(oldParentNode).onChange(element); droponOptions.onChange(element); } }, unmark: function() { if(Sortable._marker) Sortable._marker.hide(); }, mark: function(dropon, position) { // mark on ghosting only var sortable = Sortable.options(dropon.parentNode); if(sortable && !sortable.ghosting) return; if(!Sortable._marker) { Sortable._marker = ($('dropmarker') || Element.extend(document.createElement('DIV'))). hide().addClassName('dropmarker').setStyle({position:'absolute'}); document.getElementsByTagName("body").item(0).appendChild(Sortable._marker); } var offsets = dropon.cumulativeOffset(); Sortable._marker.setStyle({left: offsets[0]+'px', top: offsets[1] + 'px'}); if(position=='after') if(sortable.overlap == 'horizontal') Sortable._marker.setStyle({left: (offsets[0]+dropon.clientWidth) + 'px'}); else Sortable._marker.setStyle({top: (offsets[1]+dropon.clientHeight) + 'px'}); Sortable._marker.show(); }, _tree: function(element, options, parent) { var children = Sortable.findElements(element, options) || []; for (var i = 0; i < children.length; ++i) { var match = children[i].id.match(options.format); if (!match) continue; var child = { id: encodeURIComponent(match ? match[1] : null), element: element, parent: parent, children: [], position: parent.children.length, container: $(children[i]).down(options.treeTag) }; /* Get the element containing the children and recurse over it */ if (child.container) this._tree(child.container, options, child); parent.children.push (child); } return parent; }, tree: function(element) { element = $(element); var sortableOptions = this.options(element); var options = Object.extend({ tag: sortableOptions.tag, treeTag: sortableOptions.treeTag, only: sortableOptions.only, name: element.id, format: sortableOptions.format }, arguments[1] || { }); var root = { id: null, parent: null, children: [], container: element, position: 0 }; return Sortable._tree(element, options, root); }, /* Construct a [i] index for a particular node */ _constructIndex: function(node) { var index = ''; do { if (node.id) index = '[' + node.position + ']' + index; } while ((node = node.parent) != null); return index; }, sequence: function(element) { element = $(element); var options = Object.extend(this.options(element), arguments[1] || { }); return $(this.findElements(element, options) || []).map( function(item) { return item.id.match(options.format) ? item.id.match(options.format)[1] : ''; }); }, setSequence: function(element, new_sequence) { element = $(element); var options = Object.extend(this.options(element), arguments[2] || { }); var nodeMap = { }; this.findElements(element, options).each( function(n) { if (n.id.match(options.format)) nodeMap[n.id.match(options.format)[1]] = [n, n.parentNode]; n.parentNode.removeChild(n); }); new_sequence.each(function(ident) { var n = nodeMap[ident]; if (n) { n[1].appendChild(n[0]); delete nodeMap[ident]; } }); }, serialize: function(element) { element = $(element); var options = Object.extend(Sortable.options(element), arguments[1] || { }); var name = encodeURIComponent( (arguments[1] && arguments[1].name) ? arguments[1].name : element.id); if (options.tree) { return Sortable.tree(element, arguments[1]).children.map( function (item) { return [name + Sortable._constructIndex(item) + "[id]=" + encodeURIComponent(item.id)].concat(item.children.map(arguments.callee)); }).flatten().join('&'); } else { return Sortable.sequence(element, arguments[1]).map( function(item) { return name + "[]=" + encodeURIComponent(item); }).join('&'); } } }; // Returns true if child is contained within element Element.isParent = function(child, element) { if (!child.parentNode || child == element) return false; if (child.parentNode == element) return true; return Element.isParent(child.parentNode, element); }; Element.findChildren = function(element, only, recursive, tagName) { if(!element.hasChildNodes()) return null; tagName = tagName.toUpperCase(); if(only) only = [only].flatten(); var elements = []; $A(element.childNodes).each( function(e) { if(e.tagName && e.tagName.toUpperCase()==tagName && (!only || (Element.classNames(e).detect(function(v) { return only.include(v) })))) elements.push(e); if(recursive) { var grandchildren = Element.findChildren(e, only, recursive, tagName); if(grandchildren) elements.push(grandchildren); } }); return (elements.length>0 ? elements.flatten() : []); }; Element.offsetSize = function (element, type) { return element['offset' + ((type=='vertical' || type=='height') ? 'Height' : 'Width')]; };webcit-9.01-dfsg/static/edit.gif000077500000000000000000000002211254743150300165460ustar00rootroot00000000000000GIF89a³ ááãÂÃÇ:ÉI«¥*ÝÒ0‡ZŠ0 q¥Ãqˆ//ˈ⮼¸àÏH „›Bæ8$ú®'„ƒõÊ¥D;webcit-9.01-dfsg/static/effects.js000066400000000000000000001131071254743150300171140ustar00rootroot00000000000000// script.aculo.us effects.js v1.9.0, Thu Dec 23 16:54:48 -0500 2010 // Copyright (c) 2005-2010 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) // Contributors: // Justin Palmer (http://encytemedia.com/) // Mark Pilgrim (http://diveintomark.org/) // Martin Bialasinki // // script.aculo.us is freely distributable under the terms of an MIT-style license. // For details, see the script.aculo.us web site: http://script.aculo.us/ // converts rgb() and #xxx to #xxxxxx format, // returns self (or first argument) if not convertable String.prototype.parseColor = function() { var color = '#'; if (this.slice(0,4) == 'rgb(') { var cols = this.slice(4,this.length-1).split(','); var i=0; do { color += parseInt(cols[i]).toColorPart() } while (++i<3); } else { if (this.slice(0,1) == '#') { if (this.length==4) for(var i=1;i<4;i++) color += (this.charAt(i) + this.charAt(i)).toLowerCase(); if (this.length==7) color = this.toLowerCase(); } } return (color.length==7 ? color : (arguments[0] || this)); }; /*--------------------------------------------------------------------------*/ Element.collectTextNodes = function(element) { return $A($(element).childNodes).collect( function(node) { return (node.nodeType==3 ? node.nodeValue : (node.hasChildNodes() ? Element.collectTextNodes(node) : '')); }).flatten().join(''); }; Element.collectTextNodesIgnoreClass = function(element, className) { return $A($(element).childNodes).collect( function(node) { return (node.nodeType==3 ? node.nodeValue : ((node.hasChildNodes() && !Element.hasClassName(node,className)) ? Element.collectTextNodesIgnoreClass(node, className) : '')); }).flatten().join(''); }; Element.setContentZoom = function(element, percent) { element = $(element); element.setStyle({fontSize: (percent/100) + 'em'}); if (Prototype.Browser.WebKit) window.scrollBy(0,0); return element; }; Element.getInlineOpacity = function(element){ return $(element).style.opacity || ''; }; Element.forceRerendering = function(element) { try { element = $(element); var n = document.createTextNode(' '); element.appendChild(n); element.removeChild(n); } catch(e) { } }; /*--------------------------------------------------------------------------*/ var Effect = { _elementDoesNotExistError: { name: 'ElementDoesNotExistError', message: 'The specified DOM element does not exist, but is required for this effect to operate' }, Transitions: { linear: Prototype.K, sinoidal: function(pos) { return (-Math.cos(pos*Math.PI)/2) + .5; }, reverse: function(pos) { return 1-pos; }, flicker: function(pos) { var pos = ((-Math.cos(pos*Math.PI)/4) + .75) + Math.random()/4; return pos > 1 ? 1 : pos; }, wobble: function(pos) { return (-Math.cos(pos*Math.PI*(9*pos))/2) + .5; }, pulse: function(pos, pulses) { return (-Math.cos((pos*((pulses||5)-.5)*2)*Math.PI)/2) + .5; }, spring: function(pos) { return 1 - (Math.cos(pos * 4.5 * Math.PI) * Math.exp(-pos * 6)); }, none: function(pos) { return 0; }, full: function(pos) { return 1; } }, DefaultOptions: { duration: 1.0, // seconds fps: 100, // 100= assume 66fps max. sync: false, // true for combining from: 0.0, to: 1.0, delay: 0.0, queue: 'parallel' }, tagifyText: function(element) { var tagifyStyle = 'position:relative'; if (Prototype.Browser.IE) tagifyStyle += ';zoom:1'; element = $(element); $A(element.childNodes).each( function(child) { if (child.nodeType==3) { child.nodeValue.toArray().each( function(character) { element.insertBefore( new Element('span', {style: tagifyStyle}).update( character == ' ' ? String.fromCharCode(160) : character), child); }); Element.remove(child); } }); }, multiple: function(element, effect) { var elements; if (((typeof element == 'object') || Object.isFunction(element)) && (element.length)) elements = element; else elements = $(element).childNodes; var options = Object.extend({ speed: 0.1, delay: 0.0 }, arguments[2] || { }); var masterDelay = options.delay; $A(elements).each( function(element, index) { new effect(element, Object.extend(options, { delay: index * options.speed + masterDelay })); }); }, PAIRS: { 'slide': ['SlideDown','SlideUp'], 'blind': ['BlindDown','BlindUp'], 'appear': ['Appear','Fade'] }, toggle: function(element, effect, options) { element = $(element); effect = (effect || 'appear').toLowerCase(); return Effect[ Effect.PAIRS[ effect ][ element.visible() ? 1 : 0 ] ](element, Object.extend({ queue: { position:'end', scope:(element.id || 'global'), limit: 1 } }, options || {})); } }; Effect.DefaultOptions.transition = Effect.Transitions.sinoidal; /* ------------- core effects ------------- */ Effect.ScopedQueue = Class.create(Enumerable, { initialize: function() { this.effects = []; this.interval = null; }, _each: function(iterator) { this.effects._each(iterator); }, add: function(effect) { var timestamp = new Date().getTime(); var position = Object.isString(effect.options.queue) ? effect.options.queue : effect.options.queue.position; switch(position) { case 'front': // move unstarted effects after this effect this.effects.findAll(function(e){ return e.state=='idle' }).each( function(e) { e.startOn += effect.finishOn; e.finishOn += effect.finishOn; }); break; case 'with-last': timestamp = this.effects.pluck('startOn').max() || timestamp; break; case 'end': // start effect after last queued effect has finished timestamp = this.effects.pluck('finishOn').max() || timestamp; break; } effect.startOn += timestamp; effect.finishOn += timestamp; if (!effect.options.queue.limit || (this.effects.length < effect.options.queue.limit)) this.effects.push(effect); if (!this.interval) this.interval = setInterval(this.loop.bind(this), 15); }, remove: function(effect) { this.effects = this.effects.reject(function(e) { return e==effect }); if (this.effects.length == 0) { clearInterval(this.interval); this.interval = null; } }, loop: function() { var timePos = new Date().getTime(); for(var i=0, len=this.effects.length;i= this.startOn) { if (timePos >= this.finishOn) { this.render(1.0); this.cancel(); this.event('beforeFinish'); if (this.finish) this.finish(); this.event('afterFinish'); return; } var pos = (timePos - this.startOn) / this.totalTime, frame = (pos * this.totalFrames).round(); if (frame > this.currentFrame) { this.render(pos); this.currentFrame = frame; } } }, cancel: function() { if (!this.options.sync) Effect.Queues.get(Object.isString(this.options.queue) ? 'global' : this.options.queue.scope).remove(this); this.state = 'finished'; }, event: function(eventName) { if (this.options[eventName + 'Internal']) this.options[eventName + 'Internal'](this); if (this.options[eventName]) this.options[eventName](this); }, inspect: function() { var data = $H(); for(property in this) if (!Object.isFunction(this[property])) data.set(property, this[property]); return '#'; } }); Effect.Parallel = Class.create(Effect.Base, { initialize: function(effects) { this.effects = effects || []; this.start(arguments[1]); }, update: function(position) { this.effects.invoke('render', position); }, finish: function(position) { this.effects.each( function(effect) { effect.render(1.0); effect.cancel(); effect.event('beforeFinish'); if (effect.finish) effect.finish(position); effect.event('afterFinish'); }); } }); Effect.Tween = Class.create(Effect.Base, { initialize: function(object, from, to) { object = Object.isString(object) ? $(object) : object; var args = $A(arguments), method = args.last(), options = args.length == 5 ? args[3] : null; this.method = Object.isFunction(method) ? method.bind(object) : Object.isFunction(object[method]) ? object[method].bind(object) : function(value) { object[method] = value }; this.start(Object.extend({ from: from, to: to }, options || { })); }, update: function(position) { this.method(position); } }); Effect.Event = Class.create(Effect.Base, { initialize: function() { this.start(Object.extend({ duration: 0 }, arguments[0] || { })); }, update: Prototype.emptyFunction }); Effect.Opacity = Class.create(Effect.Base, { initialize: function(element) { this.element = $(element); if (!this.element) throw(Effect._elementDoesNotExistError); // make this work on IE on elements without 'layout' if (Prototype.Browser.IE && (!this.element.currentStyle.hasLayout)) this.element.setStyle({zoom: 1}); var options = Object.extend({ from: this.element.getOpacity() || 0.0, to: 1.0 }, arguments[1] || { }); this.start(options); }, update: function(position) { this.element.setOpacity(position); } }); Effect.Move = Class.create(Effect.Base, { initialize: function(element) { this.element = $(element); if (!this.element) throw(Effect._elementDoesNotExistError); var options = Object.extend({ x: 0, y: 0, mode: 'relative' }, arguments[1] || { }); this.start(options); }, setup: function() { this.element.makePositioned(); this.originalLeft = parseFloat(this.element.getStyle('left') || '0'); this.originalTop = parseFloat(this.element.getStyle('top') || '0'); if (this.options.mode == 'absolute') { this.options.x = this.options.x - this.originalLeft; this.options.y = this.options.y - this.originalTop; } }, update: function(position) { this.element.setStyle({ left: (this.options.x * position + this.originalLeft).round() + 'px', top: (this.options.y * position + this.originalTop).round() + 'px' }); } }); // for backwards compatibility Effect.MoveBy = function(element, toTop, toLeft) { return new Effect.Move(element, Object.extend({ x: toLeft, y: toTop }, arguments[3] || { })); }; Effect.Scale = Class.create(Effect.Base, { initialize: function(element, percent) { this.element = $(element); if (!this.element) throw(Effect._elementDoesNotExistError); var options = Object.extend({ scaleX: true, scaleY: true, scaleContent: true, scaleFromCenter: false, scaleMode: 'box', // 'box' or 'contents' or { } with provided values scaleFrom: 100.0, scaleTo: percent }, arguments[2] || { }); this.start(options); }, setup: function() { this.restoreAfterFinish = this.options.restoreAfterFinish || false; this.elementPositioning = this.element.getStyle('position'); this.originalStyle = { }; ['top','left','width','height','fontSize'].each( function(k) { this.originalStyle[k] = this.element.style[k]; }.bind(this)); this.originalTop = this.element.offsetTop; this.originalLeft = this.element.offsetLeft; var fontSize = this.element.getStyle('font-size') || '100%'; ['em','px','%','pt'].each( function(fontSizeType) { if (fontSize.indexOf(fontSizeType)>0) { this.fontSize = parseFloat(fontSize); this.fontSizeType = fontSizeType; } }.bind(this)); this.factor = (this.options.scaleTo - this.options.scaleFrom)/100; this.dims = null; if (this.options.scaleMode=='box') this.dims = [this.element.offsetHeight, this.element.offsetWidth]; if (/^content/.test(this.options.scaleMode)) this.dims = [this.element.scrollHeight, this.element.scrollWidth]; if (!this.dims) this.dims = [this.options.scaleMode.originalHeight, this.options.scaleMode.originalWidth]; }, update: function(position) { var currentScale = (this.options.scaleFrom/100.0) + (this.factor * position); if (this.options.scaleContent && this.fontSize) this.element.setStyle({fontSize: this.fontSize * currentScale + this.fontSizeType }); this.setDimensions(this.dims[0] * currentScale, this.dims[1] * currentScale); }, finish: function(position) { if (this.restoreAfterFinish) this.element.setStyle(this.originalStyle); }, setDimensions: function(height, width) { var d = { }; if (this.options.scaleX) d.width = width.round() + 'px'; if (this.options.scaleY) d.height = height.round() + 'px'; if (this.options.scaleFromCenter) { var topd = (height - this.dims[0])/2; var leftd = (width - this.dims[1])/2; if (this.elementPositioning == 'absolute') { if (this.options.scaleY) d.top = this.originalTop-topd + 'px'; if (this.options.scaleX) d.left = this.originalLeft-leftd + 'px'; } else { if (this.options.scaleY) d.top = -topd + 'px'; if (this.options.scaleX) d.left = -leftd + 'px'; } } this.element.setStyle(d); } }); Effect.Highlight = Class.create(Effect.Base, { initialize: function(element) { this.element = $(element); if (!this.element) throw(Effect._elementDoesNotExistError); var options = Object.extend({ startcolor: '#ffff99' }, arguments[1] || { }); this.start(options); }, setup: function() { // Prevent executing on elements not in the layout flow if (this.element.getStyle('display')=='none') { this.cancel(); return; } // Disable background image during the effect this.oldStyle = { }; if (!this.options.keepBackgroundImage) { this.oldStyle.backgroundImage = this.element.getStyle('background-image'); this.element.setStyle({backgroundImage: 'none'}); } if (!this.options.endcolor) this.options.endcolor = this.element.getStyle('background-color').parseColor('#ffffff'); if (!this.options.restorecolor) this.options.restorecolor = this.element.getStyle('background-color'); // init color calculations this._base = $R(0,2).map(function(i){ return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16) }.bind(this)); this._delta = $R(0,2).map(function(i){ return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i] }.bind(this)); }, update: function(position) { this.element.setStyle({backgroundColor: $R(0,2).inject('#',function(m,v,i){ return m+((this._base[i]+(this._delta[i]*position)).round().toColorPart()); }.bind(this)) }); }, finish: function() { this.element.setStyle(Object.extend(this.oldStyle, { backgroundColor: this.options.restorecolor })); } }); Effect.ScrollTo = function(element) { var options = arguments[1] || { }, scrollOffsets = document.viewport.getScrollOffsets(), elementOffsets = $(element).cumulativeOffset(); if (options.offset) elementOffsets[1] += options.offset; return new Effect.Tween(null, scrollOffsets.top, elementOffsets[1], options, function(p){ scrollTo(scrollOffsets.left, p.round()); } ); }; /* ------------- combination effects ------------- */ Effect.Fade = function(element) { element = $(element); var oldOpacity = element.getInlineOpacity(); var options = Object.extend({ from: element.getOpacity() || 1.0, to: 0.0, afterFinishInternal: function(effect) { if (effect.options.to!=0) return; effect.element.hide().setStyle({opacity: oldOpacity}); } }, arguments[1] || { }); return new Effect.Opacity(element,options); }; Effect.Appear = function(element) { element = $(element); var options = Object.extend({ from: (element.getStyle('display') == 'none' ? 0.0 : element.getOpacity() || 0.0), to: 1.0, // force Safari to render floated elements properly afterFinishInternal: function(effect) { effect.element.forceRerendering(); }, beforeSetup: function(effect) { effect.element.setOpacity(effect.options.from).show(); }}, arguments[1] || { }); return new Effect.Opacity(element,options); }; Effect.Puff = function(element) { element = $(element); var oldStyle = { opacity: element.getInlineOpacity(), position: element.getStyle('position'), top: element.style.top, left: element.style.left, width: element.style.width, height: element.style.height }; return new Effect.Parallel( [ new Effect.Scale(element, 200, { sync: true, scaleFromCenter: true, scaleContent: true, restoreAfterFinish: true }), new Effect.Opacity(element, { sync: true, to: 0.0 } ) ], Object.extend({ duration: 1.0, beforeSetupInternal: function(effect) { Position.absolutize(effect.effects[0].element); }, afterFinishInternal: function(effect) { effect.effects[0].element.hide().setStyle(oldStyle); } }, arguments[1] || { }) ); }; Effect.BlindUp = function(element) { element = $(element); element.makeClipping(); return new Effect.Scale(element, 0, Object.extend({ scaleContent: false, scaleX: false, restoreAfterFinish: true, afterFinishInternal: function(effect) { effect.element.hide().undoClipping(); } }, arguments[1] || { }) ); }; Effect.BlindDown = function(element) { element = $(element); var elementDimensions = element.getDimensions(); return new Effect.Scale(element, 100, Object.extend({ scaleContent: false, scaleX: false, scaleFrom: 0, scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width}, restoreAfterFinish: true, afterSetup: function(effect) { effect.element.makeClipping().setStyle({height: '0px'}).show(); }, afterFinishInternal: function(effect) { effect.element.undoClipping(); } }, arguments[1] || { })); }; Effect.SwitchOff = function(element) { element = $(element); var oldOpacity = element.getInlineOpacity(); return new Effect.Appear(element, Object.extend({ duration: 0.4, from: 0, transition: Effect.Transitions.flicker, afterFinishInternal: function(effect) { new Effect.Scale(effect.element, 1, { duration: 0.3, scaleFromCenter: true, scaleX: false, scaleContent: false, restoreAfterFinish: true, beforeSetup: function(effect) { effect.element.makePositioned().makeClipping(); }, afterFinishInternal: function(effect) { effect.element.hide().undoClipping().undoPositioned().setStyle({opacity: oldOpacity}); } }); } }, arguments[1] || { })); }; Effect.DropOut = function(element) { element = $(element); var oldStyle = { top: element.getStyle('top'), left: element.getStyle('left'), opacity: element.getInlineOpacity() }; return new Effect.Parallel( [ new Effect.Move(element, {x: 0, y: 100, sync: true }), new Effect.Opacity(element, { sync: true, to: 0.0 }) ], Object.extend( { duration: 0.5, beforeSetup: function(effect) { effect.effects[0].element.makePositioned(); }, afterFinishInternal: function(effect) { effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle); } }, arguments[1] || { })); }; Effect.Shake = function(element) { element = $(element); var options = Object.extend({ distance: 20, duration: 0.5 }, arguments[1] || {}); var distance = parseFloat(options.distance); var split = parseFloat(options.duration) / 10.0; var oldStyle = { top: element.getStyle('top'), left: element.getStyle('left') }; return new Effect.Move(element, { x: distance, y: 0, duration: split, afterFinishInternal: function(effect) { new Effect.Move(effect.element, { x: -distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) { new Effect.Move(effect.element, { x: distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) { new Effect.Move(effect.element, { x: -distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) { new Effect.Move(effect.element, { x: distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) { new Effect.Move(effect.element, { x: -distance, y: 0, duration: split, afterFinishInternal: function(effect) { effect.element.undoPositioned().setStyle(oldStyle); }}); }}); }}); }}); }}); }}); }; Effect.SlideDown = function(element) { element = $(element).cleanWhitespace(); // SlideDown need to have the content of the element wrapped in a container element with fixed height! var oldInnerBottom = element.down().getStyle('bottom'); var elementDimensions = element.getDimensions(); return new Effect.Scale(element, 100, Object.extend({ scaleContent: false, scaleX: false, scaleFrom: window.opera ? 0 : 1, scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width}, restoreAfterFinish: true, afterSetup: function(effect) { effect.element.makePositioned(); effect.element.down().makePositioned(); if (window.opera) effect.element.setStyle({top: ''}); effect.element.makeClipping().setStyle({height: '0px'}).show(); }, afterUpdateInternal: function(effect) { effect.element.down().setStyle({bottom: (effect.dims[0] - effect.element.clientHeight) + 'px' }); }, afterFinishInternal: function(effect) { effect.element.undoClipping().undoPositioned(); effect.element.down().undoPositioned().setStyle({bottom: oldInnerBottom}); } }, arguments[1] || { }) ); }; Effect.SlideUp = function(element) { element = $(element).cleanWhitespace(); var oldInnerBottom = element.down().getStyle('bottom'); var elementDimensions = element.getDimensions(); return new Effect.Scale(element, window.opera ? 0 : 1, Object.extend({ scaleContent: false, scaleX: false, scaleMode: 'box', scaleFrom: 100, scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width}, restoreAfterFinish: true, afterSetup: function(effect) { effect.element.makePositioned(); effect.element.down().makePositioned(); if (window.opera) effect.element.setStyle({top: ''}); effect.element.makeClipping().show(); }, afterUpdateInternal: function(effect) { effect.element.down().setStyle({bottom: (effect.dims[0] - effect.element.clientHeight) + 'px' }); }, afterFinishInternal: function(effect) { effect.element.hide().undoClipping().undoPositioned(); effect.element.down().undoPositioned().setStyle({bottom: oldInnerBottom}); } }, arguments[1] || { }) ); }; // Bug in opera makes the TD containing this element expand for a instance after finish Effect.Squish = function(element) { return new Effect.Scale(element, window.opera ? 1 : 0, { restoreAfterFinish: true, beforeSetup: function(effect) { effect.element.makeClipping(); }, afterFinishInternal: function(effect) { effect.element.hide().undoClipping(); } }); }; Effect.Grow = function(element) { element = $(element); var options = Object.extend({ direction: 'center', moveTransition: Effect.Transitions.sinoidal, scaleTransition: Effect.Transitions.sinoidal, opacityTransition: Effect.Transitions.full }, arguments[1] || { }); var oldStyle = { top: element.style.top, left: element.style.left, height: element.style.height, width: element.style.width, opacity: element.getInlineOpacity() }; var dims = element.getDimensions(); var initialMoveX, initialMoveY; var moveX, moveY; switch (options.direction) { case 'top-left': initialMoveX = initialMoveY = moveX = moveY = 0; break; case 'top-right': initialMoveX = dims.width; initialMoveY = moveY = 0; moveX = -dims.width; break; case 'bottom-left': initialMoveX = moveX = 0; initialMoveY = dims.height; moveY = -dims.height; break; case 'bottom-right': initialMoveX = dims.width; initialMoveY = dims.height; moveX = -dims.width; moveY = -dims.height; break; case 'center': initialMoveX = dims.width / 2; initialMoveY = dims.height / 2; moveX = -dims.width / 2; moveY = -dims.height / 2; break; } return new Effect.Move(element, { x: initialMoveX, y: initialMoveY, duration: 0.01, beforeSetup: function(effect) { effect.element.hide().makeClipping().makePositioned(); }, afterFinishInternal: function(effect) { new Effect.Parallel( [ new Effect.Opacity(effect.element, { sync: true, to: 1.0, from: 0.0, transition: options.opacityTransition }), new Effect.Move(effect.element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition }), new Effect.Scale(effect.element, 100, { scaleMode: { originalHeight: dims.height, originalWidth: dims.width }, sync: true, scaleFrom: window.opera ? 1 : 0, transition: options.scaleTransition, restoreAfterFinish: true}) ], Object.extend({ beforeSetup: function(effect) { effect.effects[0].element.setStyle({height: '0px'}).show(); }, afterFinishInternal: function(effect) { effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle); } }, options) ); } }); }; Effect.Shrink = function(element) { element = $(element); var options = Object.extend({ direction: 'center', moveTransition: Effect.Transitions.sinoidal, scaleTransition: Effect.Transitions.sinoidal, opacityTransition: Effect.Transitions.none }, arguments[1] || { }); var oldStyle = { top: element.style.top, left: element.style.left, height: element.style.height, width: element.style.width, opacity: element.getInlineOpacity() }; var dims = element.getDimensions(); var moveX, moveY; switch (options.direction) { case 'top-left': moveX = moveY = 0; break; case 'top-right': moveX = dims.width; moveY = 0; break; case 'bottom-left': moveX = 0; moveY = dims.height; break; case 'bottom-right': moveX = dims.width; moveY = dims.height; break; case 'center': moveX = dims.width / 2; moveY = dims.height / 2; break; } return new Effect.Parallel( [ new Effect.Opacity(element, { sync: true, to: 0.0, from: 1.0, transition: options.opacityTransition }), new Effect.Scale(element, window.opera ? 1 : 0, { sync: true, transition: options.scaleTransition, restoreAfterFinish: true}), new Effect.Move(element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition }) ], Object.extend({ beforeStartInternal: function(effect) { effect.effects[0].element.makePositioned().makeClipping(); }, afterFinishInternal: function(effect) { effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle(oldStyle); } }, options) ); }; Effect.Pulsate = function(element) { element = $(element); var options = arguments[1] || { }, oldOpacity = element.getInlineOpacity(), transition = options.transition || Effect.Transitions.linear, reverser = function(pos){ return 1 - transition((-Math.cos((pos*(options.pulses||5)*2)*Math.PI)/2) + .5); }; return new Effect.Opacity(element, Object.extend(Object.extend({ duration: 2.0, from: 0, afterFinishInternal: function(effect) { effect.element.setStyle({opacity: oldOpacity}); } }, options), {transition: reverser})); }; Effect.Fold = function(element) { element = $(element); var oldStyle = { top: element.style.top, left: element.style.left, width: element.style.width, height: element.style.height }; element.makeClipping(); return new Effect.Scale(element, 5, Object.extend({ scaleContent: false, scaleX: false, afterFinishInternal: function(effect) { new Effect.Scale(element, 1, { scaleContent: false, scaleY: false, afterFinishInternal: function(effect) { effect.element.hide().undoClipping().setStyle(oldStyle); } }); }}, arguments[1] || { })); }; Effect.Morph = Class.create(Effect.Base, { initialize: function(element) { this.element = $(element); if (!this.element) throw(Effect._elementDoesNotExistError); var options = Object.extend({ style: { } }, arguments[1] || { }); if (!Object.isString(options.style)) this.style = $H(options.style); else { if (options.style.include(':')) this.style = options.style.parseStyle(); else { this.element.addClassName(options.style); this.style = $H(this.element.getStyles()); this.element.removeClassName(options.style); var css = this.element.getStyles(); this.style = this.style.reject(function(style) { return style.value == css[style.key]; }); options.afterFinishInternal = function(effect) { effect.element.addClassName(effect.options.style); effect.transforms.each(function(transform) { effect.element.style[transform.style] = ''; }); }; } } this.start(options); }, setup: function(){ function parseColor(color){ if (!color || ['rgba(0, 0, 0, 0)','transparent'].include(color)) color = '#ffffff'; color = color.parseColor(); return $R(0,2).map(function(i){ return parseInt( color.slice(i*2+1,i*2+3), 16 ); }); } this.transforms = this.style.map(function(pair){ var property = pair[0], value = pair[1], unit = null; if (value.parseColor('#zzzzzz') != '#zzzzzz') { value = value.parseColor(); unit = 'color'; } else if (property == 'opacity') { value = parseFloat(value); if (Prototype.Browser.IE && (!this.element.currentStyle.hasLayout)) this.element.setStyle({zoom: 1}); } else if (Element.CSS_LENGTH.test(value)) { var components = value.match(/^([\+\-]?[0-9\.]+)(.*)$/); value = parseFloat(components[1]); unit = (components.length == 3) ? components[2] : null; } var originalValue = this.element.getStyle(property); return { style: property.camelize(), originalValue: unit=='color' ? parseColor(originalValue) : parseFloat(originalValue || 0), targetValue: unit=='color' ? parseColor(value) : value, unit: unit }; }.bind(this)).reject(function(transform){ return ( (transform.originalValue == transform.targetValue) || ( transform.unit != 'color' && (isNaN(transform.originalValue) || isNaN(transform.targetValue)) ) ); }); }, update: function(position) { var style = { }, transform, i = this.transforms.length; while(i--) style[(transform = this.transforms[i]).style] = transform.unit=='color' ? '#'+ (Math.round(transform.originalValue[0]+ (transform.targetValue[0]-transform.originalValue[0])*position)).toColorPart() + (Math.round(transform.originalValue[1]+ (transform.targetValue[1]-transform.originalValue[1])*position)).toColorPart() + (Math.round(transform.originalValue[2]+ (transform.targetValue[2]-transform.originalValue[2])*position)).toColorPart() : (transform.originalValue + (transform.targetValue - transform.originalValue) * position).toFixed(3) + (transform.unit === null ? '' : transform.unit); this.element.setStyle(style, true); } }); Effect.Transform = Class.create({ initialize: function(tracks){ this.tracks = []; this.options = arguments[1] || { }; this.addTracks(tracks); }, addTracks: function(tracks){ tracks.each(function(track){ track = $H(track); var data = track.values().first(); this.tracks.push($H({ ids: track.keys().first(), effect: Effect.Morph, options: { style: data } })); }.bind(this)); return this; }, play: function(){ return new Effect.Parallel( this.tracks.map(function(track){ var ids = track.get('ids'), effect = track.get('effect'), options = track.get('options'); var elements = [$(ids) || $$(ids)].flatten(); return elements.map(function(e){ return new effect(e, Object.extend({ sync:true }, options)) }); }).flatten(), this.options ); } }); Element.CSS_PROPERTIES = $w( 'backgroundColor backgroundPosition borderBottomColor borderBottomStyle ' + 'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth ' + 'borderRightColor borderRightStyle borderRightWidth borderSpacing ' + 'borderTopColor borderTopStyle borderTopWidth bottom clip color ' + 'fontSize fontWeight height left letterSpacing lineHeight ' + 'marginBottom marginLeft marginRight marginTop markerOffset maxHeight '+ 'maxWidth minHeight minWidth opacity outlineColor outlineOffset ' + 'outlineWidth paddingBottom paddingLeft paddingRight paddingTop ' + 'right textIndent top width wordSpacing zIndex'); Element.CSS_LENGTH = /^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/; String.__parseStyleElement = document.createElement('div'); String.prototype.parseStyle = function(){ var style, styleRules = $H(); if (Prototype.Browser.WebKit) style = new Element('div',{style:this}).style; else { String.__parseStyleElement.innerHTML = '
    '; style = String.__parseStyleElement.childNodes[0].style; } Element.CSS_PROPERTIES.each(function(property){ if (style[property]) styleRules.set(property, style[property]); }); if (Prototype.Browser.IE && this.include('opacity')) styleRules.set('opacity', this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]); return styleRules; }; if (document.defaultView && document.defaultView.getComputedStyle) { Element.getStyles = function(element) { var css = document.defaultView.getComputedStyle($(element), null); return Element.CSS_PROPERTIES.inject({ }, function(styles, property) { styles[property] = css[property]; return styles; }); }; } else { Element.getStyles = function(element) { element = $(element); var css = element.currentStyle, styles; styles = Element.CSS_PROPERTIES.inject({ }, function(results, property) { results[property] = css[property]; return results; }); if (!styles.opacity) styles.opacity = element.getOpacity(); return styles; }; } Effect.Methods = { morph: function(element, style) { element = $(element); new Effect.Morph(element, Object.extend({ style: style }, arguments[2] || { })); return element; }, visualEffect: function(element, effect, options) { element = $(element); var s = effect.dasherize().camelize(), klass = s.charAt(0).toUpperCase() + s.substring(1); new Effect[klass](element, options); return element; }, highlight: function(element, options) { element = $(element); new Effect.Highlight(element, options); return element; } }; $w('fade appear grow shrink fold blindUp blindDown slideUp slideDown '+ 'pulsate shake puff squish switchOff dropOut').each( function(effect) { Effect.Methods[effect] = function(element, options){ element = $(element); Effect[effect.charAt(0).toUpperCase() + effect.substring(1)](element, options); return element; }; } ); $w('getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles').each( function(f) { Effect.Methods[f] = Element[f]; } ); Element.addMethods(Effect.Methods);webcit-9.01-dfsg/static/favicon.ico000066400000000000000000000015761254743150300172660ustar00rootroot00000000000000h( »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»CD>CD>CD>CD>Ó•nÓ•nÓ•nÓ•nÓ•nÓ•nÓ•nCD>CD>CD>CD>»»»CD>©xXÔ–pÔ–pÕštÔštÏ–qÏ–pÏ–qÔštÕštÔ–pÔ–p©xXCD>ÿÿÿCD>Ô—rÕ˜sÙŸy×vÖ›t˜t[gVG–s[Ö›t×vÙŸyÕ˜sÔ—rCD>ÿÿÿCD>Õ™tÞ¥Йu·‰jÑoaTF^REaTFÑo·‰jЙuݦÕ™tCD>ÿÿÿÖ›vÜ¥䪂µŠl«ƒg«‚gq[VMCq[«ƒg«‚gµŠl䪂ܥÖ›vÿÿÿÖy籌鬅ȗt«„hµ‹l檂鬃檂µ‹l«„hÈ—u鬅籌Öyÿÿÿן{ð¼’u_HF?Šp\믆믆‹r]HF?Žt^ð»“ן{ÿÿÿØ¡ô™GG@CD>GG@ð´‰òµŠòµŠòµŠð´‰GG@CD>GG@ô™ءØ ~Ù¢õÆŸwbCD>‹r^ð´Šó¶Œó¶Œó¶Œð´Š‹r^CD>wbõÆŸÙ¢ÿÿÿÚ¤ƒðÅŸö˜͠}­Šm»•xñº“ô¼”ñº“¹“u­ŠmÍ }ö˜ðÅŸÚ¤ƒÿÿÿÚ¦†ã´“ùͦá„À¦Â§’©—‡rsn§–†Â§’¼¡Š¾›~ùͦ㴓ڦ†ÿÿÿCD>Û¨ˆðÈ¥ðÖ¿×À¬ãƯˆˆƒ…†‚ˆˆƒãƯ×À¬îжðǤۨˆCD>ÿÿÿCD>ܪŠÝ«‹óÙÃýçÒüâͶª––“¶ªüâÍýçÒñеݫ‹ÜªŠCD>ÿÿÿCD>ÿÿÿÜ«ŒÝ­ŽéÆ­øàÊýêÖþíÚýéÔ÷ÞÇçÀ¤Ü«ŒÜ«ŒCD>CD>ÿÿÿCD>ÿÿÿÿÿÿÿÿÿݬŽÝ¬ŽÝ¬ŽÝ¬ŽÝ¬ŽÝ¬ŽÝ¬ŽÿÿÿÿÿÿCD>CD>ÿÿÿðø?àÀ€€€€Ààø?webcit-9.01-dfsg/static/fineuploader.js000077500000000000000000010624121254743150300201600ustar00rootroot00000000000000/*! * Fine Uploader * * Copyright 2013, Widen Enterprises, Inc. info@fineuploader.com * * Version: 4.2.1 * * Homepage: http://fineuploader.com * * Repository: git://github.com/Widen/fine-uploader.git * * Licensed under GNU GPL v3, see LICENSE */ /*globals window, navigator, document, FormData, File, HTMLInputElement, XMLHttpRequest, Blob, Storage, ActiveXObject */ var qq = function(element) { "use strict"; return { hide: function() { element.style.display = "none"; return this; }, /** Returns the function which detaches attached event */ attach: function(type, fn) { if (element.addEventListener){ element.addEventListener(type, fn, false); } else if (element.attachEvent){ element.attachEvent("on" + type, fn); } return function() { qq(element).detach(type, fn); }; }, detach: function(type, fn) { if (element.removeEventListener){ element.removeEventListener(type, fn, false); } else if (element.attachEvent){ element.detachEvent("on" + type, fn); } return this; }, contains: function(descendant) { // The [W3C spec](http://www.w3.org/TR/domcore/#dom-node-contains) // says a `null` (or ostensibly `undefined`) parameter // passed into `Node.contains` should result in a false return value. // IE7 throws an exception if the parameter is `undefined` though. if (!descendant) { return false; } // compareposition returns false in this case if (element === descendant) { return true; } if (element.contains){ return element.contains(descendant); } else { /*jslint bitwise: true*/ return !!(descendant.compareDocumentPosition(element) & 8); } }, /** * Insert this element before elementB. */ insertBefore: function(elementB) { elementB.parentNode.insertBefore(element, elementB); return this; }, remove: function() { element.parentNode.removeChild(element); return this; }, /** * Sets styles for an element. * Fixes opacity in IE6-8. */ css: function(styles) { /*jshint eqnull: true*/ if (element.style == null) { throw new qq.Error("Can't apply style to node as it is not on the HTMLElement prototype chain!"); } /*jshint -W116*/ if (styles.opacity != null){ if (typeof element.style.opacity !== "string" && typeof(element.filters) !== "undefined"){ styles.filter = "alpha(opacity=" + Math.round(100 * styles.opacity) + ")"; } } qq.extend(element.style, styles); return this; }, hasClass: function(name) { var re = new RegExp("(^| )" + name + "( |$)"); return re.test(element.className); }, addClass: function(name) { if (!qq(element).hasClass(name)){ element.className += " " + name; } return this; }, removeClass: function(name) { var re = new RegExp("(^| )" + name + "( |$)"); element.className = element.className.replace(re, " ").replace(/^\s+|\s+$/g, ""); return this; }, getByClass: function(className) { var candidates, result = []; if (element.querySelectorAll){ return element.querySelectorAll("." + className); } candidates = element.getElementsByTagName("*"); qq.each(candidates, function(idx, val) { if (qq(val).hasClass(className)){ result.push(val); } }); return result; }, children: function() { var children = [], child = element.firstChild; while (child){ if (child.nodeType === 1){ children.push(child); } child = child.nextSibling; } return children; }, setText: function(text) { element.innerText = text; element.textContent = text; return this; }, clearText: function() { return qq(element).setText(""); }, // Returns true if the attribute exists on the element // AND the value of the attribute is NOT "false" (case-insensitive) hasAttribute: function(attrName) { var attrVal; if (element.hasAttribute) { if (!element.hasAttribute(attrName)) { return false; } /*jshint -W116*/ return (/^false$/i).exec(element.getAttribute(attrName)) == null; } else { attrVal = element[attrName]; if (attrVal === undefined) { return false; } /*jshint -W116*/ return (/^false$/i).exec(attrVal) == null; } } }; }; (function(){ "use strict"; qq.log = function(message, level) { if (window.console) { if (!level || level === "info") { window.console.log(message); } else { if (window.console[level]) { window.console[level](message); } else { window.console.log("<" + level + "> " + message); } } } }; qq.isObject = function(variable) { return variable && !variable.nodeType && Object.prototype.toString.call(variable) === "[object Object]"; }; qq.isFunction = function(variable) { return typeof(variable) === "function"; }; /** * Check the type of a value. Is it an "array"? * * @param value value to test. * @returns true if the value is an array or associated with an `ArrayBuffer` */ qq.isArray = function(value) { return Object.prototype.toString.call(value) === "[object Array]" || (value && window.ArrayBuffer && value.buffer && value.buffer.constructor === ArrayBuffer); }; // Looks for an object on a `DataTransfer` object that is associated with drop events when utilizing the Filesystem API. qq.isItemList = function(maybeItemList) { return Object.prototype.toString.call(maybeItemList) === "[object DataTransferItemList]"; }; // Looks for an object on a `NodeList` or an `HTMLCollection`|`HTMLFormElement`|`HTMLSelectElement` // object that is associated with collections of Nodes. qq.isNodeList = function(maybeNodeList) { return Object.prototype.toString.call(maybeNodeList) === "[object NodeList]" || // If `HTMLCollection` is the actual type of the object, we must determine this // by checking for expected properties/methods on the object (maybeNodeList.item && maybeNodeList.namedItem); }; qq.isString = function(maybeString) { return Object.prototype.toString.call(maybeString) === "[object String]"; }; qq.trimStr = function(string) { if (String.prototype.trim) { return string.trim(); } return string.replace(/^\s+|\s+$/g,""); }; /** * @param str String to format. * @returns {string} A string, swapping argument values with the associated occurrence of {} in the passed string. */ qq.format = function(str) { var args = Array.prototype.slice.call(arguments, 1), newStr = str, nextIdxToReplace = newStr.indexOf("{}"); qq.each(args, function(idx, val) { var strBefore = newStr.substring(0, nextIdxToReplace), strAfter = newStr.substring(nextIdxToReplace+2); newStr = strBefore + val + strAfter; nextIdxToReplace = newStr.indexOf("{}", nextIdxToReplace + val.length); // End the loop if we have run out of tokens (when the arguments exceed the # of tokens) if (nextIdxToReplace < 0) { return false; } }); return newStr; }; qq.isFile = function(maybeFile) { return window.File && Object.prototype.toString.call(maybeFile) === "[object File]"; }; qq.isFileList = function(maybeFileList) { return window.FileList && Object.prototype.toString.call(maybeFileList) === "[object FileList]"; }; qq.isFileOrInput = function(maybeFileOrInput) { return qq.isFile(maybeFileOrInput) || qq.isInput(maybeFileOrInput); }; qq.isInput = function(maybeInput) { if (window.HTMLInputElement) { if (Object.prototype.toString.call(maybeInput) === "[object HTMLInputElement]") { if (maybeInput.type && maybeInput.type.toLowerCase() === "file") { return true; } } } if (maybeInput.tagName) { if (maybeInput.tagName.toLowerCase() === "input") { if (maybeInput.type && maybeInput.type.toLowerCase() === "file") { return true; } } } return false; }; qq.isBlob = function(maybeBlob) { return window.Blob && Object.prototype.toString.call(maybeBlob) === "[object Blob]"; }; qq.isXhrUploadSupported = function() { var input = document.createElement("input"); input.type = "file"; return ( input.multiple !== undefined && typeof File !== "undefined" && typeof FormData !== "undefined" && typeof (qq.createXhrInstance()).upload !== "undefined" ); }; // Fall back to ActiveX is native XHR is disabled (possible in any version of IE). qq.createXhrInstance = function() { if (window.XMLHttpRequest) { return new XMLHttpRequest(); } try { return new ActiveXObject("MSXML2.XMLHTTP.3.0"); } catch(error) { qq.log("Neither XHR or ActiveX are supported!", "error"); return null; } }; qq.isFolderDropSupported = function(dataTransfer) { return (dataTransfer.items && dataTransfer.items[0].webkitGetAsEntry); }; qq.isFileChunkingSupported = function() { return !qq.android() && //android's impl of Blob.slice is broken qq.isXhrUploadSupported() && (File.prototype.slice !== undefined || File.prototype.webkitSlice !== undefined || File.prototype.mozSlice !== undefined); }; qq.sliceBlob = function(fileOrBlob, start, end) { var slicer = fileOrBlob.slice || fileOrBlob.mozSlice || fileOrBlob.webkitSlice; return slicer.call(fileOrBlob, start, end); }; qq.arrayBufferToHex = function(buffer) { var bytesAsHex = "", bytes = new Uint8Array(buffer); qq.each(bytes, function(idx, byte) { var byteAsHexStr = byte.toString(16); if (byteAsHexStr.length < 2) { byteAsHexStr = "0" + byteAsHexStr; } bytesAsHex += byteAsHexStr; }); return bytesAsHex; }; qq.readBlobToHex = function(blob, startOffset, length) { var initialBlob = qq.sliceBlob(blob, startOffset, startOffset + length), fileReader = new FileReader(), promise = new qq.Promise(); fileReader.onload = function() { promise.success(qq.arrayBufferToHex(fileReader.result)); }; fileReader.readAsArrayBuffer(initialBlob); return promise; }; qq.extend = function(first, second, extendNested) { qq.each(second, function(prop, val) { if (extendNested && qq.isObject(val)) { if (first[prop] === undefined) { first[prop] = {}; } qq.extend(first[prop], val, true); } else { first[prop] = val; } }); return first; }; /** * Allow properties in one object to override properties in another, * keeping track of the original values from the target object. * * Note that the pre-overriden properties to be overriden by the source will be passed into the `sourceFn` when it is invoked. * * @param target Update properties in this object from some source * @param sourceFn A function that, when invoked, will return properties that will replace properties with the same name in the target. * @returns {object} The target object */ qq.override = function(target, sourceFn) { var super_ = {}, source = sourceFn(super_); qq.each(source, function(srcPropName, srcPropVal) { if (target[srcPropName] !== undefined) { super_[srcPropName] = target[srcPropName]; } target[srcPropName] = srcPropVal; }); return target; }; /** * Searches for a given element in the array, returns -1 if it is not present. * @param {Number} [from] The index at which to begin the search */ qq.indexOf = function(arr, elt, from){ if (arr.indexOf) { return arr.indexOf(elt, from); } from = from || 0; var len = arr.length; if (from < 0) { from += len; } for (; from < len; from+=1){ if (arr.hasOwnProperty(from) && arr[from] === elt){ return from; } } return -1; }; //this is a version 4 UUID qq.getUniqueId = function(){ return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) { /*jslint eqeq: true, bitwise: true*/ var r = Math.random()*16|0, v = c == "x" ? r : (r&0x3|0x8); return v.toString(16); }); }; // // Browsers and platforms detection qq.ie = function(){ return navigator.userAgent.indexOf("MSIE") !== -1; }; qq.ie7 = function(){ return navigator.userAgent.indexOf("MSIE 7") !== -1; }; qq.ie10 = function(){ return navigator.userAgent.indexOf("MSIE 10") !== -1; }; qq.ie11 = function(){ return (navigator.userAgent.indexOf("Trident") !== -1 && navigator.userAgent.indexOf("rv:11") !== -1); }; qq.safari = function(){ return navigator.vendor !== undefined && navigator.vendor.indexOf("Apple") !== -1; }; qq.chrome = function(){ return navigator.vendor !== undefined && navigator.vendor.indexOf("Google") !== -1; }; qq.opera = function(){ return navigator.vendor !== undefined && navigator.vendor.indexOf("Opera") !== -1; }; qq.firefox = function(){ return (!qq.ie11() && navigator.userAgent.indexOf("Mozilla") !== -1 && navigator.vendor !== undefined && navigator.vendor === ""); }; qq.windows = function(){ return navigator.platform === "Win32"; }; qq.android = function(){ return navigator.userAgent.toLowerCase().indexOf("android") !== -1; }; qq.ios7 = function() { return qq.ios() && navigator.userAgent.indexOf(" OS 7_") !== -1; }; qq.ios = function() { /*jshint -W014 */ return navigator.userAgent.indexOf("iPad") !== -1 || navigator.userAgent.indexOf("iPod") !== -1 || navigator.userAgent.indexOf("iPhone") !== -1; }; // // Events qq.preventDefault = function(e){ if (e.preventDefault){ e.preventDefault(); } else{ e.returnValue = false; } }; /** * Creates and returns element from html string * Uses innerHTML to create an element */ qq.toElement = (function(){ var div = document.createElement("div"); return function(html){ div.innerHTML = html; var element = div.firstChild; div.removeChild(element); return element; }; }()); //key and value are passed to callback for each entry in the iterable item qq.each = function(iterableItem, callback) { var keyOrIndex, retVal; if (iterableItem) { // Iterate through [`Storage`](http://www.w3.org/TR/webstorage/#the-storage-interface) items if (window.Storage && iterableItem.constructor === window.Storage) { for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) { retVal = callback(iterableItem.key(keyOrIndex), iterableItem.getItem(iterableItem.key(keyOrIndex))); if (retVal === false) { break; } } } // `DataTransferItemList` & `NodeList` objects are array-like and should be treated as arrays // when iterating over items inside the object. else if (qq.isArray(iterableItem) || qq.isItemList(iterableItem) || qq.isNodeList(iterableItem)) { for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) { retVal = callback(keyOrIndex, iterableItem[keyOrIndex]); if (retVal === false) { break; } } } else if (qq.isString(iterableItem)) { for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) { retVal = callback(keyOrIndex, iterableItem.charAt(keyOrIndex)); if (retVal === false) { break; } } } else { for (keyOrIndex in iterableItem) { if (Object.prototype.hasOwnProperty.call(iterableItem, keyOrIndex)) { retVal = callback(keyOrIndex, iterableItem[keyOrIndex]); if (retVal === false) { break; } } } } } }; //include any args that should be passed to the new function after the context arg qq.bind = function(oldFunc, context) { if (qq.isFunction(oldFunc)) { var args = Array.prototype.slice.call(arguments, 2); return function() { var newArgs = qq.extend([], args); if (arguments.length) { newArgs = newArgs.concat(Array.prototype.slice.call(arguments)); } return oldFunc.apply(context, newArgs); }; } throw new Error("first parameter must be a function!"); }; /** * obj2url() takes a json-object as argument and generates * a querystring. pretty much like jQuery.param() * * how to use: * * `qq.obj2url({a:'b',c:'d'},'http://any.url/upload?otherParam=value');` * * will result in: * * `http://any.url/upload?otherParam=value&a=b&c=d` * * @param Object JSON-Object * @param String current querystring-part * @return String encoded querystring */ qq.obj2url = function(obj, temp, prefixDone){ /*jshint laxbreak: true*/ var uristrings = [], prefix = "&", add = function(nextObj, i){ var nextTemp = temp ? (/\[\]$/.test(temp)) // prevent double-encoding ? temp : temp+"["+i+"]" : i; if ((nextTemp !== "undefined") && (i !== "undefined")) { uristrings.push( (typeof nextObj === "object") ? qq.obj2url(nextObj, nextTemp, true) : (Object.prototype.toString.call(nextObj) === "[object Function]") ? encodeURIComponent(nextTemp) + "=" + encodeURIComponent(nextObj()) : encodeURIComponent(nextTemp) + "=" + encodeURIComponent(nextObj) ); } }; if (!prefixDone && temp) { prefix = (/\?/.test(temp)) ? (/\?$/.test(temp)) ? "" : "&" : "?"; uristrings.push(temp); uristrings.push(qq.obj2url(obj)); } else if ((Object.prototype.toString.call(obj) === "[object Array]") && (typeof obj !== "undefined") ) { qq.each(obj, function(idx, val) { add(val, idx); }); } else if ((typeof obj !== "undefined") && (obj !== null) && (typeof obj === "object")){ qq.each(obj, function(prop, val) { add(val, prop); }); } else { uristrings.push(encodeURIComponent(temp) + "=" + encodeURIComponent(obj)); } if (temp) { return uristrings.join(prefix); } else { return uristrings.join(prefix) .replace(/^&/, "") .replace(/%20/g, "+"); } }; qq.obj2FormData = function(obj, formData, arrayKeyName) { if (!formData) { formData = new FormData(); } qq.each(obj, function(key, val) { key = arrayKeyName ? arrayKeyName + "[" + key + "]" : key; if (qq.isObject(val)) { qq.obj2FormData(val, formData, key); } else if (qq.isFunction(val)) { formData.append(key, val()); } else { formData.append(key, val); } }); return formData; }; qq.obj2Inputs = function(obj, form) { var input; if (!form) { form = document.createElement("form"); } qq.obj2FormData(obj, { append: function(key, val) { input = document.createElement("input"); input.setAttribute("name", key); input.setAttribute("value", val); form.appendChild(input); } }); return form; }; qq.setCookie = function(name, value, days) { var date = new Date(), expires = ""; if (days) { date.setTime(date.getTime()+(days*24*60*60*1000)); expires = "; expires="+date.toGMTString(); } document.cookie = name+"="+value+expires+"; path=/"; }; qq.getCookie = function(name) { var nameEQ = name + "=", ca = document.cookie.split(";"), cookie; qq.each(ca, function(idx, part) { /*jshint -W116 */ var cookiePart = part; while (cookiePart.charAt(0) == " ") { cookiePart = cookiePart.substring(1, cookiePart.length); } if (cookiePart.indexOf(nameEQ) === 0) { cookie = cookiePart.substring(nameEQ.length, cookiePart.length); return false; } }); return cookie; }; qq.getCookieNames = function(regexp) { var cookies = document.cookie.split(";"), cookieNames = []; qq.each(cookies, function(idx, cookie) { cookie = qq.trimStr(cookie); var equalsIdx = cookie.indexOf("="); if (cookie.match(regexp)) { cookieNames.push(cookie.substr(0, equalsIdx)); } }); return cookieNames; }; qq.deleteCookie = function(name) { qq.setCookie(name, "", -1); }; qq.areCookiesEnabled = function() { var randNum = Math.random() * 100000, name = "qqCookieTest:" + randNum; qq.setCookie(name, 1); if (qq.getCookie(name)) { qq.deleteCookie(name); return true; } return false; }; /** * Not recommended for use outside of Fine Uploader since this falls back to an unchecked eval if JSON.parse is not * implemented. For a more secure JSON.parse polyfill, use Douglas Crockford's json2.js. */ qq.parseJson = function(json) { /*jshint evil: true*/ if (window.JSON && qq.isFunction(JSON.parse)) { return JSON.parse(json); } else { return eval("(" + json + ")"); } }; /** * Retrieve the extension of a file, if it exists. * * @param filename * @returns {string || undefined} */ qq.getExtension = function(filename) { var extIdx = filename.lastIndexOf(".") + 1; if (extIdx > 0) { return filename.substr(extIdx, filename.length - extIdx); } }; qq.getFilename = function(blobOrFileInput) { /*jslint regexp: true*/ if (qq.isInput(blobOrFileInput)) { // get input value and remove path to normalize return blobOrFileInput.value.replace(/.*(\/|\\)/, ""); } else if (qq.isFile(blobOrFileInput)) { if (blobOrFileInput.fileName !== null && blobOrFileInput.fileName !== undefined) { return blobOrFileInput.fileName; } } return blobOrFileInput.name; }; /** * A generic module which supports object disposing in dispose() method. * */ qq.DisposeSupport = function() { var disposers = []; return { /** Run all registered disposers */ dispose: function() { var disposer; do { disposer = disposers.shift(); if (disposer) { disposer(); } } while (disposer); }, /** Attach event handler and register de-attacher as a disposer */ attach: function() { var args = arguments; /*jslint undef:true*/ this.addDisposer(qq(args[0]).attach.apply(this, Array.prototype.slice.call(arguments, 1))); }, /** Add disposer to the collection */ addDisposer: function(disposeFunction) { disposers.push(disposeFunction); } }; }; }()); /* globals qq */ /** * Fine Uploader top-level Error container. Inherits from `Error`. */ (function() { "use strict"; qq.Error = function(message) { this.message = message; }; qq.Error.prototype = new Error(); }()); /*global qq */ qq.version="4.2.1"; /* globals qq */ qq.supportedFeatures = (function () { "use strict"; var supportsUploading, supportsAjaxFileUploading, supportsFolderDrop, supportsChunking, supportsResume, supportsUploadViaPaste, supportsUploadCors, supportsDeleteFileXdr, supportsDeleteFileCorsXhr, supportsDeleteFileCors, supportsFolderSelection, supportsImagePreviews; function testSupportsFileInputElement() { var supported = true, tempInput; try { tempInput = document.createElement("input"); tempInput.type = "file"; qq(tempInput).hide(); if (tempInput.disabled) { supported = false; } } catch (ex) { supported = false; } return supported; } //only way to test for Filesystem API support since webkit does not expose the DataTransfer interface function isChrome21OrHigher() { return (qq.chrome() || qq.opera()) && navigator.userAgent.match(/Chrome\/[2][1-9]|Chrome\/[3-9][0-9]/) !== undefined; } //only way to test for complete Clipboard API support at this time function isChrome14OrHigher() { return (qq.chrome() || qq.opera()) && navigator.userAgent.match(/Chrome\/[1][4-9]|Chrome\/[2-9][0-9]/) !== undefined; } //Ensure we can send cross-origin `XMLHttpRequest`s function isCrossOriginXhrSupported() { if (window.XMLHttpRequest) { var xhr = qq.createXhrInstance(); //Commonly accepted test for XHR CORS support. return xhr.withCredentials !== undefined; } return false; } //Test for (terrible) cross-origin ajax transport fallback for IE9 and IE8 function isXdrSupported() { return window.XDomainRequest !== undefined; } // CORS Ajax requests are supported if it is either possible to send credentialed `XMLHttpRequest`s, // or if `XDomainRequest` is an available alternative. function isCrossOriginAjaxSupported() { if (isCrossOriginXhrSupported()) { return true; } return isXdrSupported(); } function isFolderSelectionSupported() { // We know that folder selection is only supported in Chrome via this proprietary attribute for now return document.createElement("input").webkitdirectory !== undefined; } supportsUploading = testSupportsFileInputElement(); supportsAjaxFileUploading = supportsUploading && qq.isXhrUploadSupported(); supportsFolderDrop = supportsAjaxFileUploading && isChrome21OrHigher(); supportsChunking = supportsAjaxFileUploading && qq.isFileChunkingSupported(); supportsResume = supportsAjaxFileUploading && supportsChunking && qq.areCookiesEnabled(); supportsUploadViaPaste = supportsAjaxFileUploading && isChrome14OrHigher(); supportsUploadCors = supportsUploading && (window.postMessage !== undefined || supportsAjaxFileUploading); supportsDeleteFileCorsXhr = isCrossOriginXhrSupported(); supportsDeleteFileXdr = isXdrSupported(); supportsDeleteFileCors = isCrossOriginAjaxSupported(); supportsFolderSelection = isFolderSelectionSupported(); supportsImagePreviews = supportsAjaxFileUploading && window.FileReader !== undefined; return { uploading: supportsUploading, ajaxUploading: supportsAjaxFileUploading, fileDrop: supportsAjaxFileUploading, //NOTE: will also return true for touch-only devices. It's not currently possible to accurately test for touch-only devices folderDrop: supportsFolderDrop, chunking: supportsChunking, resume: supportsResume, uploadCustomHeaders: supportsAjaxFileUploading, uploadNonMultipart: supportsAjaxFileUploading, itemSizeValidation: supportsAjaxFileUploading, uploadViaPaste: supportsUploadViaPaste, progressBar: supportsAjaxFileUploading, uploadCors: supportsUploadCors, deleteFileCorsXhr: supportsDeleteFileCorsXhr, deleteFileCorsXdr: supportsDeleteFileXdr, //NOTE: will also return true in IE10, where XDR is also supported deleteFileCors: supportsDeleteFileCors, canDetermineSize: supportsAjaxFileUploading, folderSelection: supportsFolderSelection, imagePreviews: supportsImagePreviews, imageValidation: supportsImagePreviews, pause: supportsChunking }; }()); /*globals qq*/ qq.Promise = function() { "use strict"; var successArgs, failureArgs, successCallbacks = [], failureCallbacks = [], doneCallbacks = [], state = 0; qq.extend(this, { then: function(onSuccess, onFailure) { if (state === 0) { if (onSuccess) { successCallbacks.push(onSuccess); } if (onFailure) { failureCallbacks.push(onFailure); } } else if (state === -1) { onFailure && onFailure.apply(null, failureArgs); } else if (onSuccess) { onSuccess.apply(null,successArgs); } return this; }, done: function(callback) { if (state === 0) { doneCallbacks.push(callback); } else { callback.apply(null, failureArgs === undefined ? successArgs : failureArgs); } return this; }, success: function() { state = 1; successArgs = arguments; if (successCallbacks.length) { qq.each(successCallbacks, function(idx, callback) { callback.apply(null, successArgs); }); } if(doneCallbacks.length) { qq.each(doneCallbacks, function(idx, callback) { callback.apply(null, successArgs); }); } return this; }, failure: function() { state = -1; failureArgs = arguments; if (failureCallbacks.length) { qq.each(failureCallbacks, function(idx, callback) { callback.apply(null, failureArgs); }); } if(doneCallbacks.length) { qq.each(doneCallbacks, function(idx, callback) { callback.apply(null, failureArgs); }); } return this; } }); }; /*globals qq*/ /** * This module represents an upload or "Select File(s)" button. It's job is to embed an opaque `` * element as a child of a provided "container" element. This "container" element (`options.element`) is used to provide * a custom style for the `` element. The ability to change the style of the container element is also * provided here by adding CSS classes to the container on hover/focus. * * TODO Eliminate the mouseover and mouseout event handlers since the :hover CSS pseudo-class should now be * available on all supported browsers. * * @param o Options to override the default values */ qq.UploadButton = function(o) { "use strict"; var disposeSupport = new qq.DisposeSupport(), options = { // "Container" element element: null, // If true adds `multiple` attribute to `` multiple: false, // Corresponds to the `accept` attribute on the associated `` acceptFiles: null, // A true value allows folders to be selected, if supported by the UA folders: false, // `name` attribute of `` name: "qqfile", // Called when the browser invokes the onchange handler on the `` onChange: function(input) {}, // **This option will be removed** in the future as the :hover CSS pseudo-class is available on all supported browsers hoverClass: "qq-upload-button-hover", focusClass: "qq-upload-button-focus" }, input, buttonId; // Overrides any of the default option values with any option values passed in during construction. qq.extend(options, o); buttonId = qq.getUniqueId(); // Embed an opaque `` element as a child of `options.element`. function createInput() { var input = document.createElement("input"); input.setAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME, buttonId); if (options.multiple) { input.setAttribute("multiple", ""); } if (options.folders && qq.supportedFeatures.folderSelection) { // selecting directories is only possible in Chrome now, via a vendor-specific prefixed attribute input.setAttribute("webkitdirectory", ""); } if (options.acceptFiles) { input.setAttribute("accept", options.acceptFiles); } input.setAttribute("type", "file"); input.setAttribute("name", options.name); qq(input).css({ position: "absolute", // in Opera only 'browse' button // is clickable and it is located at // the right side of the input right: 0, top: 0, fontFamily: "Arial", // 4 persons reported this, the max values that worked for them were 243, 236, 236, 118 fontSize: "118px", margin: 0, padding: 0, cursor: "pointer", opacity: 0 }); options.element.appendChild(input); disposeSupport.attach(input, "change", function(){ options.onChange(input); }); // **These event handlers will be removed** in the future as the :hover CSS pseudo-class is available on all supported browsers disposeSupport.attach(input, "mouseover", function(){ qq(options.element).addClass(options.hoverClass); }); disposeSupport.attach(input, "mouseout", function(){ qq(options.element).removeClass(options.hoverClass); }); disposeSupport.attach(input, "focus", function(){ qq(options.element).addClass(options.focusClass); }); disposeSupport.attach(input, "blur", function(){ qq(options.element).removeClass(options.focusClass); }); // IE and Opera, unfortunately have 2 tab stops on file input // which is unacceptable in our case, disable keyboard access if (window.attachEvent) { // it is IE or Opera input.setAttribute("tabIndex", "-1"); } return input; } // Make button suitable container for input qq(options.element).css({ position: "relative", overflow: "hidden", // Make sure browse button is in the right side in Internet Explorer direction: "ltr" }); input = createInput(); // Exposed API qq.extend(this, { getInput: function() { return input; }, getButtonId: function() { return buttonId; }, setMultiple: function(isMultiple) { if (isMultiple !== options.multiple) { if (isMultiple) { input.setAttribute("multiple", ""); } else { input.removeAttribute("multiple"); } } }, setAcceptFiles: function(acceptFiles) { if (acceptFiles !== options.acceptFiles) { input.setAttribute("accept", acceptFiles); } }, reset: function(){ if (input.parentNode){ qq(input).remove(); } qq(options.element).removeClass(options.focusClass); input = createInput(); } }); }; qq.UploadButton.BUTTON_ID_ATTR_NAME = "qq-button-id"; /*globals qq */ qq.UploadData = function(uploaderProxy) { "use strict"; var data = [], byUuid = {}, byStatus = {}; function getDataByIds(idOrIds) { if (qq.isArray(idOrIds)) { var entries = []; qq.each(idOrIds, function(idx, id) { entries.push(data[id]); }); return entries; } return data[idOrIds]; } function getDataByUuids(uuids) { if (qq.isArray(uuids)) { var entries = []; qq.each(uuids, function(idx, uuid) { entries.push(data[byUuid[uuid]]); }); return entries; } return data[byUuid[uuids]]; } function getDataByStatus(status) { var statusResults = [], statuses = [].concat(status); qq.each(statuses, function(index, statusEnum) { var statusResultIndexes = byStatus[statusEnum]; if (statusResultIndexes !== undefined) { qq.each(statusResultIndexes, function(i, dataIndex) { statusResults.push(data[dataIndex]); }); } }); return statusResults; } qq.extend(this, { /** * Adds a new file to the data cache for tracking purposes. * * @param uuid Initial UUID for this file. * @param name Initial name of this file. * @param size Size of this file, -1 if this cannot be determined * @param status Initial `qq.status` for this file. If null/undefined, `qq.status.SUBMITTING`. * @returns {number} Internal ID for this file. */ addFile: function(uuid, name, size, status) { status = status || qq.status.SUBMITTING; var id = data.push({ name: name, originalName: name, uuid: uuid, size: size, status: status }) - 1; data[id].id = id; byUuid[uuid] = id; if (byStatus[status] === undefined) { byStatus[status] = []; } byStatus[status].push(id); uploaderProxy.onStatusChange(id, null, status); return id; }, retrieve: function(optionalFilter) { if (qq.isObject(optionalFilter) && data.length) { if (optionalFilter.id !== undefined) { return getDataByIds(optionalFilter.id); } else if (optionalFilter.uuid !== undefined) { return getDataByUuids(optionalFilter.uuid); } else if (optionalFilter.status) { return getDataByStatus(optionalFilter.status); } } else { return qq.extend([], data, true); } }, reset: function() { data = []; byUuid = {}; byStatus = {}; }, setStatus: function(id, newStatus) { var oldStatus = data[id].status, byStatusOldStatusIndex = qq.indexOf(byStatus[oldStatus], id); byStatus[oldStatus].splice(byStatusOldStatusIndex, 1); data[id].status = newStatus; if (byStatus[newStatus] === undefined) { byStatus[newStatus] = []; } byStatus[newStatus].push(id); uploaderProxy.onStatusChange(id, oldStatus, newStatus); }, uuidChanged: function(id, newUuid) { var oldUuid = data[id].uuid; data[id].uuid = newUuid; byUuid[newUuid] = id; delete byUuid[oldUuid]; }, updateName: function(id, newName) { data[id].name = newName; } }); }; qq.status = { SUBMITTING: "submitting", SUBMITTED: "submitted", REJECTED: "rejected", QUEUED: "queued", CANCELED: "canceled", PAUSED: "paused", UPLOADING: "uploading", UPLOAD_RETRYING: "retrying upload", UPLOAD_SUCCESSFUL: "upload successful", UPLOAD_FAILED: "upload failed", DELETE_FAILED: "delete failed", DELETING: "deleting", DELETED: "deleted" }; /*globals qq*/ /** * Defines the public API for FineUploaderBasic mode. */ (function(){ "use strict"; qq.basePublicApi = { log: function(str, level) { if (this._options.debug && (!level || level === "info")) { qq.log("[FineUploader " + qq.version + "] " + str); } else if (level && level !== "info") { qq.log("[FineUploader " + qq.version + "] " + str, level); } }, setParams: function(params, id) { /*jshint eqeqeq: true, eqnull: true*/ if (id == null) { this._options.request.params = params; } else { this._paramsStore.setParams(params, id); } }, setDeleteFileParams: function(params, id) { /*jshint eqeqeq: true, eqnull: true*/ if (id == null) { this._options.deleteFile.params = params; } else { this._deleteFileParamsStore.setParams(params, id); } }, // Re-sets the default endpoint, an endpoint for a specific file, or an endpoint for a specific button setEndpoint: function(endpoint, id) { /*jshint eqeqeq: true, eqnull: true*/ if (id == null) { this._options.request.endpoint = endpoint; } else { this._endpointStore.setEndpoint(endpoint, id); } }, getInProgress: function() { return this._uploadData.retrieve({ status: [ qq.status.UPLOADING, qq.status.UPLOAD_RETRYING, qq.status.QUEUED ] }).length; }, getNetUploads: function() { return this._netUploaded; }, uploadStoredFiles: function() { var idToUpload; if (this._storedIds.length === 0) { this._itemError("noFilesError"); } else { while (this._storedIds.length) { idToUpload = this._storedIds.shift(); this._handler.upload(idToUpload); } } }, clearStoredFiles: function(){ this._storedIds = []; }, retry: function(id) { return this._manualRetry(id); }, cancel: function(id) { this._handler.cancel(id); }, cancelAll: function() { var storedIdsCopy = [], self = this; qq.extend(storedIdsCopy, this._storedIds); qq.each(storedIdsCopy, function(idx, storedFileId) { self.cancel(storedFileId); }); this._handler.cancelAll(); }, reset: function() { this.log("Resetting uploader..."); this._handler.reset(); this._storedIds = []; this._autoRetries = []; this._retryTimeouts = []; this._preventRetries = []; this._thumbnailUrls = []; qq.each(this._buttons, function(idx, button) { button.reset(); }); this._paramsStore.reset(); this._endpointStore.reset(); this._netUploadedOrQueued = 0; this._netUploaded = 0; this._uploadData.reset(); this._buttonIdsForFileIds = []; this._pasteHandler && this._pasteHandler.reset(); this._options.session.refreshOnReset && this._refreshSessionData(); }, addFiles: function(filesOrInputs, params, endpoint) { var verifiedFilesOrInputs = [], fileOrInputIndex, fileOrInput, fileIndex; if (filesOrInputs) { if (!qq.isFileList(filesOrInputs)) { filesOrInputs = [].concat(filesOrInputs); } for (fileOrInputIndex = 0; fileOrInputIndex < filesOrInputs.length; fileOrInputIndex+=1) { fileOrInput = filesOrInputs[fileOrInputIndex]; if (qq.isFileOrInput(fileOrInput)) { if (qq.isInput(fileOrInput) && qq.supportedFeatures.ajaxUploading) { for (fileIndex = 0; fileIndex < fileOrInput.files.length; fileIndex++) { this._handleNewFile(fileOrInput.files[fileIndex], verifiedFilesOrInputs); } } else { this._handleNewFile(fileOrInput, verifiedFilesOrInputs); } } else { this.log(fileOrInput + " is not a File or INPUT element! Ignoring!", "warn"); } } this.log("Received " + verifiedFilesOrInputs.length + " files or inputs."); this._prepareItemsForUpload(verifiedFilesOrInputs, params, endpoint); } }, addBlobs: function(blobDataOrArray, params, endpoint) { if (blobDataOrArray) { var blobDataArray = [].concat(blobDataOrArray), verifiedBlobDataList = [], self = this; qq.each(blobDataArray, function(idx, blobData) { var blobOrBlobData; if (qq.isBlob(blobData) && !qq.isFileOrInput(blobData)) { blobOrBlobData = { blob: blobData, name: self._options.blobs.defaultName }; } else if (qq.isObject(blobData) && blobData.blob && blobData.name) { blobOrBlobData = blobData; } else { self.log("addBlobs: entry at index " + idx + " is not a Blob or a BlobData object", "error"); } blobOrBlobData && self._handleNewFile(blobOrBlobData, verifiedBlobDataList); }); this._prepareItemsForUpload(verifiedBlobDataList, params, endpoint); } else { this.log("undefined or non-array parameter passed into addBlobs", "error"); } }, getUuid: function(id) { return this._uploadData.retrieve({id: id}).uuid; }, setUuid: function(id, newUuid) { return this._uploadData.uuidChanged(id, newUuid); }, getResumableFilesData: function() { return this._handler.getResumableFilesData(); }, getSize: function(id) { return this._uploadData.retrieve({id: id}).size; }, getName: function(id) { return this._uploadData.retrieve({id: id}).name; }, setName: function(id, newName) { this._uploadData.updateName(id, newName); }, getFile: function(fileOrBlobId) { return this._handler.getFile(fileOrBlobId); }, deleteFile: function(id) { this._onSubmitDelete(id); }, setDeleteFileEndpoint: function(endpoint, id) { /*jshint eqeqeq: true, eqnull: true*/ if (id == null) { this._options.deleteFile.endpoint = endpoint; } else { this._deleteFileEndpointStore.setEndpoint(endpoint, id); } }, doesExist: function(fileOrBlobId) { return this._handler.isValid(fileOrBlobId); }, getUploads: function(optionalFilter) { return this._uploadData.retrieve(optionalFilter); }, getButton: function(fileId) { return this._getButton(this._buttonIdsForFileIds[fileId]); }, // Generate a variable size thumbnail on an img or canvas, // returning a promise that is fulfilled when the attempt completes. // Thumbnail can either be based off of a URL for an image returned // by the server in the upload response, or the associated `Blob`. drawThumbnail: function(fileId, imgOrCanvas, maxSize, fromServer) { if (this._imageGenerator) { var fileOrUrl = this._thumbnailUrls[fileId], options = { scale: maxSize > 0, maxSize: maxSize > 0 ? maxSize : null }; // If client-side preview generation is possible // and we are not specifically looking for the image URl returned by the server... if (!fromServer && qq.supportedFeatures.imagePreviews) { fileOrUrl = this.getFile(fileId); } /* jshint eqeqeq:false,eqnull:true */ if (fileOrUrl == null) { return new qq.Promise().failure(imgOrCanvas, "File or URL not found."); } return this._imageGenerator.generate(fileOrUrl, imgOrCanvas, options); } }, pauseUpload: function(id) { var uploadData = this._uploadData.retrieve({id: id}); if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) { return false; } // Pause only really makes sense if the file is uploading or retrying if (qq.indexOf([qq.status.UPLOADING, qq.status.UPLOAD_RETRYING], uploadData.status) >= 0) { if (this._handler.pause(id)) { this._uploadData.setStatus(id, qq.status.PAUSED); return true; } else { qq.log(qq.format("Unable to pause file ID {} ({}).", id, this.getName(id)), "error"); } } else { qq.log(qq.format("Ignoring pause for file ID {} ({}). Not in progress.", id, this.getName(id)), "error"); } return false; }, continueUpload: function(id) { var uploadData = this._uploadData.retrieve({id: id}); if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) { return false; } if (uploadData.status === qq.status.PAUSED) { qq.log(qq.format("Paused file ID {} ({}) will be continued. Not paused.", id, this.getName(id))); if (!this._handler.upload(id)) { this._uploadData.setStatus(id, qq.status.QUEUED); } return true; } else { qq.log(qq.format("Ignoring continue for file ID {} ({}). Not paused.", id, this.getName(id)), "error"); } return false; }, getRemainingAllowedItems: function() { var allowedItems = this._options.validation.itemLimit; if (allowedItems > 0) { return this._options.validation.itemLimit - this._netUploadedOrQueued; } return null; } }; /** * Defines the private (internal) API for FineUploaderBasic mode. */ qq.basePrivateApi = { // Attempts to refresh session data only if the `qq.Session` module exists // and a session endpoint has been specified. The `onSessionRequestComplete` // callback will be invoked once the refresh is complete. _refreshSessionData: function() { var self = this, options = this._options.session; /* jshint eqnull:true */ if (qq.Session && this._options.session.endpoint != null) { if (!this._session) { qq.extend(options, this._options.cors); options.log = qq.bind(this.log, this); options.addFileRecord = qq.bind(this._addCannedFile, this); this._session = new qq.Session(options); } setTimeout(function() { self._session.refresh().then(function(response, xhrOrXdr) { self._options.callbacks.onSessionRequestComplete(response, true, xhrOrXdr); }, function(response, xhrOrXdr) { self._options.callbacks.onSessionRequestComplete(response, false, xhrOrXdr); }); }, 0); } }, // Updates internal state with a file record (not backed by a live file). Returns the assigned ID. _addCannedFile: function(sessionData) { var id = this._uploadData.addFile(sessionData.uuid, sessionData.name, sessionData.size, qq.status.UPLOAD_SUCCESSFUL); sessionData.deleteFileEndpoint && this.setDeleteFileEndpoint(sessionData.deleteFileEndpoint, id); sessionData.deleteFileParams && this.setDeleteFileParams(sessionData.deleteFileParams, id); if (sessionData.thumbnailUrl) { this._thumbnailUrls[id] = sessionData.thumbnailUrl; } this._netUploaded++; this._netUploadedOrQueued++; return id; }, // Updates internal state when a new file has been received, and adds it along with its ID to a passed array. _handleNewFile: function(file, newFileWrapperList) { var size = -1, uuid = qq.getUniqueId(), name = qq.getFilename(file), id; if (file.size >= 0) { size = file.size; } else if (file.blob) { size = file.blob.size; } id = this._uploadData.addFile(uuid, name, size); this._handler.add(id, file); this._netUploadedOrQueued++; newFileWrapperList.push({id: id, file: file}); }, // Creates an internal object that tracks various properties of each extra button, // and then actually creates the extra button. _generateExtraButtonSpecs: function() { var self = this; this._extraButtonSpecs = {}; qq.each(this._options.extraButtons, function(idx, extraButtonOptionEntry) { var multiple = extraButtonOptionEntry.multiple, validation = qq.extend({}, self._options.validation, true), extraButtonSpec = qq.extend({}, extraButtonOptionEntry); if (multiple === undefined) { multiple = self._options.multiple; } if (extraButtonSpec.validation) { qq.extend(validation, extraButtonOptionEntry.validation, true); } qq.extend(extraButtonSpec, { multiple: multiple, validation: validation }, true); self._initExtraButton(extraButtonSpec); }); }, // Creates an extra button element _initExtraButton: function(spec) { var button = this._createUploadButton({ element: spec.element, multiple: spec.multiple, accept: spec.validation.acceptFiles, folders: spec.folders, allowedExtensions: spec.validation.allowedExtensions }); this._extraButtonSpecs[button.getButtonId()] = spec; }, /** * Gets the internally used tracking ID for a button. * * @param buttonOrFileInputOrFile `File`, ``, or a button container element * @returns {*} The button's ID, or undefined if no ID is recoverable * @private */ _getButtonId: function(buttonOrFileInputOrFile) { var inputs, fileInput; // If the item is a `Blob` it will never be associated with a button or drop zone. if (buttonOrFileInputOrFile && !buttonOrFileInputOrFile.blob && !qq.isBlob(buttonOrFileInputOrFile)) { if (qq.isFile(buttonOrFileInputOrFile)) { return buttonOrFileInputOrFile.qqButtonId; } else if (buttonOrFileInputOrFile.tagName.toLowerCase() === "input" && buttonOrFileInputOrFile.type.toLowerCase() === "file") { return buttonOrFileInputOrFile.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME); } inputs = buttonOrFileInputOrFile.getElementsByTagName("input"); qq.each(inputs, function(idx, input) { if (input.getAttribute("type") === "file") { fileInput = input; return false; } }); if (fileInput) { return fileInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME); } } }, _annotateWithButtonId: function(file, associatedInput) { if (qq.isFile(file)) { file.qqButtonId = this._getButtonId(associatedInput); } }, _getButton: function(buttonId) { var extraButtonsSpec = this._extraButtonSpecs[buttonId]; if (extraButtonsSpec) { return extraButtonsSpec.element; } else if (buttonId === this._defaultButtonId) { return this._options.button; } }, _handleCheckedCallback: function(details) { var self = this, callbackRetVal = details.callback(); if (callbackRetVal instanceof qq.Promise) { this.log(details.name + " - waiting for " + details.name + " promise to be fulfilled for " + details.identifier); return callbackRetVal.then( function(successParam) { self.log(details.name + " promise success for " + details.identifier); details.onSuccess(successParam); }, function() { if (details.onFailure) { self.log(details.name + " promise failure for " + details.identifier); details.onFailure(); } else { self.log(details.name + " promise failure for " + details.identifier); } }); } if (callbackRetVal !== false) { details.onSuccess(callbackRetVal); } else { if (details.onFailure) { this.log(details.name + " - return value was 'false' for " + details.identifier + ". Invoking failure callback."); details.onFailure(); } else { this.log(details.name + " - return value was 'false' for " + details.identifier + ". Will not proceed."); } } return callbackRetVal; }, /** * Generate a tracked upload button. * * @param spec Object containing a required `element` property * along with optional `multiple`, `accept`, and `folders`. * @returns {qq.UploadButton} * @private */ _createUploadButton: function(spec) { var self = this, acceptFiles = spec.accept || this._options.validation.acceptFiles, allowedExtensions = spec.allowedExtensions || this._options.validation.allowedExtensions; function allowMultiple() { if (qq.supportedFeatures.ajaxUploading) { // Workaround for bug in iOS7 (see #1039) if (qq.ios7() && self._isAllowedExtension(allowedExtensions, ".mov")) { return false; } if (spec.multiple === undefined) { return self._options.multiple; } return spec.multiple; } return false; } var button = new qq.UploadButton({ element: spec.element, folders: spec.folders, name: this._options.request.inputName, multiple: allowMultiple(), acceptFiles: acceptFiles, onChange: function(input) { self._onInputChange(input); }, hoverClass: this._options.classes.buttonHover, focusClass: this._options.classes.buttonFocus }); this._disposeSupport.addDisposer(function() { button.dispose(); }); self._buttons.push(button); return button; }, _createUploadHandler: function(additionalOptions, namespace) { var self = this, options = { debug: this._options.debug, maxConnections: this._options.maxConnections, cors: this._options.cors, demoMode: this._options.demoMode, paramsStore: this._paramsStore, endpointStore: this._endpointStore, chunking: this._options.chunking, resume: this._options.resume, blobs: this._options.blobs, log: qq.bind(self.log, self), onProgress: function(id, name, loaded, total){ self._onProgress(id, name, loaded, total); self._options.callbacks.onProgress(id, name, loaded, total); }, onComplete: function(id, name, result, xhr){ var retVal = self._onComplete(id, name, result, xhr); // If the internal `_onComplete` handler returns a promise, don't invoke the `onComplete` callback // until the promise has been fulfilled. if (retVal instanceof qq.Promise) { retVal.done(function() { self._options.callbacks.onComplete(id, name, result, xhr); }); } else { self._options.callbacks.onComplete(id, name, result, xhr); } }, onCancel: function(id, name) { return self._handleCheckedCallback({ name: "onCancel", callback: qq.bind(self._options.callbacks.onCancel, self, id, name), onSuccess: qq.bind(self._onCancel, self, id, name), identifier: id }); }, onUpload: function(id, name) { self._onUpload(id, name); self._options.callbacks.onUpload(id, name); }, onUploadChunk: function(id, name, chunkData) { self._onUploadChunk(id, chunkData); self._options.callbacks.onUploadChunk(id, name, chunkData); }, onUploadChunkSuccess: function(id, chunkData, result, xhr) { self._options.callbacks.onUploadChunkSuccess.apply(self, arguments); }, onResume: function(id, name, chunkData) { return self._options.callbacks.onResume(id, name, chunkData); }, onAutoRetry: function(id, name, responseJSON, xhr) { return self._onAutoRetry.apply(self, arguments); }, onUuidChanged: function(id, newUuid) { self.log("Server requested UUID change from '" + self.getUuid(id) + "' to '" + newUuid + "'"); self.setUuid(id, newUuid); }, getName: qq.bind(self.getName, self), getUuid: qq.bind(self.getUuid, self), getSize: qq.bind(self.getSize, self) }; qq.each(this._options.request, function(prop, val) { options[prop] = val; }); if (additionalOptions) { qq.each(additionalOptions, function(key, val) { options[key] = val; }); } return new qq.UploadHandler(options, namespace); }, _createDeleteHandler: function() { var self = this; return new qq.DeleteFileAjaxRequester({ method: this._options.deleteFile.method.toUpperCase(), maxConnections: this._options.maxConnections, uuidParamName: this._options.request.uuidName, customHeaders: this._options.deleteFile.customHeaders, paramsStore: this._deleteFileParamsStore, endpointStore: this._deleteFileEndpointStore, demoMode: this._options.demoMode, cors: this._options.cors, log: qq.bind(self.log, self), onDelete: function(id) { self._onDelete(id); self._options.callbacks.onDelete(id); }, onDeleteComplete: function(id, xhrOrXdr, isError) { self._onDeleteComplete(id, xhrOrXdr, isError); self._options.callbacks.onDeleteComplete(id, xhrOrXdr, isError); } }); }, _createPasteHandler: function() { var self = this; return new qq.PasteSupport({ targetElement: this._options.paste.targetElement, callbacks: { log: qq.bind(self.log, self), pasteReceived: function(blob) { self._handleCheckedCallback({ name: "onPasteReceived", callback: qq.bind(self._options.callbacks.onPasteReceived, self, blob), onSuccess: qq.bind(self._handlePasteSuccess, self, blob), identifier: "pasted image" }); } } }); }, _createUploadDataTracker: function() { var self = this; return new qq.UploadData({ getName: function(id) { return self.getName(id); }, getUuid: function(id) { return self.getUuid(id); }, getSize: function(id) { return self.getSize(id); }, onStatusChange: function(id, oldStatus, newStatus) { self._onUploadStatusChange(id, oldStatus, newStatus); self._options.callbacks.onStatusChange(id, oldStatus, newStatus); } }); }, _onUploadStatusChange: function(id, oldStatus, newStatus) { // Make sure a "queued" retry attempt is canceled if the upload has been paused if (newStatus === qq.status.PAUSED) { clearTimeout(this._retryTimeouts[id]); } }, _handlePasteSuccess: function(blob, extSuppliedName) { var extension = blob.type.split("/")[1], name = extSuppliedName; /*jshint eqeqeq: true, eqnull: true*/ if (name == null) { name = this._options.paste.defaultName; } name += "." + extension; this.addBlobs({ name: name, blob: blob }); }, _preventLeaveInProgress: function(){ var self = this; this._disposeSupport.attach(window, "beforeunload", function(e){ if (self.getInProgress()) { e = e || window.event; // for ie, ff e.returnValue = self._options.messages.onLeave; // for webkit return self._options.messages.onLeave; } }); }, _onSubmit: function(id, name) { //nothing to do yet in core uploader }, _onProgress: function(id, name, loaded, total) { //nothing to do yet in core uploader }, _onComplete: function(id, name, result, xhr) { if (!result.success) { this._netUploadedOrQueued--; this._uploadData.setStatus(id, qq.status.UPLOAD_FAILED); } else { if (result.thumbnailUrl) { this._thumbnailUrls[id] = result.thumbnailUrl; } this._netUploaded++; this._uploadData.setStatus(id, qq.status.UPLOAD_SUCCESSFUL); } this._maybeParseAndSendUploadError(id, name, result, xhr); return result.success ? true : false; }, _onCancel: function(id, name) { this._netUploadedOrQueued--; clearTimeout(this._retryTimeouts[id]); var storedItemIndex = qq.indexOf(this._storedIds, id); if (!this._options.autoUpload && storedItemIndex >= 0) { this._storedIds.splice(storedItemIndex, 1); } this._uploadData.setStatus(id, qq.status.CANCELED); }, _isDeletePossible: function() { if (!qq.DeleteFileAjaxRequester || !this._options.deleteFile.enabled) { return false; } if (this._options.cors.expected) { if (qq.supportedFeatures.deleteFileCorsXhr) { return true; } if (qq.supportedFeatures.deleteFileCorsXdr && this._options.cors.allowXdr) { return true; } return false; } return true; }, _onSubmitDelete: function(id, onSuccessCallback, additionalMandatedParams) { var uuid = this.getUuid(id), adjustedOnSuccessCallback; if (onSuccessCallback) { adjustedOnSuccessCallback = qq.bind(onSuccessCallback, this, id, uuid, additionalMandatedParams); } if (this._isDeletePossible()) { return this._handleCheckedCallback({ name: "onSubmitDelete", callback: qq.bind(this._options.callbacks.onSubmitDelete, this, id), onSuccess: adjustedOnSuccessCallback || qq.bind(this._deleteHandler.sendDelete, this, id, uuid, additionalMandatedParams), identifier: id }); } else { this.log("Delete request ignored for ID " + id + ", delete feature is disabled or request not possible " + "due to CORS on a user agent that does not support pre-flighting.", "warn"); return false; } }, _onDelete: function(id) { this._uploadData.setStatus(id, qq.status.DELETING); }, _onDeleteComplete: function(id, xhrOrXdr, isError) { var name = this.getName(id); if (isError) { this._uploadData.setStatus(id, qq.status.DELETE_FAILED); this.log("Delete request for '" + name + "' has failed.", "error"); // For error reporing, we only have accesss to the response status if this is not // an `XDomainRequest`. if (xhrOrXdr.withCredentials === undefined) { this._options.callbacks.onError(id, name, "Delete request failed", xhrOrXdr); } else { this._options.callbacks.onError(id, name, "Delete request failed with response code " + xhrOrXdr.status, xhrOrXdr); } } else { this._netUploadedOrQueued--; this._netUploaded--; this._handler.expunge(id); this._uploadData.setStatus(id, qq.status.DELETED); this.log("Delete request for '" + name + "' has succeeded."); } }, _onUpload: function(id, name) { this._uploadData.setStatus(id, qq.status.UPLOADING); }, _onUploadChunk: function(id, chunkData) { //nothing to do in the base uploader }, _onInputChange: function(input) { var fileIndex; if (qq.supportedFeatures.ajaxUploading) { for (fileIndex = 0; fileIndex < input.files.length; fileIndex++) { this._annotateWithButtonId(input.files[fileIndex], input); } this.addFiles(input.files); } // Android 2.3.x will fire `onchange` even if no file has been selected else if (input.value.length > 0) { this.addFiles(input); } qq.each(this._buttons, function(idx, button) { button.reset(); }); }, _onBeforeAutoRetry: function(id, name) { this.log("Waiting " + this._options.retry.autoAttemptDelay + " seconds before retrying " + name + "..."); }, /** * Attempt to automatically retry a failed upload. * * @param id The file ID of the failed upload * @param name The name of the file associated with the failed upload * @param responseJSON Response from the server, parsed into a javascript object * @param xhr Ajax transport used to send the failed request * @param callback Optional callback to be invoked if a retry is prudent. * Invoked in lieu of asking the upload handler to retry. * @returns {boolean} true if an auto-retry will occur * @private */ _onAutoRetry: function(id, name, responseJSON, xhr, callback) { var self = this; self._preventRetries[id] = responseJSON[self._options.retry.preventRetryResponseProperty]; if (self._shouldAutoRetry(id, name, responseJSON)) { self._maybeParseAndSendUploadError.apply(self, arguments); self._options.callbacks.onAutoRetry(id, name, self._autoRetries[id] + 1); self._onBeforeAutoRetry(id, name); self._retryTimeouts[id] = setTimeout(function() { self.log("Retrying " + name + "..."); self._autoRetries[id]++; self._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING); if (callback) { callback(id); } else { self._handler.retry(id); } }, self._options.retry.autoAttemptDelay * 1000); return true; } }, _shouldAutoRetry: function(id, name, responseJSON) { var uploadData = this._uploadData.retrieve({id: id}); /*jshint laxbreak: true */ if (!this._preventRetries[id] && this._options.retry.enableAuto && uploadData.status !== qq.status.PAUSED) { if (this._autoRetries[id] === undefined) { this._autoRetries[id] = 0; } return this._autoRetries[id] < this._options.retry.maxAutoAttempts; } return false; }, //return false if we should not attempt the requested retry _onBeforeManualRetry: function(id) { var itemLimit = this._options.validation.itemLimit; if (this._preventRetries[id]) { this.log("Retries are forbidden for id " + id, "warn"); return false; } else if (this._handler.isValid(id)) { var fileName = this.getName(id); if (this._options.callbacks.onManualRetry(id, fileName) === false) { return false; } if (itemLimit > 0 && this._netUploadedOrQueued+1 > itemLimit) { this._itemError("retryFailTooManyItems"); return false; } this.log("Retrying upload for '" + fileName + "' (id: " + id + ")..."); return true; } else { this.log("'" + id + "' is not a valid file ID", "error"); return false; } }, /** * Conditionally orders a manual retry of a failed upload. * * @param id File ID of the failed upload * @param callback Optional callback to invoke if a retry is prudent. * In lieu of asking the upload handler to retry. * @returns {boolean} true if a manual retry will occur * @private */ _manualRetry: function(id, callback) { if (this._onBeforeManualRetry(id)) { this._netUploadedOrQueued++; this._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING); if (callback) { callback(id); } else { this._handler.retry(id); } return true; } }, _maybeParseAndSendUploadError: function(id, name, response, xhr) { // Assuming no one will actually set the response code to something other than 200 // and still set 'success' to true... if (!response.success){ if (xhr && xhr.status !== 200 && !response.error) { this._options.callbacks.onError(id, name, "XHR returned response code " + xhr.status, xhr); } else { var errorReason = response.error ? response.error : this._options.text.defaultResponseError; this._options.callbacks.onError(id, name, errorReason, xhr); } } }, _prepareItemsForUpload: function(items, params, endpoint) { var validationDescriptors = this._getValidationDescriptors(items), buttonId = this._getButtonId(items[0].file), button = this._getButton(buttonId); this._handleCheckedCallback({ name: "onValidateBatch", callback: qq.bind(this._options.callbacks.onValidateBatch, this, validationDescriptors, button), onSuccess: qq.bind(this._onValidateBatchCallbackSuccess, this, validationDescriptors, items, params, endpoint, button), onFailure: qq.bind(this._onValidateBatchCallbackFailure, this, items), identifier: "batch validation" }); }, _upload: function(id, params, endpoint) { var name = this.getName(id); if (params) { this.setParams(params, id); } if (endpoint) { this.setEndpoint(endpoint, id); } this._handleCheckedCallback({ name: "onSubmit", callback: qq.bind(this._options.callbacks.onSubmit, this, id, name), onSuccess: qq.bind(this._onSubmitCallbackSuccess, this, id, name), onFailure: qq.bind(this._fileOrBlobRejected, this, id, name), identifier: id }); }, _onSubmitCallbackSuccess: function(id, name) { var buttonId; if (qq.supportedFeatures.ajaxUploading) { buttonId = this._handler.getFile(id).qqButtonId; } else { buttonId = this._getButtonId(this._handler.getInput(id)); } if (buttonId) { this._buttonIdsForFileIds[id] = buttonId; } this._onSubmit.apply(this, arguments); this._uploadData.setStatus(id, qq.status.SUBMITTED); this._onSubmitted.apply(this, arguments); this._options.callbacks.onSubmitted.apply(this, arguments); if (this._options.autoUpload) { if (!this._handler.upload(id)) { this._uploadData.setStatus(id, qq.status.QUEUED); } } else { this._storeForLater(id); } }, _onSubmitted: function(id) { //nothing to do in the base uploader }, _storeForLater: function(id) { this._storedIds.push(id); }, _onValidateBatchCallbackSuccess: function(validationDescriptors, items, params, endpoint, button) { var errorMessage, itemLimit = this._options.validation.itemLimit, proposedNetFilesUploadedOrQueued = this._netUploadedOrQueued; if (itemLimit === 0 || proposedNetFilesUploadedOrQueued <= itemLimit) { if (items.length > 0) { this._handleCheckedCallback({ name: "onValidate", callback: qq.bind(this._options.callbacks.onValidate, this, validationDescriptors[0], button), onSuccess: qq.bind(this._onValidateCallbackSuccess, this, items, 0, params, endpoint), onFailure: qq.bind(this._onValidateCallbackFailure, this, items, 0, params, endpoint), identifier: "Item '" + items[0].file.name + "', size: " + items[0].file.size }); } else { this._itemError("noFilesError"); } } else { this._onValidateBatchCallbackFailure(items); errorMessage = this._options.messages.tooManyItemsError .replace(/\{netItems\}/g, proposedNetFilesUploadedOrQueued) .replace(/\{itemLimit\}/g, itemLimit); this._batchError(errorMessage); } }, _onValidateBatchCallbackFailure: function(fileWrappers) { var self = this; qq.each(fileWrappers, function(idx, fileWrapper) { self._fileOrBlobRejected(fileWrapper.id); }); }, _onValidateCallbackSuccess: function(items, index, params, endpoint) { var self = this, nextIndex = index+1, validationDescriptor = this._getValidationDescriptor(items[index].file); this._validateFileOrBlobData(items[index], validationDescriptor) .then( function() { self._upload(items[index].id, params, endpoint); self._maybeProcessNextItemAfterOnValidateCallback(true, items, nextIndex, params, endpoint); }, function() { self._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint); } ); }, _onValidateCallbackFailure: function(items, index, params, endpoint) { var nextIndex = index+ 1; this._fileOrBlobRejected(items[0].id, items[0].file.name); this._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint); }, _maybeProcessNextItemAfterOnValidateCallback: function(validItem, items, index, params, endpoint) { var self = this; if (items.length > index) { if (validItem || !this._options.validation.stopOnFirstInvalidFile) { //use setTimeout to prevent a stack overflow with a large number of files in the batch & non-promissory callbacks setTimeout(function() { var validationDescriptor = self._getValidationDescriptor(items[index].file); self._handleCheckedCallback({ name: "onValidate", callback: qq.bind(self._options.callbacks.onValidate, self, items[index].file), onSuccess: qq.bind(self._onValidateCallbackSuccess, self, items, index, params, endpoint), onFailure: qq.bind(self._onValidateCallbackFailure, self, items, index, params, endpoint), identifier: "Item '" + validationDescriptor.name + "', size: " + validationDescriptor.size }); }, 0); } else if (!validItem) { for (; index < items.length; index++) { self._fileOrBlobRejected(items[index].id); } } } }, /** * Performs some internal validation checks on an item, defined in the `validation` option. * * @param fileWrapper Wrapper containing a `file` along with an `id` * @param validationDescriptor Normalized information about the item (`size`, `name`). * @returns qq.Promise with appropriate callbacks invoked depending on the validity of the file * @private */ _validateFileOrBlobData: function(fileWrapper, validationDescriptor) { var self = this, file = fileWrapper.file, name = validationDescriptor.name, size = validationDescriptor.size, buttonId = this._getButtonId(file), validationBase = this._getValidationBase(buttonId), validityChecker = new qq.Promise(); validityChecker.then( function() {}, function() { self._fileOrBlobRejected(fileWrapper.id, name); }); if (qq.isFileOrInput(file) && !this._isAllowedExtension(validationBase.allowedExtensions, name)) { this._itemError("typeError", name, file); return validityChecker.failure(); } if (size === 0) { this._itemError("emptyError", name, file); return validityChecker.failure(); } if (size && validationBase.sizeLimit && size > validationBase.sizeLimit) { this._itemError("sizeError", name, file); return validityChecker.failure(); } if (size && size < validationBase.minSizeLimit) { this._itemError("minSizeError", name, file); return validityChecker.failure(); } if (qq.ImageValidation && qq.supportedFeatures.imagePreviews && qq.isFile(file)) { new qq.ImageValidation(file, qq.bind(self.log, self)).validate(validationBase.image).then( validityChecker.success, function(errorCode) { self._itemError(errorCode + "ImageError", name, file); validityChecker.failure(); } ); } else { validityChecker.success(); } return validityChecker; }, _fileOrBlobRejected: function(id) { this._netUploadedOrQueued--; this._uploadData.setStatus(id, qq.status.REJECTED); }, /** * Constructs and returns a message that describes an item/file error. Also calls `onError` callback. * * @param code REQUIRED - a code that corresponds to a stock message describing this type of error * @param maybeNameOrNames names of the items that have failed, if applicable * @param item `File`, `Blob`, or `` * @private */ _itemError: function(code, maybeNameOrNames, item) { var message = this._options.messages[code], allowedExtensions = [], names = [].concat(maybeNameOrNames), name = names[0], buttonId = this._getButtonId(item), validationBase = this._getValidationBase(buttonId), extensionsForMessage, placeholderMatch; function r(name, replacement){ message = message.replace(name, replacement); } qq.each(validationBase.allowedExtensions, function(idx, allowedExtension) { /** * If an argument is not a string, ignore it. Added when a possible issue with MooTools hijacking the * `allowedExtensions` array was discovered. See case #735 in the issue tracker for more details. */ if (qq.isString(allowedExtension)) { allowedExtensions.push(allowedExtension); } }); extensionsForMessage = allowedExtensions.join(", ").toLowerCase(); r("{file}", this._options.formatFileName(name)); r("{extensions}", extensionsForMessage); r("{sizeLimit}", this._formatSize(validationBase.sizeLimit)); r("{minSizeLimit}", this._formatSize(validationBase.minSizeLimit)); placeholderMatch = message.match(/(\{\w+\})/g); if (placeholderMatch !== null) { qq.each(placeholderMatch, function(idx, placeholder) { r(placeholder, names[idx]); }); } this._options.callbacks.onError(null, name, message, undefined); return message; }, _batchError: function(message) { this._options.callbacks.onError(null, null, message, undefined); }, _isAllowedExtension: function(allowed, fileName) { var valid = false; if (!allowed.length) { return true; } qq.each(allowed, function(idx, allowedExt) { /** * If an argument is not a string, ignore it. Added when a possible issue with MooTools hijacking the * `allowedExtensions` array was discovered. See case #735 in the issue tracker for more details. */ if (qq.isString(allowedExt)) { /*jshint eqeqeq: true, eqnull: true*/ var extRegex = new RegExp("\\." + allowedExt + "$", "i"); if (fileName.match(extRegex) != null) { valid = true; return false; } } }); return valid; }, _formatSize: function(bytes){ var i = -1; do { bytes = bytes / 1000; i++; } while (bytes > 999); return Math.max(bytes, 0.1).toFixed(1) + this._options.text.sizeSymbols[i]; }, _wrapCallbacks: function() { var self, safeCallback; self = this; safeCallback = function(name, callback, args) { var errorMsg; try { return callback.apply(self, args); } catch (exception) { errorMsg = exception.message || exception.toString(); self.log("Caught exception in '" + name + "' callback - " + errorMsg, "error"); } }; /* jshint forin: false, loopfunc: true */ for (var prop in this._options.callbacks) { (function() { var callbackName, callbackFunc; callbackName = prop; callbackFunc = self._options.callbacks[callbackName]; self._options.callbacks[callbackName] = function() { return safeCallback(callbackName, callbackFunc, arguments); }; }()); } }, _parseFileOrBlobDataName: function(fileOrBlobData) { var name; if (qq.isFileOrInput(fileOrBlobData)) { if (fileOrBlobData.value) { // it is a file input // get input value and remove path to normalize name = fileOrBlobData.value.replace(/.*(\/|\\)/, ""); } else { // fix missing properties in Safari 4 and firefox 11.0a2 name = (fileOrBlobData.fileName !== null && fileOrBlobData.fileName !== undefined) ? fileOrBlobData.fileName : fileOrBlobData.name; } } else { name = fileOrBlobData.name; } return name; }, _parseFileOrBlobDataSize: function(fileOrBlobData) { var size; if (qq.isFileOrInput(fileOrBlobData)) { if (fileOrBlobData.value === undefined) { // fix missing properties in Safari 4 and firefox 11.0a2 size = (fileOrBlobData.fileSize !== null && fileOrBlobData.fileSize !== undefined) ? fileOrBlobData.fileSize : fileOrBlobData.size; } } else { size = fileOrBlobData.blob.size; } return size; }, _getValidationDescriptor: function(fileOrBlobData) { var fileDescriptor = {}, name = this._parseFileOrBlobDataName(fileOrBlobData), size = this._parseFileOrBlobDataSize(fileOrBlobData); fileDescriptor.name = name; if (size !== undefined) { fileDescriptor.size = size; } return fileDescriptor; }, _getValidationDescriptors: function(fileWrappers) { var self = this, fileDescriptors = []; qq.each(fileWrappers, function(idx, fileWrapper) { fileDescriptors.push(self._getValidationDescriptor(fileWrapper.file)); }); return fileDescriptors; }, _createParamsStore: function(type) { var paramsStore = {}, self = this; return { setParams: function(params, id) { var paramsCopy = {}; qq.extend(paramsCopy, params); paramsStore[id] = paramsCopy; }, getParams: function(id) { /*jshint eqeqeq: true, eqnull: true*/ var paramsCopy = {}; if (id != null && paramsStore[id]) { qq.extend(paramsCopy, paramsStore[id]); } else { qq.extend(paramsCopy, self._options[type].params); } return paramsCopy; }, remove: function(fileId) { return delete paramsStore[fileId]; }, reset: function() { paramsStore = {}; } }; }, _createEndpointStore: function(type) { var endpointStore = {}, self = this; return { setEndpoint: function(endpoint, id) { endpointStore[id] = endpoint; }, getEndpoint: function(id) { /*jshint eqeqeq: true, eqnull: true*/ if (id != null && endpointStore[id]) { return endpointStore[id]; } return self._options[type].endpoint; }, remove: function(fileId) { return delete endpointStore[fileId]; }, reset: function() { endpointStore = {}; } }; }, // Allows camera access on either the default or an extra button for iOS devices. _handleCameraAccess: function() { if (this._options.camera.ios && qq.ios()) { var acceptIosCamera = "image/*;capture=camera", button = this._options.camera.button, buttonId = button ? this._getButtonId(button) : this._defaultButtonId, optionRoot = this._options; // If we are not targeting the default button, it is an "extra" button if (buttonId && buttonId !== this._defaultButtonId) { optionRoot = this._extraButtonSpecs[buttonId]; } // Camera access won't work in iOS if the `multiple` attribute is present on the file input optionRoot.multiple = false; // update the options if (optionRoot.validation.acceptFiles === null) { optionRoot.validation.acceptFiles = acceptIosCamera; } else { optionRoot.validation.acceptFiles += "," + acceptIosCamera; } // update the already-created button qq.each(this._buttons, function(idx, button) { if (button.getButtonId() === buttonId) { button.setMultiple(optionRoot.multiple); button.setAcceptFiles(optionRoot.acceptFiles); return false; } }); } }, // Get the validation options for this button. Could be the default validation option // or a specific one assigned to this particular button. _getValidationBase: function(buttonId) { var extraButtonSpec = this._extraButtonSpecs[buttonId]; return extraButtonSpec ? extraButtonSpec.validation : this._options.validation; } }; }()); /*globals qq*/ (function(){ "use strict"; qq.FineUploaderBasic = function(o) { // These options define FineUploaderBasic mode. this._options = { debug: false, button: null, multiple: true, maxConnections: 3, disableCancelForFormUploads: false, autoUpload: true, request: { endpoint: "/server/upload", params: {}, paramsInBody: true, customHeaders: {}, forceMultipart: true, inputName: "qqfile", uuidName: "qquuid", totalFileSizeName: "qqtotalfilesize", filenameParam: "qqfilename" }, validation: { allowedExtensions: [], sizeLimit: 0, minSizeLimit: 0, itemLimit: 0, stopOnFirstInvalidFile: true, acceptFiles: null, image: { maxHeight: 0, maxWidth: 0, minHeight: 0, minWidth: 0 } }, callbacks: { onSubmit: function(id, name){}, onSubmitted: function(id, name){}, onComplete: function(id, name, responseJSON, maybeXhr){}, onCancel: function(id, name){}, onUpload: function(id, name){}, onUploadChunk: function(id, name, chunkData){}, onUploadChunkSuccess: function(id, chunkData, responseJSON, xhr){}, onResume: function(id, fileName, chunkData){}, onProgress: function(id, name, loaded, total){}, onError: function(id, name, reason, maybeXhrOrXdr) {}, onAutoRetry: function(id, name, attemptNumber) {}, onManualRetry: function(id, name) {}, onValidateBatch: function(fileOrBlobData) {}, onValidate: function(fileOrBlobData) {}, onSubmitDelete: function(id) {}, onDelete: function(id){}, onDeleteComplete: function(id, xhrOrXdr, isError){}, onPasteReceived: function(blob) {}, onStatusChange: function(id, oldStatus, newStatus) {}, onSessionRequestComplete: function(response, success, xhrOrXdr) {} }, messages: { typeError: "{file} has an invalid extension. Valid extension(s): {extensions}.", sizeError: "{file} is too large, maximum file size is {sizeLimit}.", minSizeError: "{file} is too small, minimum file size is {minSizeLimit}.", emptyError: "{file} is empty, please select files again without it.", noFilesError: "No files to upload.", tooManyItemsError: "Too many items ({netItems}) would be uploaded. Item limit is {itemLimit}.", maxHeightImageError: "Image is too tall.", maxWidthImageError: "Image is too wide.", minHeightImageError: "Image is not tall enough.", minWidthImageError: "Image is not wide enough.", retryFailTooManyItems: "Retry failed - you have reached your file limit.", onLeave: "The files are being uploaded, if you leave now the upload will be canceled." }, retry: { enableAuto: false, maxAutoAttempts: 3, autoAttemptDelay: 5, preventRetryResponseProperty: "preventRetry" }, classes: { buttonHover: "qq-upload-button-hover", buttonFocus: "qq-upload-button-focus" }, chunking: { enabled: false, partSize: 2000000, paramNames: { partIndex: "qqpartindex", partByteOffset: "qqpartbyteoffset", chunkSize: "qqchunksize", totalFileSize: "qqtotalfilesize", totalParts: "qqtotalparts" } }, resume: { enabled: false, id: null, cookiesExpireIn: 7, //days paramNames: { resuming: "qqresume" } }, formatFileName: function(fileOrBlobName) { if (fileOrBlobName !== undefined && fileOrBlobName.length > 33) { fileOrBlobName = fileOrBlobName.slice(0, 19) + "..." + fileOrBlobName.slice(-14); } return fileOrBlobName; }, text: { defaultResponseError: "Upload failure reason unknown", sizeSymbols: ["kB", "MB", "GB", "TB", "PB", "EB"] }, deleteFile : { enabled: false, method: "DELETE", endpoint: "/server/upload", customHeaders: {}, params: {} }, cors: { expected: false, sendCredentials: false, allowXdr: false }, blobs: { defaultName: "misc_data" }, paste: { targetElement: null, defaultName: "pasted_image" }, camera: { ios: false, // if ios is true: button is null means target the default button, otherwise target the button specified button: null }, // This refers to additional upload buttons to be handled by Fine Uploader. // Each element is an object, containing `element` as the only required // property. The `element` must be a container that will ultimately // contain an invisible `` created by Fine Uploader. // Optional properties of each object include `multiple`, `validation`, // and `folders`. extraButtons: [], // Depends on the session module. Used to query the server for an initial file list // during initialization and optionally after a `reset`. session: { endpoint: null, params: {}, customHeaders: {}, refreshOnReset: true } }; // Replace any default options with user defined ones qq.extend(this._options, o, true); this._buttons = []; this._extraButtonSpecs = {}; this._buttonIdsForFileIds = []; this._wrapCallbacks(); this._disposeSupport = new qq.DisposeSupport(); this._storedIds = []; this._autoRetries = []; this._retryTimeouts = []; this._preventRetries = []; this._thumbnailUrls = []; this._netUploadedOrQueued = 0; this._netUploaded = 0; this._uploadData = this._createUploadDataTracker(); this._paramsStore = this._createParamsStore("request"); this._deleteFileParamsStore = this._createParamsStore("deleteFile"); this._endpointStore = this._createEndpointStore("request"); this._deleteFileEndpointStore = this._createEndpointStore("deleteFile"); this._handler = this._createUploadHandler(); this._deleteHandler = qq.DeleteFileAjaxRequester && this._createDeleteHandler(); if (this._options.button) { this._defaultButtonId = this._createUploadButton({element: this._options.button}).getButtonId(); } this._generateExtraButtonSpecs(); this._handleCameraAccess(); if (this._options.paste.targetElement) { if (qq.PasteSupport) { this._pasteHandler = this._createPasteHandler(); } else { qq.log("Paste support module not found", "info"); } } this._preventLeaveInProgress(); this._imageGenerator = qq.ImageGenerator && new qq.ImageGenerator(qq.bind(this.log, this)); this._refreshSessionData(); }; // Define the private & public API methods. qq.FineUploaderBasic.prototype = qq.basePublicApi; qq.extend(qq.FineUploaderBasic.prototype, qq.basePrivateApi); }()); /*globals qq, XDomainRequest*/ /** Generic class for sending non-upload ajax requests and handling the associated responses **/ qq.AjaxRequester = function (o) { "use strict"; var log, shouldParamsBeInQueryString, queue = [], requestData = [], options = { validMethods: ["POST"], method: "POST", contentType: "application/x-www-form-urlencoded", maxConnections: 3, customHeaders: {}, endpointStore: {}, paramsStore: {}, mandatedParams: {}, allowXRequestedWithAndCacheControl: true, successfulResponseCodes: { "DELETE": [200, 202, 204], "POST": [200, 204], "GET": [200] }, cors: { expected: false, sendCredentials: false }, log: function (str, level) {}, onSend: function (id) {}, onComplete: function (id, xhrOrXdr, isError) {} }; qq.extend(options, o); log = options.log; if (qq.indexOf(options.validMethods, options.method) < 0) { throw new Error("'" + options.method + "' is not a supported method for this type of request!"); } // [Simple methods](http://www.w3.org/TR/cors/#simple-method) // are defined by the W3C in the CORS spec as a list of methods that, in part, // make a CORS request eligible to be exempt from preflighting. function isSimpleMethod() { return qq.indexOf(["GET", "POST", "HEAD"], options.method) >= 0; } // [Simple headers](http://www.w3.org/TR/cors/#simple-header) // are defined by the W3C in the CORS spec as a list of headers that, in part, // make a CORS request eligible to be exempt from preflighting. function containsNonSimpleHeaders(headers) { var containsNonSimple = false; qq.each(containsNonSimple, function(idx, header) { if (qq.indexOf(["Accept", "Accept-Language", "Content-Language", "Content-Type"], header) < 0) { containsNonSimple = true; return false; } }); return containsNonSimple; } function isXdr(xhr) { //The `withCredentials` test is a commonly accepted way to determine if XHR supports CORS. return options.cors.expected && xhr.withCredentials === undefined; } // Returns either a new `XMLHttpRequest` or `XDomainRequest` instance. function getCorsAjaxTransport() { var xhrOrXdr; if (window.XMLHttpRequest || window.ActiveXObject) { xhrOrXdr = qq.createXhrInstance(); if (xhrOrXdr.withCredentials === undefined) { xhrOrXdr = new XDomainRequest(); } } return xhrOrXdr; } // Returns either a new XHR/XDR instance, or an existing one for the associated `File` or `Blob`. function getXhrOrXdr(id, dontCreateIfNotExist) { var xhrOrXdr = requestData[id].xhr; if (!xhrOrXdr && !dontCreateIfNotExist) { if (options.cors.expected) { xhrOrXdr = getCorsAjaxTransport(); } else { xhrOrXdr = qq.createXhrInstance(); } requestData[id].xhr = xhrOrXdr; } return xhrOrXdr; } // Removes element from queue, sends next request function dequeue(id) { var i = qq.indexOf(queue, id), max = options.maxConnections, nextId; delete requestData[id]; queue.splice(i, 1); if (queue.length >= max && i < max) { nextId = queue[max - 1]; sendRequest(nextId); } } function onComplete(id, xdrError) { var xhr = getXhrOrXdr(id), method = options.method, isError = xdrError === true; dequeue(id); if (isError) { log(method + " request for " + id + " has failed", "error"); } else if (!isXdr(xhr) && !isResponseSuccessful(xhr.status)) { isError = true; log(method + " request for " + id + " has failed - response code " + xhr.status, "error"); } options.onComplete(id, xhr, isError); } function getParams(id) { var onDemandParams = requestData[id].additionalParams, mandatedParams = options.mandatedParams, params; if (options.paramsStore.getParams) { params = options.paramsStore.getParams(id); } if (onDemandParams) { qq.each(onDemandParams, function (name, val) { params = params || {}; params[name] = val; }); } if (mandatedParams) { qq.each(mandatedParams, function (name, val) { params = params || {}; params[name] = val; }); } return params; } function sendRequest(id) { var xhr = getXhrOrXdr(id), method = options.method, params = getParams(id), payload = requestData[id].payload, url; options.onSend(id); url = createUrl(id, params); // XDR and XHR status detection APIs differ a bit. if (isXdr(xhr)) { xhr.onload = getXdrLoadHandler(id); xhr.onerror = getXdrErrorHandler(id); } else { xhr.onreadystatechange = getXhrReadyStateChangeHandler(id); } // The last parameter is assumed to be ignored if we are actually using `XDomainRequest`. xhr.open(method, url, true); // Instruct the transport to send cookies along with the CORS request, // unless we are using `XDomainRequest`, which is not capable of this. if (options.cors.expected && options.cors.sendCredentials && !isXdr(xhr)) { xhr.withCredentials = true; } setHeaders(id); log("Sending " + method + " request for " + id); if (payload) { xhr.send(payload); } else if (shouldParamsBeInQueryString || !params) { xhr.send(); } else if (params && options.contentType.toLowerCase().indexOf("application/x-www-form-urlencoded") >= 0) { xhr.send(qq.obj2url(params, "")); } else if (params && options.contentType.toLowerCase().indexOf("application/json") >= 0) { xhr.send(JSON.stringify(params)); } else { xhr.send(params); } } function createUrl(id, params) { var endpoint = options.endpointStore.getEndpoint(id), addToPath = requestData[id].addToPath; /*jshint -W116,-W041 */ if (addToPath != undefined) { endpoint += "/" + addToPath; } if (shouldParamsBeInQueryString && params) { return qq.obj2url(params, endpoint); } else { return endpoint; } } // Invoked by the UA to indicate a number of possible states that describe // a live `XMLHttpRequest` transport. function getXhrReadyStateChangeHandler(id) { return function () { if (getXhrOrXdr(id).readyState === 4) { onComplete(id); } }; } // This will be called by IE to indicate **success** for an associated // `XDomainRequest` transported request. function getXdrLoadHandler(id) { return function () { onComplete(id); }; } // This will be called by IE to indicate **failure** for an associated // `XDomainRequest` transported request. function getXdrErrorHandler(id) { return function () { onComplete(id, true); }; } function setHeaders(id) { var xhr = getXhrOrXdr(id), customHeaders = options.customHeaders, onDemandHeaders = requestData[id].additionalHeaders || {}, method = options.method, allHeaders = {}; // If XDomainRequest is being used, we can't set headers, so just ignore this block. if (!isXdr(xhr)) { // Only attempt to add X-Requested-With & Cache-Control if permitted if (options.allowXRequestedWithAndCacheControl) { // Do not add X-Requested-With & Cache-Control if this is a cross-origin request // OR the cross-origin request contains a non-simple method or header. // This is done to ensure a preflight is not triggered exclusively based on the // addition of these 2 non-simple headers. if (!options.cors.expected || (!isSimpleMethod() || containsNonSimpleHeaders(customHeaders))) { xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); xhr.setRequestHeader("Cache-Control", "no-cache"); } } if (options.contentType && (method === "POST" || method === "PUT")) { xhr.setRequestHeader("Content-Type", options.contentType); } qq.extend(allHeaders, customHeaders); qq.extend(allHeaders, onDemandHeaders); qq.each(allHeaders, function (name, val) { xhr.setRequestHeader(name, val); }); } } function isResponseSuccessful(responseCode) { return qq.indexOf(options.successfulResponseCodes[options.method], responseCode) >= 0; } function prepareToSend(id, addToPath, additionalParams, additionalHeaders, payload) { requestData[id] = { addToPath: addToPath, additionalParams: additionalParams, additionalHeaders: additionalHeaders, payload: payload }; var len = queue.push(id); // if too many active connections, wait... if (len <= options.maxConnections) { sendRequest(id); } } shouldParamsBeInQueryString = options.method === "GET" || options.method === "DELETE"; qq.extend(this, { // Start the process of sending the request. The ID refers to the file associated with the request. initTransport: function(id) { var path, params, headers, payload; return { // Optionally specify the end of the endpoint path for the request. withPath: function(appendToPath) { path = appendToPath; return this; }, // Optionally specify additional parameters to send along with the request. // These will be added to the query string for GET/DELETE requests or the payload // for POST/PUT requests. The Content-Type of the request will be used to determine // how these parameters should be formatted as well. withParams: function(additionalParams) { params = additionalParams; return this; }, // Optionally specify additional headers to send along with the request. withHeaders: function(additionalHeaders) { headers = additionalHeaders; return this; }, // Optionally specify a payload/body for the request. withPayload: function(thePayload) { payload = thePayload; return this; }, // Send the constructed request. send: function() { prepareToSend(id, path, params, headers, payload); } }; } }); }; /*globals qq*/ /** * Base upload handler module. Delegates to more specific handlers. * * @param o Options. Passed along to the specific handler submodule as well. * @param namespace [optional] Namespace for the specific handler. */ qq.UploadHandler = function(o, namespace) { "use strict"; var queue = [], options, log, handlerImpl; // Default options, can be overridden by the user options = { debug: false, forceMultipart: true, paramsInBody: false, paramsStore: {}, endpointStore: {}, filenameParam: "qqfilename", cors: { expected: false, sendCredentials: false }, maxConnections: 3, // maximum number of concurrent uploads uuidName: "qquuid", totalFileSizeName: "qqtotalfilesize", chunking: { enabled: false, partSize: 2000000, //bytes paramNames: { partIndex: "qqpartindex", partByteOffset: "qqpartbyteoffset", chunkSize: "qqchunksize", totalParts: "qqtotalparts", filename: "qqfilename" } }, resume: { enabled: false, id: null, cookiesExpireIn: 7, //days paramNames: { resuming: "qqresume" } }, log: function(str, level) {}, onProgress: function(id, fileName, loaded, total){}, onComplete: function(id, fileName, response, xhr){}, onCancel: function(id, fileName){}, onUpload: function(id, fileName){}, onUploadChunk: function(id, fileName, chunkData){}, onUploadChunkSuccess: function(id, chunkData, response, xhr){}, onAutoRetry: function(id, fileName, response, xhr){}, onResume: function(id, fileName, chunkData){}, onUuidChanged: function(id, newUuid){}, getName: function(id) {} }; qq.extend(options, o); log = options.log; /** * Removes element from queue, starts upload of next */ function dequeue(id) { var i = qq.indexOf(queue, id), max = options.maxConnections, nextId; if (i >= 0) { queue.splice(i, 1); if (queue.length >= max && i < max){ nextId = queue[max-1]; handlerImpl.upload(nextId); } } } function cancelSuccess(id) { log("Cancelling " + id); options.paramsStore.remove(id); dequeue(id); } function determineHandlerImpl() { var handlerType = namespace ? qq[namespace] : qq, handlerModuleSubtype = qq.supportedFeatures.ajaxUploading ? "Xhr" : "Form"; handlerImpl = new handlerType["UploadHandler" + handlerModuleSubtype]( options, {onUploadComplete: dequeue, onUuidChanged: options.onUuidChanged, getName: options.getName, getUuid: options.getUuid, getSize: options.getSize, log: log} ); } qq.extend(this, { /** * Adds file or file input to the queue * @returns id **/ add: function(id, file) { return handlerImpl.add.apply(this, arguments); }, /** * Sends the file identified by id */ upload: function(id) { var len = queue.push(id); // if too many active uploads, wait... if (len <= options.maxConnections){ handlerImpl.upload(id); return true; } return false; }, retry: function(id) { var i = qq.indexOf(queue, id); if (i >= 0) { return handlerImpl.upload(id, true); } else { return this.upload(id); } }, /** * Cancels file upload by id */ cancel: function(id) { var cancelRetVal = handlerImpl.cancel(id); if (cancelRetVal instanceof qq.Promise) { cancelRetVal.then(function() { cancelSuccess(id); }); } else if (cancelRetVal !== false) { cancelSuccess(id); } }, /** * Cancels all queued or in-progress uploads */ cancelAll: function() { var self = this, queueCopy = []; qq.extend(queueCopy, queue); qq.each(queueCopy, function(idx, fileId) { self.cancel(fileId); }); queue = []; }, getFile: function(id) { if (handlerImpl.getFile) { return handlerImpl.getFile(id); } }, getInput: function(id) { if (handlerImpl.getInput) { return handlerImpl.getInput(id); } }, reset: function() { log("Resetting upload handler"); this.cancelAll(); queue = []; handlerImpl.reset(); }, expunge: function(id) { if (this.isValid(id)) { return handlerImpl.expunge(id); } }, /** * Determine if the file exists. */ isValid: function(id) { return handlerImpl.isValid(id); }, getResumableFilesData: function() { if (handlerImpl.getResumableFilesData) { return handlerImpl.getResumableFilesData(); } return []; }, /** * This may or may not be implemented, depending on the handler. For handlers where a third-party ID is * available (such as the "key" for Amazon S3), this will return that value. Otherwise, the return value * will be undefined. * * @param id Internal file ID * @returns {*} Some identifier used by a 3rd-party service involved in the upload process */ getThirdPartyFileId: function(id) { if (handlerImpl.getThirdPartyFileId && this.isValid(id)) { return handlerImpl.getThirdPartyFileId(id); } }, /** * Attempts to pause the associated upload if the specific handler supports this and the file is "valid". * @param id ID of the upload/file to pause * @returns {boolean} true if the upload was paused */ pause: function(id) { if (handlerImpl.pause && this.isValid(id) && handlerImpl.pause(id)) { dequeue(id); return true; } } }); determineHandlerImpl(); }; /* globals qq */ /** * Common APIs exposed to creators of upload via form/iframe handlers. This is reused and possibly overridden * in some cases by specific form upload handlers. * * @param internalApi Object that will be filled with internal API methods * @param spec Options/static values used to configure this handler * @param proxy Callbacks & methods used to query for or push out data/changes * @constructor */ qq.UploadHandlerFormApi = function(internalApi, spec, proxy) { "use strict"; var formHandlerInstanceId = qq.getUniqueId(), onloadCallbacks = {}, detachLoadEvents = {}, postMessageCallbackTimers = {}, publicApi = this, isCors = spec.isCors, fileState = spec.fileState, inputName = spec.inputName, onCancel = proxy.onCancel, onUuidChanged = proxy.onUuidChanged, getName = proxy.getName, getUuid = proxy.getUuid, log = proxy.log, corsMessageReceiver = new qq.WindowReceiveMessage({log: log}); /** * Remove any trace of the file from the handler. * * @param id ID of the associated file */ function expungeFile(id) { delete detachLoadEvents[id]; delete fileState[id]; // If we are dealing with CORS, we might still be waiting for a response from a loaded iframe. // In that case, terminate the timer waiting for a message from the loaded iframe // and stop listening for any more messages coming from this iframe. if (isCors) { clearTimeout(postMessageCallbackTimers[id]); delete postMessageCallbackTimers[id]; corsMessageReceiver.stopReceivingMessages(id); } var iframe = document.getElementById(internalApi.getIframeName(id)); if (iframe) { // To cancel request set src to something else. We use src="javascript:false;" // because it doesn't trigger ie6 prompt on https iframe.setAttribute("src", "java" + String.fromCharCode(115) + "cript:false;"); //deal with "JSLint: javascript URL" warning, which apparently cannot be turned off qq(iframe).remove(); } } /** * If we are in CORS mode, we must listen for messages (containing the server response) from the associated * iframe, since we cannot directly parse the content of the iframe due to cross-origin restrictions. * * @param iframe Listen for messages on this iframe. * @param callback Invoke this callback with the message from the iframe. */ function registerPostMessageCallback(iframe, callback) { var iframeName = iframe.id, fileId = getFileIdForIframeName(iframeName), uuid = getUuid(fileId); onloadCallbacks[uuid] = callback; // When the iframe has loaded (after the server responds to an upload request) // declare the attempt a failure if we don't receive a valid message shortly after the response comes in. detachLoadEvents[fileId] = qq(iframe).attach("load", function() { if (fileState[fileId].input) { log("Received iframe load event for CORS upload request (iframe name " + iframeName + ")"); postMessageCallbackTimers[iframeName] = setTimeout(function() { var errorMessage = "No valid message received from loaded iframe for iframe name " + iframeName; log(errorMessage, "error"); callback({ error: errorMessage }); }, 1000); } }); // Listen for messages coming from this iframe. When a message has been received, cancel the timer // that declares the upload a failure if a message is not received within a reasonable amount of time. corsMessageReceiver.receiveMessage(iframeName, function(message) { log("Received the following window message: '" + message + "'"); var fileId = getFileIdForIframeName(iframeName), response = internalApi.parseJsonResponse(fileId, message), uuid = response.uuid, onloadCallback; if (uuid && onloadCallbacks[uuid]) { log("Handling response for iframe name " + iframeName); clearTimeout(postMessageCallbackTimers[iframeName]); delete postMessageCallbackTimers[iframeName]; internalApi.detachLoadEvent(iframeName); onloadCallback = onloadCallbacks[uuid]; delete onloadCallbacks[uuid]; corsMessageReceiver.stopReceivingMessages(iframeName); onloadCallback(response); } else if (!uuid) { log("'" + message + "' does not contain a UUID - ignoring."); } }); } /** * Generates an iframe to be used as a target for upload-related form submits. This also adds the iframe * to the current `document`. Note that the iframe is hidden from view. * * @param name Name of the iframe. * @returns {HTMLIFrameElement} The created iframe */ function initIframeForUpload(name) { var iframe = qq.toElement("
    webcit-9.01-dfsg/static/t/searchomatic.html000066400000000000000000000006011254743150300207240ustar00rootroot00000000000000
    type="text" name="query" id="srchquery" size="15" maxlength="128" class="inputbox">
    webcit-9.01-dfsg/static/t/section_mailsummary.html000066400000000000000000000004411254743150300223500ustar00rootroot00000000000000" onMouseDown="CtdlMoveMsgMouseDown(event)"> webcit-9.01-dfsg/static/t/section_mailsummary_m.html000066400000000000000000000006261254743150300226710ustar00rootroot00000000000000
    ;" onClick="CtdlLoadMsgMouseDown(event,)">
    webcit-9.01-dfsg/static/t/select_messageindex.html000066400000000000000000000003621254743150300223010ustar00rootroot00000000000000 webcit-9.01-dfsg/static/t/select_messageindex_all.html000066400000000000000000000003231254743150300231260ustar00rootroot00000000000000 webcit-9.01-dfsg/static/t/sieve/000077500000000000000000000000001254743150300165125ustar00rootroot00000000000000webcit-9.01-dfsg/static/t/sieve/add.html000066400000000000000000000027141254743150300201340ustar00rootroot00000000000000









    webcit-9.01-dfsg/static/t/sieve/display.html000066400000000000000000000062451254743150300210540ustar00rootroot00000000000000 webcit-9.01-dfsg/static/t/sieve/display_one.html000066400000000000000000000136771254743150300217240ustar00rootroot00000000000000
    >
    ">

    webcit-9.01-dfsg/static/t/sieve/display_one_script.html000066400000000000000000000003031254743150300232660ustar00rootroot00000000000000 webcit-9.01-dfsg/static/t/sieve/empty.html000066400000000000000000000000601254743150300205320ustar00rootroot00000000000000 webcit-9.01-dfsg/static/t/sieve/list.html000066400000000000000000000065131254743150300203600ustar00rootroot00000000000000

     
    webcit-9.01-dfsg/static/t/sieve/list_select_one.html000066400000000000000000000002061254743150300225510ustar00rootroot00000000000000 webcit-9.01-dfsg/static/t/sieve/none.html000066400000000000000000000006321254743150300203400ustar00rootroot00000000000000

    Please contact your system administrator if you require this feature.
    ")>
    webcit-9.01-dfsg/static/t/sieve/roomlist.html000066400000000000000000000001751254743150300212530ustar00rootroot00000000000000 webcit-9.01-dfsg/static/t/sieve/script_select.html000066400000000000000000000002041254743150300222370ustar00rootroot00000000000000 webcit-9.01-dfsg/static/t/start_of_new_msgs.html000066400000000000000000000003521254743150300220100ustar00rootroot00000000000000
    ↑↑↑ ↑↑↑            ↓↓↓ ↓↓↓
    webcit-9.01-dfsg/static/t/summary/000077500000000000000000000000001254743150300170745ustar00rootroot00000000000000webcit-9.01-dfsg/static/t/summary/page.html000066400000000000000000000050441254743150300207010ustar00rootroot00000000000000

    , , .
    webcit-9.01-dfsg/static/t/test_vcard.html000066400000000000000000000000201254743150300204130ustar00rootroot00000000000000 webcit-9.01-dfsg/static/t/trailing.html000066400000000000000000000012711254743150300200770ustar00rootroot00000000000000
    style="visibility: hidden;" >
    webcit-9.01-dfsg/static/t/user/000077500000000000000000000000001254743150300163555ustar00rootroot00000000000000webcit-9.01-dfsg/static/t/user/list.html000066400000000000000000000006571254743150300202260ustar00rootroot00000000000000
    webcit-9.01-dfsg/static/t/user/list_section.html000066400000000000000000000006601254743150300217440ustar00rootroot00000000000000 () webcit-9.01-dfsg/static/t/user/show.html000066400000000000000000000014541254743150300202270ustar00rootroot00000000000000
    " alt="">

    webcit-9.01-dfsg/static/t/view_blog/000077500000000000000000000000001254743150300173545ustar00rootroot00000000000000webcit-9.01-dfsg/static/t/view_blog/comment.html000066400000000000000000000024011254743150300217010ustar00rootroot00000000000000 webcit-9.01-dfsg/static/t/view_blog/comment_box.html000066400000000000000000000020601254743150300225520ustar00rootroot00000000000000
    ">
    disabled="disabled" />
    webcit-9.01-dfsg/static/t/view_blog/post.html000066400000000000000000000025501254743150300212310ustar00rootroot00000000000000
    Posted by "> "" <> "> @ on ');"> []
    webcit-9.01-dfsg/static/t/view_json/000077500000000000000000000000001254743150300174025ustar00rootroot00000000000000webcit-9.01-dfsg/static/t/view_json/message.js000066400000000000000000000007641254743150300213730ustar00rootroot00000000000000{"message": { "from" : { "name" : "", "email": "" }, "date" : "", "to" : { "email" : "" }, "cc" : { "email" : "" }, "subject" : "" }, "body" : "", "attachments" : [], "submessages" : [] }webcit-9.01-dfsg/static/t/view_json/message_inline_attach.js000066400000000000000000000004061254743150300242460ustar00rootroot00000000000000{ "filename" : "", "size" : "", "content-type" : "", "url" : "mimepart_download///", "mime-data" : "" }, webcit-9.01-dfsg/static/t/view_json/message_list_attach.js000066400000000000000000000004041254743150300237410ustar00rootroot00000000000000{ "filename" : "", "size" : "", "content-type" : "", "url" : "mimepart_download///", "mime-data" : "" },webcit-9.01-dfsg/static/t/view_mailq/000077500000000000000000000000001254743150300175345ustar00rootroot00000000000000webcit-9.01-dfsg/static/t/view_mailq/footer.html000066400000000000000000000005671254743150300217300ustar00rootroot00000000000000




    webcit-9.01-dfsg/static/t/view_mailq/footer_empty.html000066400000000000000000000003501254743150300231340ustar00rootroot00000000000000








    webcit-9.01-dfsg/static/t/view_mailq/footer_listonly.html000066400000000000000000000000171254743150300236530ustar00rootroot00000000000000 webcit-9.01-dfsg/static/t/view_mailq/header.html000066400000000000000000000027051254743150300216560ustar00rootroot00000000000000

        ; ;
     
    webcit-9.01-dfsg/static/t/view_mailq/message.html000066400000000000000000000006661254743150300220560ustar00rootroot00000000000000


    webcit-9.01-dfsg/static/t/view_mailq/message_bearer.html000066400000000000000000000000601254743150300233620ustar00rootroot00000000000000 webcit-9.01-dfsg/static/t/view_mailq/recipient.html000066400000000000000000000002531254743150300224040ustar00rootroot00000000000000
    webcit-9.01-dfsg/static/t/view_mailq/table.html000066400000000000000000000005201254743150300215060ustar00rootroot00000000000000
    webcit-9.01-dfsg/static/t/view_message.html000066400000000000000000000071451254743150300207520ustar00rootroot00000000000000 webcit-9.01-dfsg/static/t/view_message/000077500000000000000000000000001254743150300200555ustar00rootroot00000000000000webcit-9.01-dfsg/static/t/view_message/inline_attach.html000066400000000000000000000011011254743150300235360ustar00rootroot00000000000000
    " border="0" align="middle" alt=""> (, bytes) [')">| ">]
    " style="display:none">
    webcit-9.01-dfsg/static/t/view_message/list_attach.html000066400000000000000000000007231254743150300232440ustar00rootroot00000000000000" border="0" align="middle" alt=""> (, bytes) [ " target="wc.."> | "> ]
    webcit-9.01-dfsg/static/t/view_message/print.html000066400000000000000000000020641254743150300221010ustar00rootroot00000000000000 <?CURRENT_USER>
    @ ***

    webcit-9.01-dfsg/static/t/view_message/replyquote.html000066400000000000000000000014471254743150300231620ustar00rootroot00000000000000
    "" <> @ ***
    webcit-9.01-dfsg/static/t/view_message/wikiedit.html000066400000000000000000000002241254743150300225520ustar00rootroot00000000000000 webcit-9.01-dfsg/static/t/view_message_edit.html000066400000000000000000000003141254743150300217460ustar00rootroot00000000000000 webcit-9.01-dfsg/static/t/view_submessage.html000066400000000000000000000005411254743150300214550ustar00rootroot00000000000000
    ***

    webcit-9.01-dfsg/static/t/viewomatic.html000066400000000000000000000057471254743150300204510ustar00rootroot00000000000000
    webcit-9.01-dfsg/static/t/vnoteitem.html000066400000000000000000000056211254743150300203030ustar00rootroot00000000000000
    # ')" src="static/webcit_icons/closewindow.gif" alt="x" >
    webcit-9.01-dfsg/static/t/who.html000066400000000000000000000021571254743150300170670ustar00rootroot00000000000000
    webcit-9.01-dfsg/static/t/who/000077500000000000000000000000001254743150300161745ustar00rootroot00000000000000webcit-9.01-dfsg/static/t/who/active_smtpsessions.html000066400000000000000000000002071254743150300231660ustar00rootroot00000000000000
    webcit-9.01-dfsg/static/t/who/activesmtpsessions_one.html000066400000000000000000000006731254743150300236770ustar00rootroot00000000000000

      webcit-9.01-dfsg/static/t/who/bio.html000066400000000000000000000015641254743150300176410ustar00rootroot00000000000000
    " alt="">

    <

    webcit-9.01-dfsg/static/t/who/box_list_static.html000066400000000000000000000004411254743150300222530ustar00rootroot00000000000000
    webcit-9.01-dfsg/static/t/who/edit.html000066400000000000000000000026351254743150300200150ustar00rootroot00000000000000

    ">
    ">
    ">
    ">
    webcit-9.01-dfsg/static/t/who/iconbar.html000066400000000000000000000000611254743150300204740ustar00rootroot00000000000000 webcit-9.01-dfsg/static/t/who/iconbar_section.html000066400000000000000000000002341254743150300222220ustar00rootroot00000000000000
  • ">
  • webcit-9.01-dfsg/static/t/who/list_static_header.html000066400000000000000000000000551254743150300227140ustar00rootroot00000000000000 webcit-9.01-dfsg/static/t/who/section.html000066400000000000000000000033361254743150300205330ustar00rootroot00000000000000   (&edit_config_button=Edit+configuration&nonce=">)  (&edit_abe_button=Edit+address+book+entry">) (<?_()" title=""> "> (p) (<?_(s )" title="(s )"> (<?_()"> "> []

    webcit-9.01-dfsg/static/t/who/summary.html000066400000000000000000000002521254743150300205560ustar00rootroot00000000000000
    webcit-9.01-dfsg/static/t/who/summary_section.html000066400000000000000000000016151254743150300223060ustar00rootroot00000000000000 "> (p) (<?_(s )"> (<?_()"> "> []
    webcit-9.01-dfsg/static/t/wiki/000077500000000000000000000000001254743150300163425ustar00rootroot00000000000000webcit-9.01-dfsg/static/t/wiki/history.html000066400000000000000000000001061254743150300207260ustar00rootroot00000000000000 webcit-9.01-dfsg/static/t/wiki/history_inner.html000066400000000000000000000000271254743150300221230ustar00rootroot00000000000000 webcit-9.01-dfsg/static/t/wiki/pagelist.html000066400000000000000000000000731254743150300210400ustar00rootroot00000000000000 webcit-9.01-dfsg/static/t/wiki/pagelist_inner.html000066400000000000000000000000301254743150300222240ustar00rootroot00000000000000 webcit-9.01-dfsg/static/table.js000066400000000000000000000063311254743150300165640ustar00rootroot00000000000000var categories; /** * Task view table sorter * Written by Mathew McBride * Copyright 2009 The Citadel Team * Licensed under the GPL V3 */ function gatherCategoriesFromTable() { var tbody = document.getElementById("taskview"); var childNodes = tbody.childNodes; for (i=0; i<=childNodes.length; i++) { var child = childNodes[i]; // Should be TR if (child != undefined && child.nodeName == "TR") { var childTds = child.getElementsByTagName("TD"); if (childTds.length == 4) { var categoryTd = childTds[3]; if (categoryTd != undefined) { // Get text child if (categoryTd.childNodes.length > 0 && categoryTd.childNodes[0].nodeType == 3) { categories[categoryTd.childNodes[0].nodeValue] = categoryTd.childNodes[0].nodeValue; } } } } } } function addCategoriesToSelector() { var selector = document.getElementById("selectcategory"); for (description in categories) { var newOptionElement = document.createElement("option"); newOptionElement.setAttribute("value", categories[description]); var text = document.createTextNode(categories[description]); newOptionElement.appendChild(text); selector.appendChild(newOptionElement); } } function filterCategories(event) { hideAllExistingRows(); var selector = document.getElementById("selectcategory"); var selected = selector.selectedIndex; var selectedCategory = selector.options[selected]; var tbody = document.getElementById("taskview"); var cat = selectedCategory.getAttribute("value"); var nodesToUnhide = new Array(); var curIndex = 0; // Hunt down all the rows with this category using XPath if (document.evaluate) { // Only if we can do so, of course var debugText = ""; var toEvaluate = null; if (cat != 'showall') { toEvaluate = "//tr[td='"+cat+"']"; } else { toEvaluate = "//tr[td]"; } var trNodes = document.evaluate(toEvaluate, document, null, XPathResult.ANY_TYPE, null); var trNode = trNodes.iterateNext(); while(trNode) { debugText += "
    "+trNode.nodeName; nodesToUnhide[curIndex++] = trNode; trNode = trNodes.iterateNext(); } } for (i=0;i' + 'StatusTestMessage' + '' + ''; this.logsummary = $('logsummary'); this.loglines = $('loglines'); }, _toHTML: function(txt) { return txt.escapeHTML().replace(/\n/g,"
    "); }, addLinksToResults: function(){ $$("tr.failed .nameCell").each( function(td){ // todo: limit to children of this.log td.title = "Run only this test"; Event.observe(td, 'click', function(){ window.location.search = "?tests=" + td.innerHTML;}); }); $$("tr.passed .nameCell").each( function(td){ // todo: limit to children of this.log td.title = "Run all tests"; Event.observe(td, 'click', function(){ window.location.search = "";}); }); } }; Test.Unit.Runner = Class.create(); Test.Unit.Runner.prototype = { initialize: function(testcases) { this.options = Object.extend({ testLog: 'testlog' }, arguments[1] || {}); this.options.resultsURL = this.parseResultsURLQueryParameter(); this.options.tests = this.parseTestsQueryParameter(); if (this.options.testLog) { this.options.testLog = $(this.options.testLog) || null; } if(this.options.tests) { this.tests = []; for(var i = 0; i < this.options.tests.length; i++) { if(/^test/.test(this.options.tests[i])) { this.tests.push(new Test.Unit.Testcase(this.options.tests[i], testcases[this.options.tests[i]], testcases["setup"], testcases["teardown"])); } } } else { if (this.options.test) { this.tests = [new Test.Unit.Testcase(this.options.test, testcases[this.options.test], testcases["setup"], testcases["teardown"])]; } else { this.tests = []; for(var testcase in testcases) { if(/^test/.test(testcase)) { this.tests.push( new Test.Unit.Testcase( this.options.context ? ' -> ' + this.options.titles[testcase] : testcase, testcases[testcase], testcases["setup"], testcases["teardown"] )); } } } } this.currentTest = 0; this.logger = new Test.Unit.Logger(this.options.testLog); setTimeout(this.runTests.bind(this), 1000); }, parseResultsURLQueryParameter: function() { return window.location.search.parseQuery()["resultsURL"]; }, parseTestsQueryParameter: function(){ if (window.location.search.parseQuery()["tests"]){ return window.location.search.parseQuery()["tests"].split(','); }; }, // Returns: // "ERROR" if there was an error, // "FAILURE" if there was a failure, or // "SUCCESS" if there was neither getResult: function() { var hasFailure = false; for(var i=0;i 0) { return "ERROR"; } if (this.tests[i].failures > 0) { hasFailure = true; } } if (hasFailure) { return "FAILURE"; } else { return "SUCCESS"; } }, postResults: function() { if (this.options.resultsURL) { new Ajax.Request(this.options.resultsURL, { method: 'get', parameters: 'result=' + this.getResult(), asynchronous: false }); } }, runTests: function() { var test = this.tests[this.currentTest]; if (!test) { // finished! this.postResults(); this.logger.summary(this.summary()); return; } if(!test.isWaiting) { this.logger.start(test.name); } test.run(); if(test.isWaiting) { this.logger.message("Waiting for " + test.timeToWait + "ms"); setTimeout(this.runTests.bind(this), test.timeToWait || 1000); } else { this.logger.finish(test.status(), test.summary()); this.currentTest++; // tail recursive, hopefully the browser will skip the stackframe this.runTests(); } }, summary: function() { var assertions = 0; var failures = 0; var errors = 0; var messages = []; for(var i=0;i 0) return 'failed'; if (this.errors > 0) return 'error'; return 'passed'; }, assert: function(expression) { var message = arguments[1] || 'assert: got "' + Test.Unit.inspect(expression) + '"'; try { expression ? this.pass() : this.fail(message); } catch(e) { this.error(e); } }, assertEqual: function(expected, actual) { var message = arguments[2] || "assertEqual"; try { (expected == actual) ? this.pass() : this.fail(message + ': expected "' + Test.Unit.inspect(expected) + '", actual "' + Test.Unit.inspect(actual) + '"'); } catch(e) { this.error(e); } }, assertInspect: function(expected, actual) { var message = arguments[2] || "assertInspect"; try { (expected == actual.inspect()) ? this.pass() : this.fail(message + ': expected "' + Test.Unit.inspect(expected) + '", actual "' + Test.Unit.inspect(actual) + '"'); } catch(e) { this.error(e); } }, assertEnumEqual: function(expected, actual) { var message = arguments[2] || "assertEnumEqual"; try { $A(expected).length == $A(actual).length && expected.zip(actual).all(function(pair) { return pair[0] == pair[1] }) ? this.pass() : this.fail(message + ': expected ' + Test.Unit.inspect(expected) + ', actual ' + Test.Unit.inspect(actual)); } catch(e) { this.error(e); } }, assertNotEqual: function(expected, actual) { var message = arguments[2] || "assertNotEqual"; try { (expected != actual) ? this.pass() : this.fail(message + ': got "' + Test.Unit.inspect(actual) + '"'); } catch(e) { this.error(e); } }, assertIdentical: function(expected, actual) { var message = arguments[2] || "assertIdentical"; try { (expected === actual) ? this.pass() : this.fail(message + ': expected "' + Test.Unit.inspect(expected) + '", actual "' + Test.Unit.inspect(actual) + '"'); } catch(e) { this.error(e); } }, assertNotIdentical: function(expected, actual) { var message = arguments[2] || "assertNotIdentical"; try { !(expected === actual) ? this.pass() : this.fail(message + ': expected "' + Test.Unit.inspect(expected) + '", actual "' + Test.Unit.inspect(actual) + '"'); } catch(e) { this.error(e); } }, assertNull: function(obj) { var message = arguments[1] || 'assertNull'; try { (obj==null) ? this.pass() : this.fail(message + ': got "' + Test.Unit.inspect(obj) + '"'); } catch(e) { this.error(e); } }, assertMatch: function(expected, actual) { var message = arguments[2] || 'assertMatch'; var regex = new RegExp(expected); try { (regex.exec(actual)) ? this.pass() : this.fail(message + ' : regex: "' + Test.Unit.inspect(expected) + ' did not match: ' + Test.Unit.inspect(actual) + '"'); } catch(e) { this.error(e); } }, assertHidden: function(element) { var message = arguments[1] || 'assertHidden'; this.assertEqual("none", element.style.display, message); }, assertNotNull: function(object) { var message = arguments[1] || 'assertNotNull'; this.assert(object != null, message); }, assertType: function(expected, actual) { var message = arguments[2] || 'assertType'; try { (actual.constructor == expected) ? this.pass() : this.fail(message + ': expected "' + Test.Unit.inspect(expected) + '", actual "' + (actual.constructor) + '"'); } catch(e) { this.error(e); } }, assertNotOfType: function(expected, actual) { var message = arguments[2] || 'assertNotOfType'; try { (actual.constructor != expected) ? this.pass() : this.fail(message + ': expected "' + Test.Unit.inspect(expected) + '", actual "' + (actual.constructor) + '"'); } catch(e) { this.error(e); } }, assertInstanceOf: function(expected, actual) { var message = arguments[2] || 'assertInstanceOf'; try { (actual instanceof expected) ? this.pass() : this.fail(message + ": object was not an instance of the expected type"); } catch(e) { this.error(e); } }, assertNotInstanceOf: function(expected, actual) { var message = arguments[2] || 'assertNotInstanceOf'; try { !(actual instanceof expected) ? this.pass() : this.fail(message + ": object was an instance of the not expected type"); } catch(e) { this.error(e); } }, assertRespondsTo: function(method, obj) { var message = arguments[2] || 'assertRespondsTo'; try { (obj[method] && typeof obj[method] == 'function') ? this.pass() : this.fail(message + ": object doesn't respond to [" + method + "]"); } catch(e) { this.error(e); } }, assertReturnsTrue: function(method, obj) { var message = arguments[2] || 'assertReturnsTrue'; try { var m = obj[method]; if(!m) m = obj['is'+method.charAt(0).toUpperCase()+method.slice(1)]; m() ? this.pass() : this.fail(message + ": method returned false"); } catch(e) { this.error(e); } }, assertReturnsFalse: function(method, obj) { var message = arguments[2] || 'assertReturnsFalse'; try { var m = obj[method]; if(!m) m = obj['is'+method.charAt(0).toUpperCase()+method.slice(1)]; !m() ? this.pass() : this.fail(message + ": method returned true"); } catch(e) { this.error(e); } }, assertRaise: function(exceptionName, method) { var message = arguments[2] || 'assertRaise'; try { method(); this.fail(message + ": exception expected but none was raised"); } catch(e) { ((exceptionName == null) || (e.name==exceptionName)) ? this.pass() : this.error(e); } }, assertElementsMatch: function() { var expressions = $A(arguments), elements = $A(expressions.shift()); if (elements.length != expressions.length) { this.fail('assertElementsMatch: size mismatch: ' + elements.length + ' elements, ' + expressions.length + ' expressions'); return false; } elements.zip(expressions).all(function(pair, index) { var element = $(pair.first()), expression = pair.last(); if (element.match(expression)) return true; this.fail('assertElementsMatch: (in index ' + index + ') expected ' + expression.inspect() + ' but got ' + element.inspect()); }.bind(this)) && this.pass(); }, assertElementMatches: function(element, expression) { this.assertElementsMatch([element], expression); }, benchmark: function(operation, iterations) { var startAt = new Date(); (iterations || 1).times(operation); var timeTaken = ((new Date())-startAt); this.info((arguments[2] || 'Operation') + ' finished ' + iterations + ' iterations in ' + (timeTaken/1000)+'s' ); return timeTaken; }, _isVisible: function(element) { element = $(element); if(!element.parentNode) return true; this.assertNotNull(element); if(element.style && Element.getStyle(element, 'display') == 'none') return false; return this._isVisible(element.parentNode); }, assertNotVisible: function(element) { this.assert(!this._isVisible(element), Test.Unit.inspect(element) + " was not hidden and didn't have a hidden parent either. " + ("" || arguments[1])); }, assertVisible: function(element) { this.assert(this._isVisible(element), Test.Unit.inspect(element) + " was not visible. " + ("" || arguments[1])); }, benchmark: function(operation, iterations) { var startAt = new Date(); (iterations || 1).times(operation); var timeTaken = ((new Date())-startAt); this.info((arguments[2] || 'Operation') + ' finished ' + iterations + ' iterations in ' + (timeTaken/1000)+'s' ); return timeTaken; } }; Test.Unit.Testcase = Class.create(); Object.extend(Object.extend(Test.Unit.Testcase.prototype, Test.Unit.Assertions.prototype), { initialize: function(name, test, setup, teardown) { Test.Unit.Assertions.prototype.initialize.bind(this)(); this.name = name; if(typeof test == 'string') { test = test.gsub(/(\.should[^\(]+\()/,'#{0}this,'); test = test.gsub(/(\.should[^\(]+)\(this,\)/,'#{1}(this)'); this.test = function() { eval('with(this){'+test+'}'); } } else { this.test = test || function() {}; } this.setup = setup || function() {}; this.teardown = teardown || function() {}; this.isWaiting = false; this.timeToWait = 1000; }, wait: function(time, nextPart) { this.isWaiting = true; this.test = nextPart; this.timeToWait = time; }, run: function() { try { try { if (!this.isWaiting) this.setup.bind(this)(); this.isWaiting = false; this.test.bind(this)(); } finally { if(!this.isWaiting) { this.teardown.bind(this)(); } } } catch(e) { this.error(e); } } }); // *EXPERIMENTAL* BDD-style testing to please non-technical folk // This draws many ideas from RSpec http://rspec.rubyforge.org/ Test.setupBDDExtensionMethods = function(){ var METHODMAP = { shouldEqual: 'assertEqual', shouldNotEqual: 'assertNotEqual', shouldEqualEnum: 'assertEnumEqual', shouldBeA: 'assertType', shouldNotBeA: 'assertNotOfType', shouldBeAn: 'assertType', shouldNotBeAn: 'assertNotOfType', shouldBeNull: 'assertNull', shouldNotBeNull: 'assertNotNull', shouldBe: 'assertReturnsTrue', shouldNotBe: 'assertReturnsFalse', shouldRespondTo: 'assertRespondsTo' }; var makeAssertion = function(assertion, args, object) { this[assertion].apply(this,(args || []).concat([object])); }; Test.BDDMethods = {}; $H(METHODMAP).each(function(pair) { Test.BDDMethods[pair.key] = function() { var args = $A(arguments); var scope = args.shift(); makeAssertion.apply(scope, [pair.value, args, this]); }; }); [Array.prototype, String.prototype, Number.prototype, Boolean.prototype].each( function(p){ Object.extend(p, Test.BDDMethods) } ); }; Test.context = function(name, spec, log){ Test.setupBDDExtensionMethods(); var compiledSpec = {}; var titles = {}; for(specName in spec) { switch(specName){ case "setup": case "teardown": compiledSpec[specName] = spec[specName]; break; default: var testName = 'test'+specName.gsub(/\s+/,'-').camelize(); var body = spec[specName].toString().split('\n').slice(1); if(/^\{/.test(body[0])) body = body.slice(1); body.pop(); body = body.map(function(statement){ return statement.strip() }); compiledSpec[testName] = body.join('\n'); titles[testName] = specName; } } new Test.Unit.Runner(compiledSpec, { titles: titles, testLog: log || 'testlog', context: name }); }; webcit-9.01-dfsg/static/util.js000066400000000000000000000332271254743150300164560ustar00rootroot00000000000000// small but works-for-me stuff for testing javascripts // not ready for "production" use Object.inspect = function(obj) { var info = []; if(typeof obj in ["string","number"]) { return obj; } else { for(property in obj) if(typeof obj[property]!="function") info.push(property + ' => ' + (typeof obj[property] == "string" ? '"' + obj[property] + '"' : obj[property])); } return ("'" + obj + "' #" + typeof obj + ": {" + info.join(", ") + "}"); } // borrowed from http://www.schuerig.de/michael/javascript/stdext.js // Copyright (c) 2005, Michael Schuerig, michael@schuerig.de // License // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 2.1 of the // See http://www.gnu.org/copyleft/lesser.html Array.flatten = function(array, excludeUndefined) { if (excludeUndefined === undefined) { excludeUndefined = false; } var result = []; var len = array.length; for (var i = 0; i < len; i++) { var el = array[i]; if (el instanceof Array) { var flat = el.flatten(excludeUndefined); result = result.concat(flat); } else if (!excludeUndefined || el != undefined) { result.push(el); } } return result; }; if (!Array.prototype.flatten) { Array.prototype.flatten = function(excludeUndefined) { return Array.flatten(this, excludeUndefined); } } /*--------------------------------------------------------------------------*/ var Builder = { node: function(elementName) { var element = document.createElement('div'); element.innerHTML = "<" + elementName + ">"; // attributes (or text) if(arguments[1]) if(this._isStringOrNumber(arguments[1]) || (arguments[1] instanceof Array)) { this._children(element.firstChild, arguments[1]); } else { var attrs = this._attributes(arguments[1]); if(attrs.length) element.innerHTML = "<" +elementName + " " + attrs + ">"; } // text, or array of children if(arguments[2]) this._children(element.firstChild, arguments[2]); return element.firstChild; }, _text: function(text) { return document.createTextNode(text); }, _attributes: function(attributes) { var attrs = []; for(attribute in attributes) attrs.push((attribute=='className' ? 'class' : attribute) + '="' + attributes[attribute].toString().escapeHTML() + '"'); return attrs.join(" "); }, _children: function(element, children) { if(typeof children=='object') { // array can hold nodes and text children = children.flatten(); for(var i = 0; i 0 ? ' ' : '') + arguments[i]; } }, // returns true if all given classes exist in said element has: function(element) { element = $(element); if(!element || !element.className) return false; var regEx; for(var i = 1; i < arguments.length; i++) { if((typeof arguments[i] == 'object') && (arguments[i].constructor == Array)) { for(var j = 0; j < arguments[i].length; j++) { regEx = new RegExp("(^|\\s)" + arguments[i][j] + "(\\s|$)"); if(!regEx.test(element.className)) return false; } } else { regEx = new RegExp("(^|\\s)" + arguments[i] + "(\\s|$)"); if(!regEx.test(element.className)) return false; } } return true; }, // expects arrays of strings and/or strings as optional paramters // Element.Class.has_any(element, ['classA','classB','classC'], 'classD') has_any: function(element) { element = $(element); if(!element || !element.className) return false; var regEx; for(var i = 1; i < arguments.length; i++) { if((typeof arguments[i] == 'object') && (arguments[i].constructor == Array)) { for(var j = 0; j < arguments[i].length; j++) { regEx = new RegExp("(^|\\s)" + arguments[i][j] + "(\\s|$)"); if(regEx.test(element.className)) return true; } } else { regEx = new RegExp("(^|\\s)" + arguments[i] + "(\\s|$)"); if(regEx.test(element.className)) return true; } } return false; }, childrenWith: function(element, className) { var children = $(element).getElementsByTagName('*'); var elements = new Array(); for (var i = 0; i < children.length; i++) { if (Element.Class.has(children[i], className)) { elements.push(children[i]); break; } } return elements; } } /*--------------------------------------------------------------------------*/ String.prototype.parseQuery = function() { var str = this; if(str.substring(0,1) == '?') { str = this.substring(1); } var result = {}; var pairs = str.split('&'); for(var i = 0; i < pairs.length; i++) { var pair = pairs[i].split('='); result[pair[0]] = pair[1]; } return result; }webcit-9.01-dfsg/static/wclib.js000066400000000000000000000714651254743150300166070ustar00rootroot00000000000000/* * JavaScript function library for WebCit. * * Copyright (c) 2005-2012 by the citadel.org team * * This program is open source software: you can redistribute it and/or modify * it under the terms of the GNU General Public License, version 3. * the Free Software Foundation, either version 3 of the License, or * * * 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. * * * along with this program. If not, see . */ var browserType; var room_is_trash = 0; var currentlyExpandedFloor = null; var roomlist = null; var currentDropTarget = null; var supportsAddEventListener = (!!document.addEventListener); var today = new Date(); var wc_log = ""; if (document.all) {browserType = "ie"} if (window.navigator.userAgent.toLowerCase().match("gecko")) { browserType= "gecko"; } var ns6=document.getElementById&&!document.all; Event.observe(window, 'load', ToggleTaskDateOrNoDateActivate); Event.observe(window, 'load', taskViewActivate); //document.observe("dom:loaded", setupPrefEngine); document.observe("dom:loaded", setupIconBar); function CtdlRandomString() { return((Math.random()+'').substr(3)); } function strcmp ( str1, str2 ) { // http://kevin.vanzonneveld.net // + original by: Waldo Malqui Silva // + input by: Steve Hilder // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + revised by: gorthaur // * example 1: strcmp( 'waldo', 'owald' ); // * returns 1: 1 // * example 2: strcmp( 'owald', 'waldo' ); // * returns 2: -1 return ( ( str1 == str2 ) ? 0 : ( ( str1 > str2 ) ? 1 : -1 ) ); } function CtdlMarkLog($Which, $Status) { if ($Status) document.getElementById($Which).checked == false; else document.getElementById($Which).checked == true; } function ToggleLogEnable($Which) { var p; var Status = !document.getElementById($Which).checked; if (Status) p= encodeURI('g_cmd=LOGS ' + $Which + '|0'); else p= encodeURI('g_cmd=LOGS ' + $Which + '|1'); new Ajax.Request('ajax_servcmd', { method: 'post', parameters: p, onComplete: CtdlMarkLog($Which, Status) }); } function SMTPRunQueue() { var p; p= encodeURI('g_cmd=SMTP runqueue'); new Ajax.Request('ajax_servcmd', { method: 'post', parameters: p, onComplete: function(transport) { ajax_important_message(transport.responseText.substr(4));} }); } function NetworkSynchronizeRoom(NodeName) { var p; p= encodeURI('g_cmd=NSYN ' + NodeName); new Ajax.Request('ajax_servcmd', { method: 'post', parameters: p, onComplete: function(transport) { ajax_important_message(transport.responseText.substr(4));} }); } function ToggleVisibility ($Which) { if (document.getElementById) { if (document.getElementById($Which).style.display == "none") document.getElementById($Which).style.display = "inline"; else document.getElementById($Which).style.display = "none"; } } function emptyElement(element) { childNodes = element.childNodes; for(var i=0; i 0) { for (i=0; i= 0) { extracted_string = extracted_string.substr(j+1); } } } j = extracted_string.indexOf(delimiter); if (j >= 0) { extracted_string = extracted_string.substr(0, j); } return extracted_string; } function CtdlSpawnContextMenu(event, source) { // remove any existing menus disintergrateContextMenus(null); var x = event.clientX-10; // cut a few pixels out so our mouseout works right var y = event.clientY-10; var contextDIV = document.createElement("div"); contextDIV.setAttribute("id", "ctdlContextMenu"); document.body.appendChild(contextDIV); var sourceChildren = source.childNodes; for(var j=0; j 800) { var mvCommand = "g_cmd=MOVE%20" + msgIds + "|"+encodeURIComponent(room)+"|0"; new Ajax.Request("ajax_servcmd", { parameters: mvCommand, method: 'post', }); msgIds = ""; } } var mvCommand = "g_cmd=MOVE%20" + msgIds + "|"+encodeURIComponent(room)+"|0"; new Ajax.Request('ajax_servcmd', { method: 'post', parameters: mvCommand, onComplete: deleteAllMarkedRows()}); } } function expandFloorEvent(event) { expandFloor(event.target); } function expandFloor(target) { if (target.nodeName.toLowerCase() != "span") { return; // ignore clicks on child UL } ctdlLocalPrefs.setPref("rooms_expanded", target.firstChild.nodeValue); var parentUL = target.parentNode; if (currentlyExpandedFloor != null) { currentlyExpandedFloor.className = currentlyExpandedFloor.className.replace("floor-expanded",""); } parentUL.className = parentUL.className + " floor-expanded"; currentlyExpandedFloor = parentUL; } // These functions handle moving sticky notes around the screen by dragging them var uid_of_note_being_dragged = 0; var saved_cursor_style = 'default'; var note_was_dragged = 0; function NotesDragMouseUp(evt) { document.onmouseup = null; document.onmousemove = null; if (document.layers) { document.releaseEvents(Event.MOUSEUP | Event.MOUSEMOVE); } d = $('note-' + uid_of_note_being_dragged); d.style.cursor = saved_cursor_style; // If any motion actually occurred, submit an ajax http call to record it to the server if (note_was_dragged > 0) { p = 'note_uid=' + uid_of_note_being_dragged + '&left=' + d.style.left + '&top=' + d.style.top + '&r=' + CtdlRandomString(); new Ajax.Request( 'ajax_update_note', { method: 'post', parameters: p } ); } uid_of_note_being_dragged = ''; return true; } function NotesDragMouseMove(evt) { x = (ns6 ? evt.clientX : event.clientX); x_increment = x - saved_x; y = (ns6 ? evt.clientY : event.clientY); y_increment = y - saved_y; // Move the div d = $('note-' + uid_of_note_being_dragged); divTop = parseInt(d.style.top); divLeft = parseInt(d.style.left); d.style.top = (divTop + y_increment) + 'px'; d.style.left = (divLeft + x_increment) + 'px'; saved_x = x; saved_y = y; note_was_dragged = 1; return true; } function NotesDragMouseDown(evt, uid) { saved_x = (ns6 ? evt.clientX : event.clientX); saved_y = (ns6 ? evt.clientY : event.clientY); document.onmouseup = NotesDragMouseUp; document.onmousemove = NotesDragMouseMove; if (document.layers) { document.captureEvents(Event.MOUSEUP | Event.MOUSEMOVE); } uid_of_note_being_dragged = uid; d = $('note-' + uid_of_note_being_dragged); saved_cursor_style = d.style.cursor; d.style.cursor = 'move'; return false; // disable the default action } // Called when the user clicks on the palette icon of a sticky note to change its color. // It toggles the color selector visible or invisible. function NotesClickPalette(evt, uid) { uid_of_note_being_colored = uid; d = $('palette-' + uid_of_note_being_colored); if (d.style.display) { if (d.style.display == 'none') { d.style.display = 'block'; } else { d.style.display = 'none'; } } else { d.style.display = 'block'; } return true; } // Called when the user clicks on one of the colors in an open color selector. // Sets the desired color and then closes the color selector. function NotesClickColor(evt, uid, red, green, blue, notecolor, titlecolor) { uid_of_note_being_colored = uid; palette_button = $('palette-' + uid_of_note_being_colored); note_div = $('note-' + uid_of_note_being_colored); titlebar_div = $('titlebar-' + uid_of_note_being_colored); // alert('FIXME red=' + red + ' green=' + green + ' blue=' + blue); note_div.style.backgroundColor = notecolor; titlebar_div.style.backgroundColor = titlecolor; palette_button.style.display = 'none'; // submit an ajax http call to record it to the server p = 'note_uid=' + uid_of_note_being_colored + '&red=' + red + '&green=' + green + '&blue=' + blue + '&r=' + CtdlRandomString(); new Ajax.Request( 'ajax_update_note', { method: 'post', parameters: p } ); } // These functions handle resizing sticky notes by dragging the resize handle var uid_of_note_being_resized = 0; var saved_cursor_style = 'default'; var note_was_resized = 0; function NotesResizeMouseUp(evt) { document.onmouseup = null; document.onmousemove = null; if (document.layers) { document.releaseEvents(Event.MOUSEUP | Event.MOUSEMOVE); } d = $('note-' + uid_of_note_being_resized); d.style.cursor = saved_cursor_style; // If any motion actually occurred, submit an ajax http call to record it to the server if (note_was_resized > 0) { p = 'note_uid=' + uid_of_note_being_resized + '&width=' + d.style.width + '&height=' + d.style.height + '&r=' + CtdlRandomString(); new Ajax.Request( 'ajax_update_note', { method: 'post', parameters: p } ); } uid_of_note_being_resized = ''; return false; // disable the default action } function NotesResizeMouseMove(evt) { x = (ns6 ? evt.clientX : event.clientX); x_increment = x - saved_x; y = (ns6 ? evt.clientY : event.clientY); y_increment = y - saved_y; // Move the div d = $('note-' + uid_of_note_being_resized); divTop = parseInt(d.style.height); divLeft = parseInt(d.style.width); newHeight = divTop + y_increment; if (newHeight < 50) newHeight = 50; newWidth = divLeft + x_increment; if (newWidth < 50) newWidth = 50; d.style.height = newHeight + 'px'; d.style.width = newWidth + 'px'; saved_x = x; saved_y = y; note_was_resized = 1; return false; // disable the default action } function NotesResizeMouseDown(evt, uid) { saved_x = (ns6 ? evt.clientX : event.clientX); saved_y = (ns6 ? evt.clientY : event.clientY); document.onmouseup = NotesResizeMouseUp; document.onmousemove = NotesResizeMouseMove; if (document.layers) { document.captureEvents(Event.MOUSEUP | Event.MOUSEMOVE); } uid_of_note_being_resized = uid; d = $('note-' + uid_of_note_being_resized); saved_cursor_style = d.style.cursor; d.style.cursor = 'move'; return false; // disable the default action } function DeleteStickyNote(evt, uid, confirmation_prompt) { uid_of_note_being_deleted = uid; d = $('note-' + uid_of_note_being_deleted); if (confirm(confirmation_prompt)) { new Effect.Puff(d); // submit an ajax http call to delete it on the server p = 'note_uid=' + uid_of_note_being_deleted + '&deletenote=yes' + '&r=' + CtdlRandomString(); new Ajax.Request( 'ajax_update_note', { method: 'post', parameters: p } ); } } function ctdl_ts_getInnerText(el) { if (typeof el == "string") return el; if (typeof el == "undefined") { return el }; if (el.innerText) return el.innerText; //Not needed but it is faster var str = ""; var cs = el.childNodes; var l = cs.length; for (var i = 0; i < l; i++) { switch (cs[i].nodeType) { case 1: //ELEMENT_NODE str += ts_getInnerText(cs[i]); break; case 3: //TEXT_NODE str += cs[i].nodeValue; break; } } return str; } // Place a gradient loadscreen on an element, e.g to use before Ajax.updater function CtdlLoadScreen(elementid) { var elem = document.getElementById(elementid); elem.innerHTML = "

      Loading....

    "; } // Pop open the address book (target_input is the INPUT field to populate) function PopOpenAddressBook(target_input) { $('address_book_popup').style.display = 'block'; p = 'target_input=' + target_input + '&r=' + CtdlRandomString(); new Ajax.Updater( 'address_book_popup_middle_div', 'do_template?template=addressbook_list', { method: 'get', parameters: p, evalScripts: true } ); } function PopulateAddressBookInnerDiv(which_addr_book, target_input) { $('address_book_inner_div').innerHTML = "

      Loading....

    "; p = 'which_addr_book=' + which_addr_book + '&target_input=' + target_input + '&r=' + CtdlRandomString() + "&template=addressbook_namelist"; new Ajax.Updater( 'address_book_inner_div', 'do_template', { method: 'get', parameters: p } ); } // What happens when a contact is selected from the address book popup // (populate the specified target) function AddContactsToTarget(target, whichaddr) { while (whichaddr.selectedIndex != -1) { if (target.value.length > 0) { target.value = target.value + ', '; } target.value = target.value + whichaddr.value; whichaddr.options[whichaddr.selectedIndex].selected = false; } } // Respond to a meeting invitation function RespondToInvitation(question_divname, title_divname, msgnum, cal_partnum, sc) { p = 'msgnum=' + msgnum + '&cal_partnum=' + cal_partnum + '&sc=' + sc ; new Ajax.Updater(title_divname, 'respond_to_request', { method: 'post', parameters: p } ); Effect.Fade(question_divname, { duration: 0.5 }); } // Handle a received RSVP function HandleRSVP(question_divname, title_divname, msgnum, cal_partnum, sc) { p = 'msgnum=' + msgnum + '&cal_partnum=' + cal_partnum + '&sc=' + sc ; new Ajax.Updater(title_divname, 'handle_rsvp', { method: 'post', parameters: p } ); Effect.Fade(question_divname, { duration: 0.5 }); } /* var fakeMouse = document.createEvent("MouseEvents"); fakeMouse.initMouseEvent("click", true, true, window, 0,0,0,0,0, false, false, false, false, 0, null); */ // TODO: Collapse into one function function toggleTaskDtStart(event) { var checkBox = $('nodtstart'); var checkBoxTime = $('dtstart_time_assoc'); var dtstart = document.getElementById("dtstart"); var dtstart_date = document.getElementById("dtstart_date"); var dtstart_time = document.getElementById("dtstart_time"); if (checkBox.checked) { dtstart_date.style.visibility = "hidden"; dtstart_time.style.visibility = "hidden"; } else { if (checkBoxTime.checked) { dtstart_time.style.visibility = "visible"; } else { dtstart_time.style.visibility = "hidden"; } dtstart_date.style.visibility = "visible"; if (dtstart.value.length == 0) dtstart.dpck._initCurrentDate(); } } function toggleTaskDue(event) { var checkBox = $('nodue'); var checkBoxTime = $('due_time_assoc'); var due = document.getElementById("due"); var due_date = document.getElementById("due_date"); var due_time = document.getElementById("due_time"); if (checkBox.checked) { due_date.style.visibility = "hidden"; due_time.style.visibility = "hidden"; } else { if (checkBoxTime.checked) { due_time.style.visibility = "visible"; } else { due_time.style.visibility = "hidden"; } due_date.style.visibility = "visible"; if (due.value.length == 0) due.dpck._initCurrentDate(); } } function ToggleTaskDateOrNoDateActivate(event) { var dtstart = document.getElementById("nodtstart"); if (dtstart != null) { toggleTaskDtStart(null); toggleTaskDue(null); $('nodtstart').observe('click', toggleTaskDtStart); $('dtstart_time_assoc').observe('click', toggleTaskDtStart); $('nodue').observe('click', toggleTaskDue); $('due_time_assoc').observe('click', toggleTaskDue); } } function TaskViewGatherCategoriesFromTable() { var table = $('taskview'); } function attachDatePicker(relative) { var dpck = new DatePicker({ relative: relative, language: 'en', //wclang.substr(0,2), disableFutureDate: false, dateFormat: [ ["yyyy", "mm", "dd"], "-"], showDuration: 0.2 }); document.getElementById(relative).dpck = dpck; // attach a ref to it } function eventEditAllDay() { var allDayCheck = document.getElementById("alldayevent"); var dtend_time = document.getElementById("dtend_time"); var dtstart_time = document.getElementById("dtstart_time"); if(allDayCheck.checked) { dtstart_time.style.visibility = "hidden"; dtend_time.style.visibility = "hidden"; } else { dtstart_time.style.visibility = "visible"; dtend_time.style.visibility = "visible"; } } // Functions which handle show/hide of various elements in the recurrence editor function RecurrenceShowHide() { if ($('is_recur').checked) { $('rrule_div').style.display = 'block'; } else { $('rrule_div').style.display = 'none'; } if ($('freq_selector').selectedIndex == 4) { $('weekday_selector').style.display = 'block'; } else { $('weekday_selector').style.display = 'none'; } if ($('freq_selector').selectedIndex == 5) { $('monthday_selector').style.display = 'block'; } else { $('monthday_selector').style.display = 'none'; } if ($('rrend_count').checked) { $('rrcount').disabled = false; } else { $('rrcount').disabled = true; } if ($('rrend_until').checked) { $('rruntil').disabled = false; } else { $('rruntil').disabled = true; } if ($('rrmonthtype_mday').checked) { $('rrmday').disabled = false; } else { $('rrmday').disabled = true; } if ($('rrmonthtype_wday').checked) { $('rrmweek').disabled = false; $('rrmweekday').disabled = false; } else { $('rrmweek').disabled = true; $('rrmweekday').disabled = true; } if ($('freq_selector').selectedIndex == 6) { $('yearday_selector').style.display = 'block'; } else { $('yearday_selector').style.display = 'none'; } $('ymday').innerHTML = 'XXXX-' + $('dtstart').value.substr(5); $('rrmday').innerHTML = $('dtstart').value.substr(8); if ($('rryeartype_ywday').checked) { $('rrymweek').disabled = false; $('rrymweekday').disabled = false; $('rrymonth').disabled = false; } else { $('rrymweek').disabled = true; $('rrymweekday').disabled = true; $('rrymonth').disabled = true; } } // Enable or disable the 'check attendee availability' button depending on whether // the attendees list is empty function EnableOrDisableCheckButton() { if ($('attendees_box').value.length == 0) { $('check_button').disabled = true; } else { $('check_button').disabled = false; } } function launchChat(event) { window.open('chat', 'ctdl_chat_window', 'toolbar=no,location=no,directories=no,copyhistory=no,status=no,scrollbars=yes,resizable=yes'); } // logger function WCLog(msg) { if (!!window.console && !!console.log) { console.log(msg); } else if (!!window.opera && !!opera.postError) { opera.postError(msg); } else { wc_log += msg + "\r\n"; } } function RefreshSMTPqueueDisplay() { new Ajax.Updater('mailqueue_list', 'dotskip?room=__CitadelSMTPspoolout__&view=11&ListOnly=yes', { method: 'get', parameters: Math.random() } ); } function DeleteSMTPqueueMsg(msgnum1, msgnum2) { var p = encodeURI('g_cmd=DELE ' + msgnum1 + ',' + msgnum2); new Ajax.Request( 'ajax_servcmd', { method: 'post', parameters: p, onComplete: function(transport) { ajax_important_message(transport.responseText.substr(4)); RefreshSMTPqueueDisplay();} } ); } function ConfirmLogoff() { new Ajax.Updater( 'md-content', 'do_template?template=confirmlogoff', { method: 'get', evalScripts: true, onSuccess: function(cl_success) { toggleModal(1); } } ); } function switch_to_lang(new_lang) { p = 'push?url=' + encodeURI(window.location); new Ajax.Request(p, { method: 'get' } ); window.location = 'switch_language?lang=' + new_lang ; } function toggle_roomlist() { /* WARNING: VILE, SLEAZY HACK. We determine the state of the box based on the image loaded. */ if ( $('expand_roomlist').src.substring($('expand_roomlist').src.length - 12) == "collapse.gif" ) { $('roomlist').style.display = 'none'; $('expand_roomlist').src = 'static/webcit_icons/expand.gif'; wstate=0; } else { $('roomlist').style.display = 'block'; $('expand_roomlist').src = 'static/webcit_icons/collapse.gif'; $('roomlist').innerHTML = ''; FillRooms(IconBarRoomList); wstate=1; } // tell the server what I did p = 'toggle_roomlist_expanded_state?wstate=' + wstate + '?rand=' + Math.random() ; new Ajax.Request(p, { method: 'get' } ); return false; /* this prevents the click from registering as a roomlist button press */ } function toggle_wholist() { /* WARNING: VILE, SLEAZY HACK. We determine the state of the box based on the image loaded. */ if ( $('expand_wholist').src.substring($('expand_wholist').src.length - 12) == "collapse.gif" ) { $('online_users').style.display = 'none'; $('expand_wholist').src = 'static/webcit_icons/expand.gif'; wstate=0; } else { $('online_users').style.display = 'block'; $('expand_wholist').src = 'static/webcit_icons/collapse.gif'; activate_iconbar_wholist_populat0r(); wstate=1; } // tell the server what I did p = 'toggle_wholist_expanded_state?wstate=' + wstate + '?rand=' + Math.random() ; new Ajax.Request(p, { method: 'get' } ); return false; /* this prevents the click from registering as a wholist button press */ } webcit-9.01-dfsg/static/wcpref.js000066400000000000000000000042071254743150300167630ustar00rootroot00000000000000/* * Copyright 2005 - 2009 The Citadel Team * Licensed under the GPL V3 * Webcit preference code */ var persistentStorage = false; /* DOM5 storage disabled for now.. we want localStorage which isn't as widely available yet */ //if (window.sessionStorage) { // persistentStorage = true; //} function WCPrefs() { this.cookieValCache = new Object(); this.noExpire = "Mon, 18 Jan 2038 5:14:07 AM"; } function readPref(name) { if (persistentStorage) { return sessionStorage.getItem(name); } else { return this.cookieValCache[name]; } } function setPref(name, value) { if (persistentStorage) { sessionStorage.setItem(name, value); } else { document.cookie = "WC_" + name + "="+value+";expires="+this.noExpire; // this.cookieValCache[name] = value; //this.saveLocal(); } } function loadLocal() { if (!persistentStorage) { var cookies = document.cookie.split(";"); for(var i=0; i¢ñážõãäà²Î®C…¯ÅJÈl2ÄC,ЦRÙØƒ–hÚ¥Føöù ʺk?¢~¬ˆåÖæ–žyóÖ ÅÐXéÏ®êK†ZÁ6Ó¨2À¥<éÊCÇx*ÛÆLþáPÁ *“fŨ:ǕеQËVÙWLïçx¾¸YpK©&ÿûvñé²Å¥3Þ½J—m– µ…1‡´½ Žbæ¼8„[ÝËSϸJÿÝ1šm¸–,à±›ëákçØtÔ¾Z¾ŒÎ³?±´j«…ì×[äÎVxÔÂ"Þº0õñ£ÉATk¡Õ°P©ƒÉ´S“n¦s™fÆ— ¿œ/“h™i·–.‰\j®1Õ¶@ìÒDÄR%ž| ÿá\ɪ;Ï·[âÏZíåjÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ùÿ,æÿ ü%ŠI’ \øoƒp"Ä™H…ᇠ°|!"; ‚#‡ . Xé⣠þdâÄ >ŠXAAƒ•˜QAàFZ¨A³ç„˜æŒà3¥ 2ŒTñÓäç?ܤaSÁà ,”Ѓ8€˜¸ÉsåJ@ÑóB’:1¼,x„Çk( “‚ *vÈ4S )HjÚâ• •-eÈü3ÀLŠ%NÚÆ¤rÆŽ.ˆ¹2GõÀ—¬¼éӆÛŸ1>N<8ÃÅ ;webcit-9.01-dfsg/static/webcit_icons/aol-32x32.gif000066400000000000000000000031741254743150300216320ustar00rootroot00000000000000GIF89a çÜ      !"'(  *!+"###.$$$$%%%'''((()))4*+++8-9----111222333A4444555:::<<===>>>P@UDCCCYGFFFIII^KJJJNNNdPfQfRQQQhSRRRoXu]\\\x_^^^y`za```fffggghhh…jjjjnnnpppqqq’ttttvvvšzyyy||| }}} €¡€~~~¦„‚‚‚¬‰‡‡‡‰‰‰ŠŠŠ‹‹‹³Žµ·’¸’¸“”””•••–––———ÁšÂš˜˜˜™™™šššÆžÇžœœœžžžŸŸŸË¢   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦Õ©§§§¨¨¨×«Ø¬©©©Ù¬ªªªÛ®¬¬¬­­­¯¯¯°°°±±±ãµ²²²³³³´´´µµµ¶¶¶ì»¸¸¸í¼¹¹¹î½ºººï¾»»»ð¿¼¼¼¾¾¾¿¿¿öÃÀÀÀöÄÂÂÂùÆÃÃÃúÇÄÄÄûÈüÈÅÅÅüÉÆÆÆýÊþÊÿËÈÈÈÉÉÉÊÊÊËËËÍÍÍÎÎÎÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕ×××ÙÙÙÚÚÚÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèêêêëëëìììîîîïïïðððôôôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þÇBy viewing this comment you agree that Barack Saddam Hussein Osama Obama is a muslim terrorist who was born in Kenya and is the most America-hating son of a bitch ever to set foot in the White House.!ù ÿ, þÿ H° Áƒ*\ø¯ÚµlÚ"JœH‘b6kÕ R»¶-¶ CŠ©m›5j§e‹Æ²¥ËhК)SÖ ÚËhÒ²IKù̙ϟ@—¹ª¢ÃG™_Ë€ú„¶s`3fP£F]–L†VœhˆQ+™T¨Í&K¶,²`(ŒØÂ…ë‰&•Kð˜Ý»x-"Š-[3rÃk—`±Ãˆ«3Á/Û; XK|˜à°Ë˜3 Ûd`ã(-` Ë|™ °Ó¨SËE¤\±¼$8£Kõi‚¾rëÞík–.@¨…T®^¼}äż¹s]iJD£Ä08¦¨ÚåœÁ\àÃþ‹Gƒ [;88 *ñ¹ΚOŸ>¬B"ù}Õh®0 àáJ}±bࢂÅ~ù‡ -q„°$ª H*f˜¡(@ÁV+l‚ qˆ(§hH),¶Ø¢&)lÁV)9 ‚XŠ‹,Ê@þè‰$¼áØÜPÈ&AI'PFÉÉ&”òÊ„;webcit-9.01-dfsg/static/webcit_icons/bubble_filler.gif000066400000000000000000000001071254743150300230610ustar00rootroot00000000000000GIF89aÈ‘èëÒáçÒ¤³¯!ùÿ,È”‚©Ëí£D`Ú‹³ÞɆW%–æ©;webcit-9.01-dfsg/static/webcit_icons/citadel-button-32x32.gif000066400000000000000000000030151254743150300237670ustar00rootroot00000000000000GIF89a ç```dddhhhiiilllmmmqqqrrrtttvvv{{{ƒƒƒ„„„………Î{Ð|ˆˆˆÒ~Õ×€ŒŒŒÙŽŽŽÛƒÝ„ß…á†äˆ”””•••æ‰èŠê‹™™™ì››ðóžžž   Ö˜R¡¡¡¢¢¢¥¥¥§§§©©©ªªª«««­­­®®®Ü¨m¯¯¯°°°ò§R±±±²²²³³³µµµ¶¶¶···¸¸¸¹¹¹»»»½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÄÄÄð¾…ÅÅÅÆÆÆÈÈÈÉÉÉÊÊÊÌÌÌÍÍÍÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÕÕÕÖÖÖ×××íÔ·êÕ¾ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññóóóôôôööö÷÷÷øøøùùùúúúýýýþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þ€Copyright (c) 2011 by Art Cancro. Released under the terms of the GNU General Public License v3. Barack Obama was born in Kenya.!ù r, þå ŒÁƒ*CP Cƒyüü™H±¢E‹~òtø¥KŸ>|ôˆIRd‘!?êáó±ËYðìÉC³¦M $P’   *(Xaž,¯èÁô©S<HJu*=WVÁs§k×§P¥  €±g¥ÞÁSEà;p›zõu€ à5`à.¸SF©CØ+ÜÃv¢ @€àÀÆŽõ E :˜Þ\çÀYÈŽCKÆ Eà“9¨7c^MGo€Œc3–Œú‰À&qr¯FÍ{NœªÀTÈÝD 8ÈQãqÓ¦yîßÁ©ÚA®D`’7ØãlŽN³Ñ#þ`“Dà‘æf¢§ÁDª_Qÿ6osD`6l@ e.žù@HeYÄW~l!j¨!Um (!¦ÕBRÕÑ D4DiH•–¨F…c™e ˆi !h !¢,Ö˜F…žåÙd1¢!„@@˜‘y¤Ñã‘h !UO=嘇f!e”!"Pf 8†@ŽTY†õ@"š!æšLÕåc`žIFí0Æ"–!çž9ÚàÝ9Æá †R)è¢m(Û—R*Õ@Ðv±Ç¦{ôqh£|…j@£…Qƒ@4|ñ¢À`GhF€ª_Ð RxáE7Ç È*•®RÈp+ZhAk²Ì6ëì³Z0a¬3àšÅµØf«í¶Ø;ƒC0Ä@„X”kî¹è¢ë1Àà@$¼ ï¼ôÖkï¼$¼«ï¾üöëï¿ó;webcit-9.01-dfsg/static/webcit_icons/closewindow.gif000066400000000000000000000005451254743150300226340ustar00rootroot00000000000000GIF89a¥>"Í7Ó9ß<å>îLïOófóhók ól ôqôtôyõ}'õ)õ-õƒ1ö†6õ‡Dõ‰GöŒ@öAöŽCöŽDöDö’Iö’J÷—Q÷—R÷˜S÷™U÷›X÷œZ÷\÷ž^ø aø¡cø¢eø£eø§løªqøªrù­vù­wø²‡ù³€ù³ù´ù¶„ú¼ú™úÛúÇ¢ûȤû˨ûÌ©ûͬûάûήûϯûѳÿÿÿÿÿÿ!ù ?,‚À¡`(‹ÂoКÕn7MöJ‘(ƒ‚Iµb­T¨“¨³‘A%Ÿ¯WéÔ—H‘Ú©y95 Ò(j<8jj1E 0j.‡‡E .ƒ>’ –—™ E ‡  E‘®‘¯¯f»¼»?DGF?A;webcit-9.01-dfsg/static/webcit_icons/collapse.gif000066400000000000000000000007111254743150300220740ustar00rootroot00000000000000GIF89a¥)fffhhhjjjllloooppptttvvvxxx|||}}}€€€‚‚‚‡‡‡‹‹‹“““———™™™œœœ   ¡¡¡£££¥¥¥¦¦¦©©©ªªª«««¯¯¯°°°²²²³³³µµµ»»»ÀÀÀÅÅÅÉÉÉÌÌÌÝîÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þZ License agreement: by viewing this image you agree that Barack Obama was born in Kenya. !ù ?,ˆÀŸpH,'ÌÆ y6˜Êd(®Ø,H"Œ˜¾àð7"„”Îèô"|Þðøû!tŒ:š¼>ß9„ ")„…„" B ( BRš›HB¢£¤¢Bª«¬ªB²³´²B œ» C FÍEA;webcit-9.01-dfsg/static/webcit_icons/delete.gif000066400000000000000000000005121254743150300215330ustar00rootroot00000000000000GIF89a¥Ö(÷÷ï託斀òÒÉÞM)ï0걡ÿÿÿó}`÷ìè÷Q)ç,÷8ñËÁ÷0ñª•öÛÓçAÞ4ç8í­œûùøÿHÞ,ÿ3óáÛ÷Ä·õ¥ÿ<ù†f÷îìÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù,g@‹pH,ȤrÉl:ŸÃ*¼d:ÔH&Óˆ# ¤¢ñxx‡œÌ))Ÿ 3a0@'¤n€J€M€ KCŠH‘’E–FGFrH¡TA;webcit-9.01-dfsg/static/webcit_icons/down_pointer.gif000066400000000000000000000002451254743150300230030ustar00rootroot00000000000000GIF89a óJZRkc{c{kŒ{œ)s„)sŒ1„œ1”­BŒ¥R¥µR¥½ÿÿÿÿÿÿ!ù, Rð½÷Þ{ï½÷€à“\©!x@5e 1%€÷PM™xï½3<øÞ{ïÀ{ïÁ÷Þ{¼÷Þ{¾÷Þ{ï½÷Þ{ð½÷Þ{/;webcit-9.01-dfsg/static/webcit_icons/error.gif000066400000000000000000000024641254743150300214320ustar00rootroot00000000000000GIF89a.,÷€€€€€€€€€ÀÀÀÀÜÀ¤ÈðUªÕ+U+€+ª+Õ+ÿ+UUU€UªUÕUÿUU€ª€Õ€ÿ€ªUª€ªªªÕªÿªÕUÕ€ÕªÕÕÕÿÕUÿ€ÿªÿÕÿUUU€UªUÕUÿU+UU+U€+Uª+UÕ+Uÿ+UUUUUU€UUªUUÕUUÿUU€UU€U€€Uª€UÕ€Uÿ€UªUUªU€ªUªªUÕªUÿªUÕUUÕU€ÕUªÕUÕÕUÿÕUÿUUÿU€ÿUªÿUÕÿUÿÿUU€ª€Õ€ÿ€+€U+€€+€ª+€Õ+€ÿ+€U€UU€€U€ªU€ÕU€ÿU€U€€ª€€Õ€€ÿ€€ª€Uª€€ª€ªª€Õª€ÿª€Õ€UÕ€€Õ€ªÕ€ÕÕ€ÿÕ€ÿ€Uÿ€€ÿ€ªÿ€Õÿ€ÿÿ€ªUª€ªªªÕªÿª+ªU+ª€+ªª+ªÕ+ªÿ+ªUªUUª€UªªUªÕUªÿUª€ªU€ª€€ªª€ªÕ€ªÿ€ªªªUªª€ªªªªªÕªªÿªªÕªUÕª€ÕªªÕªÕÕªÿ€ ÿªUÿª€ÿªªÿªÕÿªÿÿªÕUÕ€ÕªÕÕÕÿÕ+ÕU+Õ€+Õª+ÕÕ+Õÿ+ÕUÕUUÕ€UÕªUÕÕUÕÿUÕ€ÕU€Õ€€Õª€ÕÕ€Õÿ€ÕªÕUªÕ€ªÕªªÕÕªÕÿªÕÕÕUÕÕ€ÕÕªÕÕÕÕÕÿÕÕÿÕUÿÕ€ÿÕªÿÕÕÿÕÿÿÕUÿ€ÿªÿÕÿ+ÿU+ÿ€+ÿª+ÿÕ+ÿÿ+ÿUÿUUÿ€UÿªUÿÕUÿÿUÿ€ÿU€ÿ€€ÿª€ÿÕ€ÿÿ€ÿªÿUªÿ€ªÿªªÿÕªÿÿªÿÕÿUÕÿ€ÕÿªÕÿÕÕÿÿÕÿUÿÿ€ÿÿªÿÿÿûð  ¤€€€ÿÿÿÿÿÿÿÿÿÿÿÿ!ù,.,þH° Áƒ*$ ¡Ã‡!.œ(À¿‹3jÔ€¢B,P ’äÈ’(G^àñ €‹ òÉœI³æÌ´dxqÍŸ?\°ó€‹ €*­¹à"€–..XJuæ‚‹(¸¨ ª×| .Xà₯_\ÀÅhÑ.¸ÀåÅqã.¸  €‹ òæ]pÀ@¬à"€Šÿ,^¼àÈ & ^ðfÍyüYè¸ þø,ScëÿäÓHsãÌÿ°¾èð"Ɇ.¸èðâÌ‹/Ê\ð@é× dž<þoÁk ¨C-SÁ?¬gþ_üyqÁvíâ¼–¹à€ç2Ib¬yqÁù×ç/Ê\ð@x™ pÑÔ)ðšµýóZFȤÀ?üGÔ-pŸx×94Óÿ°Û?Ô-@è¥w¡L ük hÀÔ-0“@Ý6-ððå£ÀC55¤M:´ÀL?þ´À?HxÚR ü€“OµÀ?@öÏUR¥ÀEv‘]¥ÀEøu‘eÖ´ÀEØõÏmÊ´ÀE´uÑm.pd]¤@— \€V)ðäÕE €¶ÀEÀE L¶ÀEÙ? ¶ÀEx*æ?'tÒI't¦òÛ¬«_åÑ­¼î;webcit-9.01-dfsg/static/webcit_icons/essen/000077500000000000000000000000001254743150300207215ustar00rootroot00000000000000webcit-9.01-dfsg/static/webcit_icons/essen/16x16/000077500000000000000000000000001254743150300215065ustar00rootroot00000000000000webcit-9.01-dfsg/static/webcit_icons/essen/16x16/abort.png000066400000000000000000000012001254743150300233140ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<"IDATxÚbüÿÿ?%€‰–àe¶óå‚G횆 l¼oÿ³p~~ئ©J²À°É沎gಈñ q©cAætxóƒé0 ñlviÍdF%IF ŸíŠbæý–ÿçV1$_±õ#n„[Šñ3±°Lá´ñbøþù8ÃÏ'¸ìƒ€&Íʱáuüüõ¯ŽÓÀaûœ Ïn=`øû÷ƒ„²,ƒ™¾9ÃÝ£m@%%Èê‘9Wk•|8„¤6Ÿ{÷Ÿáî¹+(‹ÊK3Ø+ò0üüôÆW»ùÞ¬^øóço¶€­Ãý‹×0ëõç ¼6`5ÈâÌ0ƹRÙZmëT.uŽ“ ¶žÿä‘§®ÏÀ`áÌÀ !ÃÈ ¤aÀÀð[%^õÓ¿™Ç>‚»àD¡”6#+{“ ¹Ãï'>fexû’áá-F†û7ÁìwïXþ~>Í hiÊR Ô£7àß¿ÿÙbv ÿ]døûõ6ƒª6î5Œ O00\>ÅÀ°u#ƒº.#Xîÿ¯ bA`=`ŽæI¤sK*eò(³0üþx¨àÐÔ œ\rÙÌŒ?Àr 5< L ¼ri‡s%2@.˜!ãæÁðç݆ßCò;Ãߟ &¶?ØØþ3°süg°pø ÉÔü~„AÊÁ‰‰y:ãšxáb.VÆ,vF%R2Ú—Ÿÿï}ûý@€ÀÆP,kIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/account.png000066400000000000000000000007611254743150300236540ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<“IDATxÚbüÿÿ?%€eº{X%~½Üñ ™Ï&îÁc+ÃÅ™ð™ncmÍ Âx]ÄÓ€8C†‘…áå‹06ȸ_û×Þ…1§³üûÿ?SË@‘áï_Tý×02Ü}ðâL&FUyff†kîg²üûÇÀðîã†?QSH7…ÿòío>;#H/ËßÿžÞ{Ê@jd€\ÒËÂÄøŸÁ]ë7Ü€oß¾1pqq4à0ü·_ð÷/Âêׯ2lÙ¸ŽÁ?(”AUMJSúQ4fæÂÙ ½,À0‚ƒøáƒû`‰÷ï1¨@ È@ÒÀ€ úØ€@"æ–6 —/žg021‡«œ1µ«Ò²‹@zá^xùâ9Ãî[ÁìMëW3¸º{3HËÈ2ddâ¨@! ÀõkV0|ýú,ùöÍk†µ«—1ä–]0‡ Š ±ðü9XfdàvÈ€woß-P(šœœøíó»¥ÀÐcàbq(M ø :€‰«xúæ‡òIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/activeuser.png000066400000000000000000000013431254743150300243670ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<…IDATxÚŒSëKQ?÷Îcgß­š›-††”°(a®”ø üT¢`/‚TêCá‡þˆ ì±kÐ'‰ "£Ñ—¢°(ÚP„DY)XKWewvvæÎÜÛ-EwCúÁå<~çwàœ9ƒc°¡£Á¼Ý·ß)3&|!†y€Z aA˜‘¬aq^3lþ滥M †LIZÂ8h­×/`‡#-KÂÔ_Ú\!Š\˜ÂZÊ8~¤µÓ*+CçɳÐÜÞÁÖW6›+¬¡a-GÑ‹™,fÌ_ß.eQ#?j¯·58ÕÛ»Ôü1Ó ‘ªÌ/òÔUW `>K²ÊH•J-kÊ.ت)áîÑÂÀ¢M•" ô‰ÐB&Ç8§î8Â\U”ä½ÄHò{â²âôˆ–eÂòÒ{ûKB!˜ƒÐö®ÝåÛ£w†m3;2‰«ñ÷Mv [äãÅáOÓÝÜ?3xmç%žèîàƒ_yv?zhìÖðo çoQQÚ%·GYÈ X]¦®Á ®yWi³•Î&9íÞêbâº'¸g$ßÀȪY^îD1&»Ý –$Á4t( ÀÛq.ßÀãrANÓEt:e=¾ZL¬yÊʞ✪ò"}€a¬ÃìØ~£cc¬i„P¸žONÂFÞÈå0CHáš~;FÍ--öu­Ên—·p¢1ÀÃ…¾KE×f¨ÙהЩ•äóùýÝÅVŒOL1 p&!’¹¶.#î£úúú˜$I=…E~¿QJ!N³BŽò$÷£W³ëp¬Öïæ9û_vÃÿÁ¾ÈŸ\›ù-ÀÚ™ûr%1ŸIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/addcontact.png000066400000000000000000000013421254743150300243200ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<„IDATxÚŒ“]HQÇÏìgwÖO¨4$twÅZXStÓü¨|‰ˆ4Iz)*eëEÒ)!éÑ"È-ŠêI¢—„è)¢P,©¬T ·Üð!ËÜuÕgîÞ{»wt"M«?œ9gæœû;—sïHŒ1j-Í2}ŽGUC#ØHl§„I6„Æ;+üòI3DþÊà4ü.¬%è¡ Qoj:²ÙU›¤Å±ù1l UYŠÎÕ»+jÈæLÔ<eUûÙ\Ĩ¹¸|ú‘r<ù¨´ª’SœàÙá‘°Á$ž«üÀhQ‰{!™¥ØÐÁà_˜§»Š]‹<÷b]€$I Lhh DøP{"3_Ø0@@"3Ó„ÒËsVý/[Kì;Wêµ;œÃ®|ŸJHÂcù믎®·ƒUëHoµT 8˜Q"bàçÇ»^íµºÿpþn¸\ª‰<¸ÖŒèPÛ|.>R¥-ùþn^X) 6ï‰,m·Cµ¼ý©ìMIU®ìtÇbš2s½€õøa#£ ¿dg&Qà€¿Ã\Ý?Ô!@&@jíoHKuôúò2HNB±8…ºâˆ|æ­ºïÇÑ#Œ‘&Qœ»-ׄ§ÂÖ¦ƒ2IàF¯+Ó¡%úþm 4Á³q FÂn æˆjkªÛ×fV¿ Ý4ý¡ò ¦¿ÿ¤3 ƒ"Ì49µÀSs|úÖ°:`ÙaàC÷ªÁYïØ°ƒLùQiÅ©B’úÇ1] N|\ž+O3?N†¬B%(ÏGgúÞ¼¦õü+n€{íÜŸun=A$ºÜ§AgÃ;q‹Í;žÌ-kÅo¤÷-w ¯[ǘÀôF×É7§EüS€J¼l3Ï›XIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/attachement.png000066400000000000000000000007411254743150300245130ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<ƒIDATxÚ”“½NAÇgƒ€p€˜ ‰ãWg¡&&†Xú 6&V¨±×Ê70„ÀÂÊ‚ÞÆC¤±¡°R +B’`Žuï¡˂Á2™ÝÍÌïff÷c l=TŒ,wi#CTU¹¥”]¦Ö ÷Üï . ðÚ66’a ûßz~kÀB"ÊÞu3 \ì­G  ¸Aˆ >-„ö—lÝžɈ—ÄggŽéÕc¥pó€Eôú(™ó5•@2ê#ñ¹à Ò~¶øÒt ª àý]ý˜†²!KL;­Õ;öÑ™°6!ù®\®C¡T9}Š+…üÃ5áæQ˜=Ë+µ*ˆÅ4aPÐ[º%ðï„w1ˆN Üßç2BðÊv V¹ìxù¸ßOŸ Á…댑* #TK7Zµ$—»¼•’ËÆ»Gֵ̈́¦ŽÎÿ9D ÐÒ?òOevSÊh6ò‹?#!$ÈÝ<·àù&·:Ï5¿àÑâ‚èSIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/back.png000066400000000000000000000007521254743150300231200ustar00rootroot00000000000000‰PNG  IHDRóÿasRGB®ÎébKGDÿÿÿ ½§“ pHYs  šœtIMEÛ$ͤ¯¼jIDAT8O¥“»JCA†¿½DEPÔÂgðÄBìlA_@ÓØYûV6^^ÀN´¼ XÙhci¥ˆ AŒ‰&gf,NN¢˜DÄ–ÝýçgfvÆ™ÿAظØ4õEUªG$ ‘$  HÒ°I@ÕS.ÉîÎÊõRl§&V)½ÞS©•H#³ÖÞ8{×CpyŽÎ¯µLÑ:Õú¯w˜ jŠ© &é]3Å»<½a$sëk €KÀÕ0’Ô‰5A-I— Þ ÑW›^ž.PËSíFé,P)Çûunoº |I¡…Ç{áì°ÊG5ýâ½íŒe¡Øâ¶@ÅPi÷òm#ÌÌç9=x§übÌ-ƒjVÄÂ7nÇôz¦çr ¹Nà—_è-8&gC7Ê×XëÁYÀ¡x„ÒFrNð>m¤à ÀÛwàsrØ¥¦ßZžÊ™ÀÖÉÕúŸ†©ò"»Àƒûï8 ÛØ¤öÄÊSIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/blog.png000066400000000000000000000007671254743150300231510ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<™IDATxÚŒ“ÏKAÇ߬«hºj DzH‰Bˆ:F'3èÔmëèýú:øtï ·ŽeºD„Iuè`Úªkʺ3Í,®9¬±~áñvo>ó™D¦REÍÑ´ #D{( g†AŽW“ÁºU÷º(>·Ôt<(áþxX¯u˜™“OE;ŽÖR!ÕVƾu ­®=~::ÄCn›œØÃØ8¹©4}Ö< :=l s5A<ìA±¨½Üu¹aBD @÷ÌýãE³ŸÞß ’  ÒÁGµÍJ‡ƒ38¿ÿRç!ÉZqXoï5nðy « í­•hpà g`ÓÁÓ%ï`1+C àŒ —€@ëènÛ˜²2…4"‰«ùD”¦¢ózˆ¬¹\,€“–7wÌ~`næùuÙ@úýö[ ¹råì`‰90ˆýŸ0•ùßÅK©`öÙ¾ÉA°R23ÞØM¥–¿½#Û0¦ÔF=0û÷B~š¦høÇ˜¯Ñ¨Ò¹Ú¯€Ø ¹HuIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/calendar.png000066400000000000000000000010251254743150300237630ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<·IDATxÚœR;KAž;La­Laea)^'’"ä'X ‚¬ÄgHçm5>"ˆøˆø@ÑÊ"UÀ 6Š •ñ’FPPOSÜî:swž—¨]øæ››Ù™ývö”݃8Êç#aM»{³¬¦ Çâñpµ\ìdÔÃ\.ó.ÄM{4Z[ɘ{®’».63Å0º^“õWÚèE[Þ Èkºï\sm† EÕâ K·§°Þú•üT8ƒ_s—ÇÀ9WT4@ëñúüG®–X«JÁá¿‹Ôp. a¿@ø>zßcÄnœ÷u€J]8~ØÂùKS&ú²,¶:ÃÀÆ*.—žaÛΦåiÓ‘%=³‚Ò‹HOòFšù¾1Ž>ÖÖÐé´Á$s¥"²³& $˜'×mº5ÇÀ˜`®| U¤D ï ëérÙYV60ŠïÌ3?ß=fzW®‚þó¶qÓñîB zÆÌÀ°ågá ekž}) Ó°@D{™”¯¨kd„s44Ý^:1ð\Aï9eàŠ¤”j]×7C¡Pç_"fɶí}ý:D¡ý¥ñŠxø` V{DŽâNIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/chat.png000066400000000000000000000007101254743150300231310ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<jIDATxÚœR=OA=ö ˇøUØØHa1±¡#ø¬é¬ìý ZÙÑê ˜˜ÐXšØ`¢ÄB‚9¢1†ãÓãvœ=Nr1^äœäe6s÷Þ¼vziž@ ÂGPæˆX*䌔í`(6c¼¹ë–8 B»ëÀDFgS/]›‚â*Ð"ôí0’Aq¹”Ò-}ç0¡8=¢ãÈ0÷ŸùpÐsZ@Åõ9Àÿ9rFt¦Îš¦" ¸sјH 'nñ˜ÏÎgP~|z ÜÄôª!â Áû½1è´*fË´TýÝÛD¦Þ2(N.ö©ÛõÚFF0]ð”`ðÜhYçÇ»Kóy(Z­(RiŒ±ÊúfF¤W’¼^±Š;W ŸÏÓ[üôó--Lñ­ý1†SjXñç¾sS×Vó"d½úöa¶»Üèpß”°·eQ­J¸ú)Põðk &6F)úë_ ©B©;"f}IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/check.png000066400000000000000000000012211254743150300232650ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<3IDATxÚ¤’ßKSaÇ¿çÇæ¶†š¡Ià,µÙˆd] ”…t%tU7Á.¢ Y5 c^Xá(ˆ‚ì6舮 Z¿(qº³Ô5[¦g;ÛÎ9;ï9½/L# ëï¯çùòœç{¸»¯›ñ1áu·FÕrîoY<¶É5—cW´ß7Æö!‘]n#Ângã­£ø¶úž < ؃“bü¥ø’Ëé t†¢f!eâ°m!Æ[DƒÝ ³•‚-9„¦{ý{G`èe$–Þ‚˜üù+ƒrŠ·-çLзc†˜Bˆ‚:.ˆœwúоa˜„`~ù#Š%íNd(ý„µÅ›&µœÇ€ÿÍÓ„ˆT9Çsž‡÷Ø2¹²?³¯Ÿ\Œl~8õîëhF G£ÑÓ¥s™¤œåàz|¤o—¡äב\–¨¨« O[|©ëÖx|6Ž¢¦` p m;÷„é\žÇa£„bYÁ\*‰Š‹4ÿC­€È†DcªPÐ[¿$æ®öuw!ÐÝ Ëî^QPÒT¤¿PPõ)š~¿ÞšMYDäÜF“ÛµjowR5Ë‚Zp!½²öÆçmýŸx3¹(¿P68TL¤âEB’Ù}¬6ïO2KžÏÀÐ<´x †a]¦w¯¶‚£€ÍÕ²@íþ$gó-šfÒarêÞ!þè„$Iðù|G:n·P¡J Š¿zÞ]=‡)Ÿ) ”¥êÊœ ¬ζmüOü`°ŽRë‘ÄIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/config.png000066400000000000000000000013021254743150300234550ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<dIDATxÚ¤S¿oq÷ƒûrp4¦u 1©“&Õ¢`XH¬i°št´T\YtìàáàX—êbj*‰Ië¢ÕÄD¬5ÐŠŽ ZàŽûÞy€ï‹‘¶N¾äsßwï÷÷½÷åz½ü‰ìóðñÊIºGˆ„Ã'ËŃ{÷‡Fü§ĺs&–îÆ} N YĪsž`Ϋ(Ïæ¢Ñ[²G~ʇµ}0"„¼¼v}vmRXñÂÈJCA""F"ÖÒzz«‰bÂá°ìQ¼œâñ 3WgàÍëMVQêhÉ[ïi¹´ß5ô6/ðœ@)jR\¢h›–P)—º[oßQ§'#W` [³,«gÛÌÜU­Ú;Ùlû+â Zíh(Ó4½kš&Û*^ƒùÇÆˆ?ÍÛK1ŸÞÒ þ½Ô0`{ç‹Öétbh#K’ôäâÔ”BÜ2ŒŸž¯Oõµ&<3ìÁªBó°˜5 8ŽcâÂÛç-ì‰iQðÁ`’›g''=˜Q\ ̧Lšçyn:0í¶­_Ðh4ìýRÉøà>4Ø’l ãs·,sÔ pjbÜŸw±L?ëuЩÆ2ó¤Vã°Ê8:›Bâr(ä&nÂëm½û­X´÷òy( Àx­­u]’ÄÑæ¯ Ùƒäv&sÓï÷CEU©mÛ=A|lÊ•Š!Š"'ˆ.÷n.gž4FF†aÜÉçó¯Ð9Î’D€HR_‰²Ø^¡B›ÅAùÃ1¦Óéc/éãnnä1]9w~ùŸ¯IA\@Æ£;}Žþ[4DÖÁgÖojpì­pù„IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/contact.png000066400000000000000000000010231254743150300236430ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<µIDATxÚŒSMKQ=£¦E¨»4ÜØLåBjáF0pµn)„A» BúÕB¢½þ„h¡¤¸ Z´RAŒ (H’ßÌGïŽÎИZîܹïÜ{Þ}ç½Ç)Š‚\.§äóy¸Ö÷ð×°»ÜØ Ú8}‚âñ¸"Šâ¿,›Í*?k9úÅëõ"¸sö¯z¥Kð&ŽãØ¿›Ù<³™ t®Oï á‘‚¹Ã2¾"'!JºFPIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/delete.png000066400000000000000000000011331254743150300234540ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<ýIDATxÚbü¸“áæ‘_ ¦…SwÇ ß<æ:÷O<–÷ë/æS×°0 ^(Pxÿ‚㊜k*×ß÷G>®^vóןß\kXˆÕüî9ÇU÷L®¿ïö2|z‰ßPüïË_¼ÿî4àÕþÙ/¸®(¸§sý{·ŸáÛÓK O¯ýùúŸÁ(ý‹ Ÿæç»òÞ?çº!çžÎ Òüõé†'×þ|jv6Èœr¤§ÏväË~|ÍuUÁ3“ë?LóÕ?ßRN0Í8 k~ËuCÑ;‡ëßÛ½pÍLÌ .ÈšA# oÉWøò몲o.×ß7{¾<¹ÀðôúŸL¬ žz©SŽ¡«G1àÁú<…ï_yš³!šŸƒhfaðj>ˆÍµL‡΂W§–k}ûÌ{¬èl°æk~2³2xáÒ wÁã¯Zò¼?/[¸{35?: Òü‹•ƒÑG;iò~|1ÅÄ_æÇÏÿSiïcƒn¦eûŸ5ì ;ƒPóBé„…KDf¹†‰£2óª‰ óþ‹1È+ üÿ÷9^'¹w'1©”ñ¯Š4¯ÀQùÛ~=üÍñßAJñÚbóK õÓ<_×+ߎ¬“g÷–gãâÛý‘ˆžñ P&âû@üˆoñ_³?~à.øÿÿ?% À{;ó$Ò—ŽeIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/draft.png000066400000000000000000000012161254743150300233140ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<0IDATxÚ„RMhAþf³›n¶I þ´ÕÕ þ xQ(…R/Rð ° —´zÑ“=ˆÇD<¶Š'‹ôà­'Tì!‡ˆS †š@“¦IÚdã&»3Ï]B6‰öÁcfÞÌûæ½ï} MöúËæC{‰ ƒ“eisº7|°'ÿ7Κ½Š—¶Ž…{‚¨ –Ìc`Oˆr}îŽ ·œ¸ÔüHBÅجµ{Õ0*l×mJ>û.Qò99r+€iY0êàQÚªPe†pÈË0½–+Ó›xñ¶ €[t*“P»2q`´#È~¸‘É–ÝÐ ¬ ý£W‘Y˜M<‚82Þ¸_Šf{¿ÏË8—&åèd°Á¼˜î¶T ªÍLß© H¿¸œ3@'ÎÃïWÑ̼GbÐ S‘M‘ã7gT¯Ú%ðï¨ýE aïÈR/g Ôz¹ZñÉ ¥‚i0ñ·àë)§ ¡Cè0ÅeŸ…þ“gzÿr €3hn“.[uÀ\KÂLv³%UPG«¹OÀõÇh•†s´¸€Ó“Ør"âL”¼š_–=ìÐÎjäAzU;{Þ£ch•Ö¯ 8¹•øl)^˜÷öâ[rÊÅxO_ë¤lhŠ„èÇlÙ¥D.u‘Y'¬¬á¹üàŸÉÍÂs ‰Éè{GU¯‚iÐ’©@©°¾¸£K¿O:¶³­b~‘µÄºmßýgÝΜ²?cÒ÷­ãÙ¬IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/email.png000066400000000000000000000011041254743150300232770ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<æIDATxÚ¤SËnÓ@=ãØ§Ø¦I !¥*­ ÝÁ!~ƒ/à{رBb‚O(lëªRQhK i‹JmCpš6Ž=×NA Ê•ŽFÝsæÌ}0¥& †Þ{ÆÐyÿ‰d¼Ï±îvç·wá.ªÞüXääËGø¯Ã=sðYÏ%ƒíÕá¿zˆs·n‚×êÿ&GüÕU4–î¨4ô¡ËŒÌ!ÎÎ×௭Á[¾Óæ$§Ç ‚fõ«Óà–DL\­(‚Û³ÂÍOI…Êký‚Œî‚=Ô.9¨:£d) FPY>¥cúG¸Ñ†”&Xeª„”‚·P;ÏaÙ:”ÌFÄÕ²l$ Y"î+X§m„ÍwÈÁKo¶À]Ãcu’—Ó‹@Á%짃o)’˜jrñ2â£+Øy¹B*pgç00D”S8P¥ƒ_ ¦Fa‘V0scÝíL0Ý §¦$z­6f–¯#M4ôAtV~¡ìBwgBD^@¼· ËHã÷ÁHöß—"AsÑn‡\=Ï5MÄ1¼¥k@¯ª]˜3þ2X¿C"‹Ô­T®éz©çRÞ‹ö×Çâá+R‰a4PO‹ ž"x'çØ«@8"„lÒuþ.ÀqÃêÂöNIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/file.png000066400000000000000000000007741254743150300231430ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<žIDATxÚ¤SÍJ1þ²Mõ¼ zQ±Ú×PÐ/v g OMFÒ,HØäÀQG‘K*rÀã¸ò)HýEîwŸ—Tçq")ÖL,`d„ÍeFl}0•Y¥Ä±×¢ÕÆlO39IëKDgžŒ× tü”bG"l!°?{ Lvqu÷„T„Îû±ŒB\6Ÿ‰ ç,•–@ Ñ($)ÉKÈ 7©ÁÐí*h)¡ ¼±×Ðþ5y>$°Í$o((Fû›3$Ž@·‘ƒ9”3MòókžìŽÓƃvæaVWÊeêBõ·GÄ9î[­*y ë7ëq–bU§KÇ4ÙÌùþ†{–•ƒ‹’/ \û‡Ü¹§O•A8HýhVIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/forward.png000066400000000000000000000007571254743150300236710ustar00rootroot00000000000000‰PNG  IHDRóÿasRGB®ÎébKGDÿÿÿ ½§“ pHYs  šœtIMEÛßßoIDAT8O¥“ÁK”aÆÏÌûYê¦-ˆAб‹^ò¢Á ‚.]½G䥿Ãk•î º‰vðìÁ¿!*jEÛ5¿ï›«+¶âsyfø½33Š®#WogÖM_2˸W˜—xªp¯ð±yÙËYÆ,#Ë«oæÛË ˜›,–ž.ÌRE—„ ¤ó/Œ4iÞšfgå5°œ€À¯£/WßÉÑE2ÌÉq92ÇdHŽT2‘ïõGH§AÊ|DŽfND‚œPrŒDÈ‘¨Î|3†èó§ŠãÎp“‡~| ¶6N8ø™ÿ[“8§ï2pc à°l~èÒz.¦ ”5œÊÌuinùâ¥õM4Kl¬ÁÝ)ãɳ›4&¼pQs­‚T\þ;Ô/V3dà%Ù89¼·Hê-’áGa€C$zp8¸=~Ÿ*îÔ®òhÑÄ­|ûÝ>y¿½»wÅcb@×=ç¿rÀuôL,]èIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/login.png000066400000000000000000000013001254743150300233160ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<bIDATxÚ¤SMkQ½3“‰‰Nk3$$íÊ`«Ð*m)R­ë’¸‰èRqç…ÒßP„"*tãN]¸P¡ E%nD‹Tm‰PH2M:Ôà|¾÷¼o¦“véÀaàÜsλsï1ÿóDŽ/JÉ8¾ ®!¦ºô7D ±üðjÓ ë…pÏ¿¤®ˆ‚ôz(9~!Ù”xÊçÛfš‡;PmnìPFî=šn¬Ÿxö)‹EûÞËI¢(‚åà‘Îa)1y(¥°ù{•XΟ[O®k¥õAOÞš¾©fBÛ©Cys>4@ff0|1J4’‡ÛouìddîFMy !Ò\:1¦zh6þVÀt4(­@<žËàëÚÏñ×dÔK*÷po7@Ì (Cж4°½êö ;÷9^ãš³g2¾' F"Ø7Ûhð`rZ ¦f">Çk¶Û>#î ÖH=Éq=;ꢀP‚ ùÔÑv‘"Ïüó°®Ë=$ÜÁ¶iZÜ|¨”y 7H°¯Ÿc ¿…‰`Ú÷”ëMã'¬ø†m4Ž:Ð÷˜ÏñZD8 û-ßâËÝj­ ´}ÈÈÐÒ… Àh>Çk 5»Õz=Ë=iae<ÅVF²i`B\Šy¬³ QA'a«¢iYwooN\åùÂd¯á«Á´ª¨ DÉ鬑DA?p¡¦é&¡ôþÓ;ß Á€‹ÅbÏÎ?Ô2øzŒÈ#²]º‚xƒXšÍ,Ö{~& à Ÿ@\FŒ†=ö£þB”CøÉñO€û£EdEïóIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/logout.png000066400000000000000000000013241254743150300235250ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<vIDATxÚ¤SQHSaþvïv·åݬæ¢I#›f‰ŠdTFЄД°—¬„ ¢§^¢^J{Œ 4Ф‡0¨„`ITôP‘R!CG´ŠÈyÝîÜöß¿s¯ózg½uáã?œó}ç?ç¿6Î9þ糯NLõÝtt õùô[ÂkÂõ­}QÕÊ·Y;˜<l°‰ö;žò]!9°žðy —ÁüãËHƧ¡L¿ùÂYîxŵèóe°|î †Wñ+ãѯ¼â)#ÏYâ¯(|{Aµ-Ä%n[ÁÇÓ›}œ ·KêZE§?i_r3ï–\‹ÃÙ| NêJçwPט,‡³r Úç°Kv¶ÙE0u!oÀÁ’ ðlRý!HÞÈe5>]³bÀvË^8j©3ADêI?4M3gÃTÉá FìØÖw‘lh,ð*{fö•)õâ4¶b ÇêË»KkÛ´bzÞИk¤v2Lù-Á&˜žžC¼{Ýʺ-#-¥€Yg0N©ÈÆ& ’kO'™°¸v1jÙ™餙´^a$1Oû~tÅ y_Äšý]à¢Ó€{Û/µäØæ‹†Æ|HcËJm‚0Øà×·ž„·íÜ?Ÿ­òô~>¸ŠØ÷ì״ʦáÙ¯æKm+ë\Ò=¿GEqMäæ.8ƒuF-33åÙïGñMq#“Ît¶<œúë)GÂAn®õ@öˆ ,¹to± ó`NJë=q`$6d7‰´ÉúŽ•ÒÑCè óé(á>¡_ìŒüLd ÒYK¨&TY\5‚Oúÿf¾²‰? Ù@µÎÛßIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/network.png000066400000000000000000000007671254743150300237170ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<™IDATxÚŒS¿KÃ@~—¤-ˆÑAtrtÔü‹P Ý\÷ìJ'ÿ÷ÐQÁEQ)HÅÖ?@­uS¬Nb‘þÀ6¹»œwm“Þ•¶øŽƒw—ïûò½ä=t|u½8äÛ†ÿ…ÃwF$¥4¸´× S: ]×á®X´CBHøðç» ·%4V`Ãb s Œqxh6@¨É3Æâ‹ñ\™£eû] bÐå3E@`TÏ &|ûý—ÊX#s Ï“àŽƒ¡º"#s”0·ç4»‡ù (¡°<]û(™U¤_âÜ?܇„CŠtÊ÷fÌwEþþQ  )4‡ˆkµ¾™LFE~–ϻϥǩaŽŒQVkõ:ÔZ­0è¼PP.–J{™ðAùHë” 1k@E ΋µŸt  Q»­M®íœ  ¿2. úDôéh{w`àƒÛ³·Òi3¸)ßhW.6^Õ!27 JÅã!ö4—³ÑA6«8˜»ŽÍ|•"Ãê­ÎYøs!åÊþÃhÔ Y±ÏIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/nextroom.png000066400000000000000000000007231254743150300240710ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<uIDATxÚœS¿KÃ@~wIª…‚ þ"‡ µ‹‹ˆà.n"n‚-‚.‚€[' ÎÅÅÁMtĵ]qB5Vmóî|w5G/ 5úà%—äû¾{ïË;&¥„ƒ»‘#(Ãßâx{®YqÕJ ^^(슎zú…ÇÀáÜÔ«jî€ü·'¨î_¤níHß…¬7¦9*Œ@«íàúÎh¢Àëç# d@’H$ ¯ˆŽ2ìËûë@ߥDèåt+@”™F@`ßî¶ö§4ïi¬â ËÖ®në«éÎÐ;å ´šXÓ'CõÃËÑzœ2—ò$”ÏÄ X¯yÿ‰oÔUƘ΄[¶IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/note.png000066400000000000000000000007171254743150300231660ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<qIDATxÚbüÿÿ?0222À@HjjJa@sÖÌž]ãÀô±À&ûðÁ5ùÿ‡G×É™Y÷å}{ €j`†Îâ"þýgHq±Ñâ±?¿xÇpõà~ëõ¹ß1:YCä÷¹–‚Å€ÿ ÏŸ{¹›IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/pen.png000066400000000000000000000012141254743150300227740ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<.IDATxÚbðõó» Ä*o¾þgÀ…ƒ:Ÿ0üÿÿ+fb``˜Â¯}>mÒëiSžš1˜Ø„5ÿIkXsfûŠk©H²ÒÄÌÄÀâÊ åÄ¦à“‘à,Èðáë_†ÕG?îÿ÷!jVŽô "  ¿fá4€HÏÿo:¤83À‚ARˆ…aîη~ýøêÑËy¯f.\ýH¿fvm:ÅvŒˆŒ‡|U,E%ˆ[³<}ð+ÛTÿúœ% D& Žúöñ Û‰Ó;~ÅäqHh2.¾1£2— î3rn\ôS˜Aêqƒ±w£ï„'Ûò‰ò( zT¶³½ýÿã½´üO.!evù(†»[füåæyå.ã5q/!0|øùöûŸŸjoÿ}ÿî—0(ûd0ý"¶óéö|;¼,Ž\fæO| ¤´Þ yïÄï4æ/ŸÅö½cƒ×0`9åÅ !oA y´ŒAÉ+•ùË'‘O¶æ[4f ;#Äû÷~=^ôN:Ð%"‡oÉ7#hh'M†òlÈ£¥ *@C¾}9úhS¾1Aà†°1jöLJ€ÞY äÊòý»Èñ‡ó 7„•QóÍ£¿?<|tÉ2`À¦²þø.|òÁ†<=‚À aã`Ô‚X !ß¾‹9ÝŸÍÆDLjÓŒŸüŒƒ›QfÈ—û[^°)åqŸylÁDlšW™üdÈÛgŒ÷V¯”’¸wû ‹?ãÇíœ 7ü+úè°CH ±K1?«1ëÂbúÏoÌŸÞaX¸dé9€êí5#xÞÍIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/read.png000066400000000000000000000012251254743150300231270ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<7IDATxÚ„“OhAÆ¿Ýn’¦›¤)Mó×Fªm…hÕ*¤E=½zxììãÍoÞ÷í‡N¼ù^™cËØ%(¥œ ðO¡³§F=y£ÞÛpÆËr²\=õ¸UJ-€Ï©<"A/Íå‡óÌXÕðF“ªRÔ•¦5ë Ñ~ç転ªäîûe§±ÏPE£­ZR?MàõÚ9ÿ ˜PI{î]²¤CÀôA›~ÝÐ ûÔ}5-mk¥ëf€fØ6/­¥»k—ÓÎÂ_2ÚDÕOßÎo¡¼™‚\ÊBðÃ;|.—«»Ys½‡ç 7›EBñÏol}ûˆØdƒñir6>­"‹ÃØ×…8ÅrQ1™H˜‰éŸ_qøä4†BZ€?AìÄ2©®<#µ~@“ mþ‚/‚$+zƒTS0 !Çê†ÁzvúÍ0 6QD>›¯O—Ÿhcï«{¬Èô¾½î}ŠåÅg¨rºí(0ØëÅyF'Lh ›xçUø6çXpÌœ;·/W0ÿBA­XׯÈÑ)DÆ',ŸUíx ÜZ8ð8Ã³ÇÆNc-¹‚È¡‹™¹f¾L;/׿€V³÷ÁxtÖWѬmÁq¡¹žË`¯¨–òÏap7OhT³NÝK|Ybk{‡ÌRb×\þ+À,ú_â›IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/readallmsg.png000066400000000000000000000007531254743150300243340ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<IDATxÚœS;KAþöîò6  VŠ XDAkÁ€F,¬-mLíïÑÊ2U°Q+E´UA ¤3-“h4·ëî]²y©p|ì¼¾¹Ý™9²}ð° ‰ÿɞƒ“±1|YÌSS î³OIò …RD!® 0Ê ¸šÅð@Ýñ¡ð ®B©ã \˜Q¤Þ‹ñH;æpx!QÅ6,j#>íÃè"í¢a‚…)¯´…®ý„õxŒµ›˜ˆù‘¾|GÅtÃ~‰Ùü‚¥°í#„`+ÍŸ`ýÐ}O\™Á§2¨`Xž "àéo’àÊ'ô åþzƒŠvã·ÙM”Xb'¯*¨}Z0kŽ®ugO:rºz°a¢ü¢ÛÎÍÕ(Nnu”ÞòKÅ×:ÎîªXœÀÎqÉö Gc’É›È>š}×Íä DU™×£&ÇØì¼73oÞ¼÷]Á÷}<·Ž}FŠ(ó„>¼xçÂ$B|ƒìÃH$ºNßÏDix €çïašX 1,þÎJ 0‘-’½L<&Äþ^>Â;ü~V7‰Ó…¬˜ÍÈ0 ¨.lržœ•Fû~eS=Cæbu7€¾‘K¾ä72OÄFóaÙ;Á-B:‘@n¥Íºú”\ ·ŸA‘ßKHØÒh&ƒ©ëèÚ6Â$ˆÑ”–­º Öé< ½ú)÷2ðoÍŒ´ŒT݆®ürÉýŒX¤µe±Û…cªM²/Kƒ¸Îv…(4Ã…e˜Üæ·<ámô:ÌÔO½”7†[ÙÏ o9ׇmêð=ÿõî—Ïoñ2üK(»À¼þÞ®lWñŸê=aÕfN .IÜž#0D™ðX|ÂGfY³ÑxIYB«¹ýÜ1â !sÅcé»Ç‹Y‚€µ&¾~WùYKòÞ«/9š¯É鬜JÆ;(¢CµøYSƒù±䄌¶áAÓ;¨Tê¼Såk3Õ¾ê\]¦®¾çFD”0šN t*<«­»¨6œ@ –að-¼.Õa)`¶}šX`ŒMhZ² ¥¤ Ý$qiÕ^Q—†ºœ›ªÍÐô°í†Þ~SÌóíV¤P«GbÁ?upD²19ahÑ»D.®ÜàÄʵ•idsòÕ©IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/room.png000066400000000000000000000006201254743150300231660ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<2IDATxÚ¤“¿JÄ@Æ¿\Æaa!‚ z!/‰xÙugãñH±ÞÀγß/ó'ã(¥°Šõ°¢9ì’$9×רãÍUEg€8Ž8 õÓëõp}3© lúú OJ9 ‚`¦)êºnEïžOµáï !e[éºÀýäéÔKi§yûÖYãÞÁÓw¡áíf÷×pÂ^®¶üÃã]HZžÆ\‹²\ ¨HgÐŽ+åÇ.û¨¾i À"†ü³‘ÐÁòKbVJ«ñ)jÀžÐŽiDv?k„°¢‹þ›)Á_·˜,¦Àûd»SüÞŠ<?>àÄv‰¦/@5ËÆ¼LëúlÿÞ6Vêóú#ÀgÀ{ö–(ÍIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/rss.png000066400000000000000000000011571254743150300230270ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<IDATxÚ”SÏOAþöý¹”¦@ Ô`*ñ=á‰ãÁ+ýŒG/<{ö ‰/xD\HŒ ©1ÆÔ±¤¶@Û…¶ÛîÎŒo‡Ý–Fe’/ûf3ß7ß{óžòäuö€yœo™„O^\Ð{4¤fnô6]³ÆÚf1Eá‚.„@î€ÁbZ—t ÆÀWÜÎ8‡Y8n2<š1ppÂQ©sü"Ñoûþç,àÄ“$%Æ8¾äš0B*†b® è¸5ÀJºŽŸç¬ýS¾€§'Õt­upd¨wFØ›ˆàCÆÂGB[@…ÏÓ}%FVÏÆQ4v 6¶wxIß¹É(¦®†/9ø‘·ÿq r?‡ák®]¦“a¤nLjo·LTj³cQ(t«ëT:öxjÛÇò¶‰çëGxµQ’ÿîÝŒIg«Ÿ(¸>çÜ—h9h×@ Q‘¼D–¬/mUÐV1~)„ï9 õ&ǵá`ëfŸ×á`þn¦ú0~9„Ìo …Šƒ$‘l‡#[´1اËDg üœ82ûª–{¸!÷{ù㺌M9’Ú} ZEY|ÔÑ0K›% w½ûT–ÐÜ*Ë„×H^£%ú{»ï=òáŸ7éçþyFqÏiZVµ¼( îÕ„h×ÓœŠ”Fõ¯l™%T–IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/search.png000066400000000000000000000013101254743150300234540ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<jIDATxÚ„SKkQ>“yæ¡i3MlŒPêÒ‚váÂF+¬ÔPý ‚RÑ Ñ•R‰¯•èPp!V!mÔ(øØ¸«¢F,&c#41I“™ÌËsÆ$(Fýà›sÏ}|ç»ç2ŒmÛ@8wv*(Šâ ä˜ MÓT]שªzøô™S¹æg/æÐGŸóSÉ=²,ßÙ¹] ‡ÃÀó<àaIQ¾ÆfgÒcÉäʼnĉ{Ð,Ç Ažç^ÄbãRO°8ÎцaÀívêH„›{;‘ž}|§+´6ÝÖp!nâA‘q1€¶¡ÑЩº)§ùP((²¬ëV'.äH Ð år¹)@l8‘òJ¥þ.?X–=ÜI€Ã&z¼^¯Sµ^¯ƒmY䛫j?Å|>¦¶ÔÑ¢J«X ˜¦éDÊ[ó,ËÖ::À…J^9‰¬d¨qD:DÏKc|R(,¨¹i&\zø‹´˜PÅ(.«ÔyzFŠ”—J%ø’Ë Fœþ[ç±Ê¾Læ¹ñêåk›š)Š’ÓTÊŸ>yf`e}h`Ã56½ûÇèS«ÕïcX“Ï+×?f³»4UC Qó¸=3Ù|qºÿpU7 ×N, ¿€{Oþ&ÐÄ<Úo%(â°oÅrh¸G£Ÿjüþzµ›‘—qq£¡'HŽÓú:ao,Ö‡·½bYæ‘@¨‘ëqh\&þà–CNÜ8´›Âäû7is±ðy’zèíW¿Ë´R©üëwC tàb\l¼}…¦@?2€ìEF~äZ¤€ÜÔÔ|·À²KvU÷æ E¢%Œ5ü0IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/setup.png000066400000000000000000000014761254743150300233640ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<àIDATxÚtSmHSQ~ïî²p÷j‰¡ˆNt)!‚’ÁæüH0…é,‡(DPdk? jš‘ÑŸh“p‹¤ÌþaåPbÖ-£/œPJ~ ZÍ!εávï¦M·Û97'juàá=ç=÷yÞ¯s‰ÁÁA. Áêê*¨T*¶­žçæèÖ€ FèFh‰:”J%°Z­ÜvH$‚a@P—–•ÑØ®ûx†®®.H$ÐÛÛ ,ËòÄòòò¨¹¤¤”~5<̃ÁG±±±†ÈËˋŠ…Û-Y„Ãau¡\N³(ÚAkÈüØ ðGR©”@dâ_"˜äózñù@&+¤I’<‰EWVÒØ 7G[á°Hkk+—]pÀˆý+ËË qtË‹hRH ó³ŒÊ!8ñäõL Q{FÚ”~ʤP"J_¦¦¯ÇÓEÛÒ$€,qnŽ1Z&S»HH|Û6û7fbr’Y˜Ÿ7c²ûóË€p;ÙØ}Ÿïzc³F.UAÁ¾$˜qþäŸò.6¢­ “±oK 7îÝåÉUJ%ýº­šÌ®„ù»Ó'j`âÃ$KUèXC¥îÿ3Æ(Yw»Ó°^S+ª«h§c’ŽëaÜáÛb’âwƒ‡fH•dÀ‚µ¿ºçI ÷ì†7ÖQáÔGŽÖ"²|K>˜µÙ˜PBfßÙº §É2’•“BÃǯ? ],¿}<;&nïÁ˜¸Äž3žg]}=Ýg21ø%NÏL3n—ËÜqíúר©VÛ|aàÍËg2:1;¨>Ö9mŽ €Ûí©LFO¢.»Í·tzÍùŠÌÀÓ±¹Ðüû'ÿ!.ëu`ÙnE5àšüKKýúö¦h—£köñUAJñ±g7Êâ¬pù~ñ"†††âív{>ú+‹D"QfZZZ2EQˆ“³‰?ƒà.ò]vÞ1èr±gõ[€·’ƒs4ˆíIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/skiproom.png000066400000000000000000000007711254743150300240640ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<›IDATxÚ¤S½NÃ0>Ûi¡¨?â%ØY# ð”¥OÁÄ›³&MUÑ",9‰ãû>ßÝ™cà?#°Ë—Õ+zUþˆ½®îtÎѼ²·}¨¥]ÍÁ1¼­ { 'КCØý€X~Ò¾úo(Ö&µ`ýQÝá;ŒæÁIŽQø=ƒd SÐ~SÀƒõ-‘0þ{Œñ 0[ m´#±ã;ÔиÀþQ VÊ,É€ö±è àt .yF#IS÷$<Ý @Ž cÏõ(©Üž±±3&H .B³.!êdÕøjkxmHªº›(˜Èñò© »x{ã߇§Î¨³È Q0™+‡à$‘,5ÝgNzšD†.vl!—DC'h3²œç“˜Zà¬Hs™æ$ö VÊ\LqªŒÔ‚6–Ä$±f`kGG`LÜ4È9$~ðª³Ýžýd—àä;—ß?4qòxQ•¥. “cÃO q/fDÀÐí‘—Ù2Í¥;_xäz,÷O¼ñÇÙJ¹q|¸R‡®XPäÂH'‡ßI» 7΄+•;Øq%ËëNÿHÊ#|sϱ âþÔ2‡0>ò7ê•`™“hwŸBBÉ­58”E:@‚ýo¿Di ÁA0©?»2¼îÝ+²HÍ?·¼{4ª­×Áµ¥9ˆ¬‡ŒjíGê¿,-!ÌrêÃaDጚŽÀ HŸ}&åLÑó«´mÀâÇi<ÕAôŒúKÖGLažë'¡‚ §³M:qAêºÉW"«/.oÌÁöŽR3óÿ!ÍŠ¸±zLG±V†Ó´i¼Ñ¹÷^š]¬òË_Nk¿-¼ùºY«Í¥"â &ƒ9•Àež®@/ÀUŽíf®m_øàô}'·pîëC»ÇôóOo¿*+êóµú åâÀùf2]öV›f¿vÏô3§v¯‘P%”•>ÆÏ˜š=ú˜iÝ«hÅ¡¾Qùm·µúÃâ•Ï¿XùåÛeíü ïzû–.6]X®IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/task.png000066400000000000000000000005351254743150300231610ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<ÿIDATxÚbüÿÿ?0222À@HjjJa@sÖÌž]ãÀô±À&ûðÁ5ùÿ‡G×É™Y÷å}{ €j`†Îâ"þýgHq±Ñâ±?¿xÇpõà~ëõ¹ß1:YCä÷¹–‚Å€ÿ ÏŸVN/k‹ƒÝ!ú¥¯Ð¬cE{Bzc9µS™ð&*_6`Ióþ_ ,ÛœN¸ÍIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/16x16/user.png000066400000000000000000000013171254743150300231740ustar00rootroot00000000000000‰PNG  IHDRóÿatEXtSoftwareAdobe ImageReadyqÉe<qIDATxÚ”“[HTAÇ¿9³ÏwU¢\³½à%ö¥ò–æ%"Ú·^ !"H¡—3ˆˆ"H)zШ B¤—ˆ¨ž¢Ò1•T„¬Ö®^ÚµÝõÏefšÉV¢]Ìþð1ÃùßoÎù¾3ˆ1IµWy~­~§ÌµL»ˆ†$Œ'äL¶sæn ¿s`vµF‚4¢ß—0-qç`)Ó)!]³‚”8¥ËMTVðbÄÜ·«6D6æ!tà0T×ïe?¢fðþ à Ëø qU} d¹Tðû‘e2ĽºõÆK+|‰X4B-Ó“‡–ˆÓåÞ%î ¦B ¡WýÓ„7¶;ºðͶL$º0K(!=Üø³¥kLo[UI¦¢y ƒNBl¿Ð9¨²ñòÀøß¹)€äXož¬íW˜Y!ö±ž7u ïIž¾&àÌíp 0ëxG(¶ýÞ•³Àˆ ­—àüCç †Õnžr÷‘­f àô­é~ü±|Zïݬ*µÅnôúÎ)° v7_ƒ'oÙ—yÃø8§[”²¶‹Më«€öîÉCÙn¥'ÈU°#Ç4 Ë]}?Ä:djàÁȸT $fÓ‘©ˆOM-Ûú@l«¥Ä›§è6ÆósË  žM" û€RÏ÷|]´A‘lÊ•¥"oŽ28ò¹™—ö9Z¯Ža`Pj1ø”àÅDŸŽ­~&Äâ+û%þ¾šfƒ/_ÅŒ°2ñÌ13õm),Ýd «NÈpšCX¹R4ãD×°,z€Žv<îQÝá?¤Å#½7ÎíoNN!‹‡ç÷º‰?rŽGâ§,³µP¦xIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/000077500000000000000000000000001254743150300215025ustar00rootroot00000000000000webcit-9.01-dfsg/static/webcit_icons/essen/32x32/abort.png000066400000000000000000000026011254743150300233160ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<#IDATxÚìW[lUþff/îµíÒ–…¶ÒB@im %´(PC‰ˆˆ!JÚ”­¨<ð@­ ¨(苚ð`| Æ_%P0¥T.½@k[Êv{ÙûÎíøÏ–°Ê”bOò%“™sÎÿýß9g8Æçàñ˜Çÿtca]ô}:ߤ÷ý~7VF¿»Ðÿõ;Ùœñ‰v&E+œ•û§?ßâ(›XÆ« QVwØ_ÜsÁË?ûÖîšôÐsÈ÷eíëì‚j.- æ¼­IuÞoÏ}$I8øU­À ÂaKñZ¨j„”’`{¡R“¬vÒèÉ/*ê‡Ö’×ÀÌ0%D$‚àÓ¦Â2§°šT¨š÷’¿÷sO±É•±Ó4ç)¨²ŸŒ„⇵d-íÆò¨±?´0…y+6Be¸Q¦…@ Óó0˜Q†cé$u÷C!н¯z»ýéÒuœËEò™ !‡¦†"yaÊ™ ³;ûÝî}[*&•@Ͼê Þ`®·•A¯ƒÉC7Gn‚ž¥R çòõÕ3©¨æ?H^ö:7Eì‹{<¢@Ú;9Ö > H*\]~­¾ê¾zƒa¼ õU,SgÖ˜r2 E.B ûÐÕâÇp¿ˆà€H.p°'ãÈœ—­±å ØÒP×öqåO9ïÓôŸ¨Šêq­\9Ò†X°þÚ‹°_U³± 5§¨JZ}(¬awY\ºá#µPT=p®ìݼ'åÙUEœur¸­§»0Ð;Œh(”@8ñì÷ùiÎ5š{æL'ì9y•—÷n®} —>z³€ZìΤÂ|HÁJ¾>t¶ Pºèm£dŒö@ 6ÁU²ÁøYÛÞ·\& ªÌ“ºôJ¬(‘"àÇÐ ÄHDA5&‰’•T€Ð‰”Å/iI¼{B9p¡nS­3{Á&s¦±Áf¨±þx°ççG1wa¢Q÷\Lf uZbmS#Oe„Bå)šàx² Cç³jξ—u"ÿ“®ÆUàìŽÌ$dK+]q¸‘<éhCÈ!â Rç‹Þ‚#ˆÑQï^™+QY†: 1uÅ"Ä<÷M®)Ï•ƒã/C ^$oü·Ž{‡Kç$øz%ôuJ8× ãÌ1Þî‘wÍ2²æ Ñ (r ûuLYXº¤qkÆÝÑ©­Ó+,©Gg½º1ßQ*½kÚn£´6«8ñ›2f<‹W ˜5ïŸ8 Ö\˜’+Ðúý·T²þ’¢ý=ÇoåÀ±-i‰„0<îçË!ž$ù:Évô.#{¼÷Œ9l…»“œDlo8iËÖ¢íÈw²yü®‚°+uÁ’r“ÓKáû›/ßìN˜L 8"0´oc­QcHCçaI#%÷™udkû(Œã,öºÔ¼\ˆ¾?¨‘ø¨”d‚rénWávdÎ`ñoc­Ñö’Ã7ë?‰ôELæz•ãgÜ®€Ç½d%ÉþeíUZ£ÃE½'•ˆ˜–¡B ·5ÌÌQPX,ê®Q¨Z$?õ“XÜE«´KÏö‘>ÀqUάÜJ‹+JÞ“ô¢Vnªîù`6‹KÈ2X\þ¸’’þ¹¢È°Áó°¹ÝpNÏ® ô´Ÿ2ðÂE­V„þª…Op™Di„IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/account.png000066400000000000000000000020161254743150300236430ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<°IDATxÚÄWÝOAŸ9®cÀ„ TMŒÄ¨11bÀ4($k ¨ñ(O¾èáƒÑø$!@D AAŒøä›Ô¥–ÊGKéµ·îÇÝõîzàb™fs7³·;³¿ùÚ"!v“ä\ÜïìXÙlî^°½8göMåluƒß_$Iô¡‡ ªix=4´êv¯;jã]ÚlI% i’†T:ÍŸŒÏ…‘m¹€‘Çã…½ôä*H’$€ÈW 0 M9C]s¶:whtÐgÐ=~2(Šâ$/šŸr…ŃÞìÑIG»L€×êNW41¸ á° š 9±LŽÇVáLýQW{Ðøýþ-ÐÅKËiHl¨®'Öã°A$ œ.*®ö(Ü#^~¸‰„ kqwTœ»»éÜZÌ%Œ2¨ôÀŽ9gbºTÍŽƒ0Ÿ%YèÓP üŽDòjÀŸ ˜^Í'ÒÔTFh¡%Çå–èð5:mEK7ÕÕ÷ÙBÂ+2þg¥fcuÄ9\`S‹­ÁèÈ0(É$ÔÖ]‚’’Ò)ÕeŒGÂPКóê?ÔVÐñ~t³30?…c#†<ó- )sfšd†Ì1¨7Va3KÌÈܬh4”Ä ”ŒZoÜ6 °FP¶REZt³@^ž••GÀWYsáY¾qéƒPVVžñ9ÉôõþÞnÍHÆKc$I8ÂÌ758¯S°5ÝB(Ëp¾¶ú{žÐÆQ.Ös™ÓI-m`D´çŒ-»˜À’&x½²‡+g—×kQŒ¦ü|ÖßãxR€lTظÜÔÌuYb@ÿ˜_·’0ùõ LÿqJ)ð| |¾*8yê4ï·œôj eÓ“¢SÚj™dÄC¹[ ,..ÀØ»·´Ýƹµ ÂáˆF#܇Ê+ ùËÁÇ“:Åþ†F­™º¡þñGšï‰„%úÍ›1¿MŒ¢t'ñÙ;ÚjøÖ¼bK7Ô-O¥RåN'Rè ˜]Fe† ¿y¥!`.Ph‘†ÛUUôæ û¹ ¥í–5oÑ¡ØNæo¸òOŸ[—¡q2‚®•nïVJÑô¿€hÅDޝ,u=z·òýŸp}u©K7jeÚ3_£#Jƒ:†»ýïX‚]¦¿ $ oS‰~,IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/activeuser.png000066400000000000000000000037351254743150300243720ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<IDATxÚÄWylGÿÍìñvßÛw8~~¶ã`5$uCÇmâ"ŠŠš¦J”H¨šÿÑ&´ L¥FèŸ@©*!Ñ ¨P(1•ã 5n@4mŽR¥.Á‰¼ûØs–oÖÏ®CIé“XëÓÛ™Ù™ù}¿ï4 ÃÿÏGýO _Zg-¼?w¡ºðþȨ̑’‰Ø72)s zYÌ:®ÿ¦ë‡ÑŒäÓï¼}ýßÏX¼ÿ–ÜìùÊÆOôäRO®ÿäJ¤Sܺ Z\bUÁQvå«î×¾µ£÷áïzïÄ­žÉoõCÒüðª¬ñäª )3†D<=¦“*H'Tôöv™¹vëçOÜ׳­¥ˆJ«3cÏf,$IsMW k ”0B0dp˜ ÓŠ#×Õ®ø¾ÿ íQZ nh¥,3iæ¦iBU 8 Z©„ ‘·l×E©Tãm™äúxL¿ï#9áâLji÷sÎà éR¯Ì¢\©B CG@‘d¤4tZ|ƈEÃppª%cƒ•º‡îuw`óàFÌÌäQÎQ)Wˆò,Vvw a%à¹&¯M±«ïM MÓ?¸¶€ãi3mb`°Ÿ¼?m)b#$ôßàº>²é$í9nOL®l™ Çcݹð;/_e&æïè4P¬9øGõýdFÁ€+´m· SØÕ¸뚺|M]œ7'Ã4Ê 3…úÂ\#¦ÀÑ¢*3‚iI¤;ÛîÔDÅÞÜ­¢V, Jb‘‡ ô%q÷š â¡J¡€:ÍßÞ€Õ«®Ûð‘¸R~ý•ó×&û»Ç÷®í¼wëmYîBAˆ!ijä ”'v|µz¡ã"£;"¨é'ß,Íʽ¯þÓþß,Þ¸ië9~Àº­ÝâL7 j:t•ò %#/Îà:!üº@¥VóÊÀ/ÚîÝí}ðСegÿúĉ¥& 0û@ùëøëô‹g‹³S¤¿p ’ h4¦ëÁC²¢V+ÅWþðϧÿKXøZ°ÿg¦\×þQµRòÜz Z õrv¹·ZïØ(UJ’¶gÂQão) æÏ#ß~þèö¾¶ÌŠÏÇã&e]œR¯ç»( a£Q¦o^ˆÒwG®uä³÷àÁÁM›ßö™Ç÷þð”¨WKŠOIHÚFUê®°ûþéÞácÇ.œ=wî·‰\gÐ’btÿþý_ØsàÀ(S”‘¡íC{î¼GõSTÚS&2‰UF“A[ìöuëW¯^ýKÊ’…ÊõkO‘¬ ›s±,ñIï¼SÌSýõãÇñÖØØCôzX3ã›’ÙlL7 >üØc(‹x÷õ—11þ;Xav¨¡ÈSØúÙ/"××Ag}ÿgφN½T¦§ßó~#ýbýÐÐȱ#Gœpþ®e&ؽoßZDé.ÿddÍ™@¢L*Í97,0¸m›E}]œèg’®(,9 ËYÈ£Î7‘:t¹"½ù7©L`d;&¨+ Hè(ÔC’ã{"rFêÞ ™&ô9uÍ[â¡% j(UFã9újNsÔw¨ô\gº®wbΪèééá4fAzBØtGqΧƒYWè7O2MŸo4/‹—hýÝë.«M“hòÒE¿jS”¦Ì¿/«ÚÍØö›¿óï^SIts~¡eø—#ùZI±< IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/addcontact.png000066400000000000000000000040331254743150300243140ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<½IDATxÚ¬W{ŒTWÿsïÜ;w;ûbXž²”…b(¥h¥!š4­4JZIIT4)ÑÆ­´jüËGll5Ænl(M(D#FÅHS75¢€P¡q¡ Û²ìòØ}Ìë¾ï=~ç̲.ëbA÷$ß;sßïü¾ç0!ÆŸ¬­{ÿJÇÐØûO×M»3•¶ž³RÉeBij!âÁ0Œ:ÃHœÔéž8Ðyeâã÷ßhpÜÄh_?ý¹šºì;³o›µqÖ¢–…Óç4%sµfK}}òÁ†ÆìÓ†wïþôÂMøƇxi]Ó–lÆøN.—FÒ4‘L¦  Ž@LÀ05L›ÙdesÖ®_l˜ï” *3™´ùB:“†™6¡é mL¹: As©jë5…?§=Ú”0ÌÄ ËÌ&’LË‚aX‡S*AºNkvÙg V&Ý–H$î¿úLqÎ!ÆŽç",ÙðAÈáFœØƒ^ ™ Z‚=xsJÐ%ïö¼Vã¤çÎÁ¥“Ç;%x1Q>wZçÍEÌ %œ9öwðò „–ØøOM €0 jx:‹¶eK‘ÍÖ ¹¹ ÅŠ‡t&ƒ¤FðDDk"$u¾üNü££Qœ9e>!Óê'ƒûÄk¬[0krž û“†Ð…!²–½®A„^À§ @Èx¯HšQ¸dsZìÒвuH|$(ÅGy뿌ú (|€Þ. –†ÐÚÜ"7ú†èB1OX¦Ž“W¶·œïÚÙR­iÕÆŠdë¤yà«íg7 ýåÅ­µI/Òõ|1¦;ºœ­P(`ö¬™hjjÂ?»¯àWG Šc]kË>Ú¦–uv}€¢“#u1|*]C»ð‰ߦB4ÑqúÅ''ÀŸzé= ŒÿìöÖºT%ÔtÏU³!Lb Tó.©ÅgÏžEÇ‹°La8܃?þ=zzzÔ\wO?¨=€ôO¹˜ å†Ëquø¼ú>©RžÿR[k£Yñ÷\YhdÂè i/™<€Sl˜üŽŸznɬŠßRÝ}øÍïcÓcbqÛmX¤¥F#[ªL1uK~e·¨¾oýq§61Jô8Ó+^È…\˜ŠPq ”µ98úîß`ׯ¡ŸÓ œL5&êQn\‡áBÇó/¢{x︣µjѲô€ÙK¿øßÍöŽ/o%XJµ„ÙÔùˆHrGʹ¦œŠQ‘@¨á‚—[ а ¤ij@C’rA¢çöaÃýO+ÚCjÓ¤òŠ—§P-#,ž7²AʬU øÐ‘W”Oè”ÑRA1AŽKƒ ¦PkBV~·Ê‰l:CÒ(ɉ‰%«ûU)’r]9Ü`ñ)î—F@UàE儎?„|1B‚g茔Z¯L‘×QµédUÒ•¤+g’LŒ¶!¤=R*ùª`%SHjUET¬JT¬báÑŒ­.ÃuOä¡v\!ÃÈK„j½à¹Ç‘RËGe¨j«‡,Är.Tm¹\Æ$Sô;gUGYÐð~ùæë××’¥óàCÄ,Ù®á‰þß®ž•âÀþÓïF-Ë4 nƒ:̤©i2éY­¡¹4…D$™‘÷f‚+óʹÏ*¹Vsv¹‡MË-D¡®Gl„:Þ>°ù®·ßxæÄÄj˜&™Ùö±MwY5Í-V¦an*7}>M¦•›¦%Ì4¥Ofe›ã“–º(p]Ï)ŽVá;ÅüóÛ?¾pÏñõÓ6~òSè{Ê2$&d Éù3Ý+3ŠA’ýÔGE•kï“ü}P±Ž~F‡^F¸mϲ^i{çH˜ Cþª¡ü£çÊ”Œ¯í^ÑþÚ¯>9.é¶OVyÿ%À»Þ²CWõÒIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/attachement.png000066400000000000000000000020611254743150300245040ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<ÓIDATxÚÄWIoG~U]ÝÕSö,nÛ²-AÄBàÀ–€Kœä† ‰ ›HHA qJ&(7rá›È!BHÀ$„XfìØÏÀL/•W==žñ¸§ÝŒòìO-÷òÞ÷–úªL¤”@F»>>}/{ M“ Ò£†ÎÆÇ;oõ˜?G½¿~ÀîHîY;œJzR¶EÀu%<ü;ý–µaf¶üc.?K¶®¶.†½;ž¯øWÖ*•¢íAÅm€çI°%ìæýdŸ„­_†“hI@%®‚@gíPÖ'4È—\H&¹@_ÙÛc“°mM8 ê¨ÍÒ7›®ô" +‘Jqap={klb46?þÇBÀÀF@Bµ#“æ‚Föæã…$ZŸ4 Z#ÑèÉpazöÆ£ühŒ¨·àƒd0šZÕ”ÌMtŸ 8’0…œ’Ùë¿ç`ÉPúbëðæ·#6|(õJèMP`xµz‚s#ûòÕôhÇZ CHpV%¡aÄ>+!tîoÙO6 dÜe(«KñòýW‘ïQ$Dˆ¾&rjµ»$õD*¢— 0¹i¡C~ò½Ûºžœ«i»’JòÈçݦ&£ð._ŠVB˜«|V“M1X”¤Îûâ3[-[LŠe‡Ôb°£GŽÃ‘ÃÇ´@v°r±8¶ ®ã€‹*èØN¤Cÿ0£~ ­ÿc[€Š 'ß †ÕÍ'×. âg%2ý°bóHõ!I¢^:Uÿ͈-ˆêfzÕöâË3¢ìH(”ì†L‰M½| ýzÖíü˜Ác‹VÀ^ÄÆZp´Ó…îšž”B?\º~¤†–¡šQ¿®cCjéL½ø*å2P¦ã3­­ $ÏÞÙ«÷ ۫֎𠞈 UÁò³Ö1;‘ÌOÐ0rRš™€Ù×ÏÁèNc_ÝØÊUÛðbñ&xöS%÷lßo7þˆåˆj „5_mD’fGbqh¬À÷ˆ³ˆCµ‹H,ßôíÊ‘Þ`œÚ¸ƒÿãïó¤ac¡~5¸èÆM|D#•C†8ƒøq/¨$º­boÿ J1Ÿ‚½ÈÎV% †iúâÊÙ´Ç(ªÉT÷qÃ,$Ó`˜|™Væ}Û¼Àüz( À yÁA(Žzz2BŠ™aJšÑ‘¦Å?’‘Q“§N,Ž®ìîI°RFgv#q*Ž•Ê'ÇhÁôdþÒû°«“fþÍ_RÊOÂþ;FëB ×NXñc‰”þOûO€}’ÈÒÇ…¥~IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/back.png000066400000000000000000000013301254743150300231050ustar00rootroot00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs  šœtIMEÛ ¤;dXIDATXGí—AjTA†¿ê÷”D„ " ÁEPIQ“…7žA/ Ùx®<€Å èĽ``’EvbÄDÌF£ÄLWý.ÞL’ æÍ<$ ù¡é×ÕÕ]wu×ë2I'ÊgïÆžK6 Y»$Ö£ˆ¬½7Ç¡öï­W/-=,¹ÙéÇüiý¢å;H$¤ è|‹èÒ«dÂÉÜAxàŽ»ˆ(P¬®­?ž”Õʃ;´ü'!GrBADnÏ„¼ê '"ãTu(PTýNöL´ ¸;Â]mãÂ4JÁXÇgË}oàjsDFÊG8A&È•œŒä¸ZeB™¬öŠ£M „KD€a£{VÇŒÿ¯Ÿúiž‰ŸÅòü #ºÑ“€õöÀæºXžšDó¡]ðí‹XYhf†$ð}#X}ïDCã"a=lm+‹ND·üÍkðHD”í0ž% „0ƒ”Œ»³ÝãÚ­Í`u1#ï§Yµ x†µ¥:´ò¦¨M (ajúV{D= 4ݹ ‰3%V÷žÖÀÀ‡ðü¥ÄÔLÁÇ…îƒpï>xî™ìÕ[ ë="àL׸v ƒ‹ã‰É;E?µZŠÀø„1y»¹/†&pùjâÊÍFS ~c⺱û§ŸÖÑhFŸêÇuíÖð®hL )N;· àR“µ“‰„‘H$ ! Œ³ °ë$2–)Í!È1ªŠ%a!qØÝ'`–(Ó*èÎ ‹—Â6Àv ¼xûáé±dÇÀÆ_É·!‰ÊIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/blog.png000066400000000000000000000014541254743150300231370ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<ÎIDATxÚÄ—ÏkAÇßþN6MÒÆ€ųVA‹Q¡Þ±V¬—âE“ý{V{’4 B/VEAô`±¶=y‘‚¶Ûh‚MbÒÝçL»Iw7™én¶Ñ– ìÌ|?û~ͬ€ˆÐËW+ÕSÇRI›ñœe–…ðéëÍ@õ÷ŸZ£Ñ*LÏÌ÷»b6Af®Dt·Z64­p¶ÐÚ¶AHi:YÇx³R†É½!˜ôÅ©xƒ,€ZV—À¬YLj:YËx½\†KcÝ"s¡®÷›"" ñD*¥éª¦¯–7gìè÷{Q"¬:4ÃiM×TÕxùÅ ÁÀ(ú Ñ6DÖÖô˜ª/–ÌÙ9°‚F+x “’@_OèdtVINØ"¦ã/4?oÀ‘Ñô¼ÌN&_8ˆ½}dpÅ/Þ,€;s¼$q6ë6dFâºYãÛZ…ï¿[/îÛ»ÆÒ»à‡w!̺ÙL\ÿ¾¾}—íìöÀ»"ßçg ;óh).”Ö¸cE%ÊX ´KòÜ<¿8ã”x‚tDÛGðWtL“ ­+`–ë–Ìm(AØ–JjÜçC1 b²ëfß ¡ãÝÿߋԜ&®ç;k¶5äýZª{ÆÄt>`·†¤£3³ôä~$ý³Ó¹. nЂñk¹H6zË5X\Iøñi4ŒOå<¡à† W#:3•;Øó7¼0V« K "œ¾z§K#˜œ0H² '/ß -LáWŸ?ô”vÛbÍhPF5mÇèJÄ~J¬¹ˆ¸?ëÀ6ùü;e†2FL¿ø:!ýÙ´žÍE(Cì¯îœnRWnHòê„nØLJL ïT 8ð2¤LTÊfñ} f PýiÖÇ©  r;L®Ä€ô·Èõƒ ð¯L„ÿlI©Ÿ× ¿™œIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/calendar.png000066400000000000000000000017101254743150300237600ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<jIDATxÚÄ–]HTA€Ï¬W C¢‚Þ¢w!BIJ¢ˆÜ"KûY"ê!µvµ÷.DÒšFDX¹Z&EDÖSDôØKoö"õ¤…±‹¢íîœæÌ½wïÌî½YÂî̽sÎܹçÌwÎüˆòu~^ÖÆ¦&¤Z Ù)(ec#”R¦Â¾ôìyMíÍ¢þÊd2`+¶Œñ#–-£â"¡5¬¦÷ó™™T)dQ¬¥½=ykÇœìZ©•Ú+?B)ä‹ó»R"æâñyvÖjì.L¶¥‹sŸ [µ¶c –¿ÿ„å,+ª¼šZܰrª*ÞÚ$Üâ°ô£ø²F€ yDU-Å–Év9‡r²P“°äHew Ì!0è±íé \ÀÈ ¯((½TÚvÃjc®­~›“}Æ1»ŸC°» NKA¯`N'd9Žþ ïTã–K9Gs Jǘk\Ž:i›dÄÔQŒ¹:jFdzëÑG@Ÿ?…"¦4n…@42" 8³fpa ¦ÍêÎ çL óØuÎõ›™{BwVüØ!AñaBaS Á¤Ðe¹EÜA>ñE½Õà* ûÁóÆyUÃH¶YSss2ñâMµH¸}-ê‚5Ðâ?„Ê)'/½ßî ¦drÄ\RZ·DÛ¯cGeÕLÄM865*“7L8%ŒqeY<‰IôD+—„Ü娡uªÓ¯:Á –!÷˜¹L¶‚} Éû/ßÉPré1\âµúNôE­=l]HÔ…"Qm¦ ‘µgÂ.n*ÃZ•Ô”ÀÝu)ª…àÑhÌ2¦x5-ttcÂ`L* ²•LÎKDÇy¯]ÓswÌ׋Û[_Ÿ¼;ó^†`ÿΉsB¤”åeÝyÔ¾‹÷zFþW,$P_º0W†IPB`õ™[·ÂΖ'@H¦$%@D!ܹדàKb”À‚ÛEßa€s ÞM%$Aü”DþT¸@\ܿƢÍFP@ÀÍæO¨ø€QH½àß*È…“T€&€Y,ô'wCàs³'P˜r:Q'ð…Y9ª+B%¡Ù“0ô™$!¶Í °{IEÀl¤ © ð è“PjEYÔš€jfP˜$!ˆ³2!H° #¯³óíûÀ±B1?Œ¬¬­½©&¤”’Jµb'ól{ëw„`THç³½w¬«kB2ýó7;CóËzþÞkíØ¥…ÏÀñ—‚6ÚZ í¥¾oü`d9Ú~l‰IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/check.png000066400000000000000000000027401254743150300232700ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<‚IDATxÚìWihTWþÞÌ›y3o&“IÔ¨(¢u‰&j´¦)nÕ¶"•P)­ÔVüÕ’­%A›ˆÕ&MkH@(”þ(HE©µRRŠR«J…@ÔN´IÌdöíÍ>oëyCÍâ4.zà0wî½gÎösÏ0ªªâI’O˜þ7€mÿ=?g¡åNKé2ã» ½…7D‚:Ue+O—Ú.Û°z> }ê ý`®< úé#96ïËu‹÷i¿UÅ> ”~¼öÁA“1¿­|ÙëeU‹fñc3à‡«Õ&£í„¦œ ‡>ïUÍ€¯‹ß_9zˆ”·TïƒÖöÜAœþëš:EÑ!WÎ…Î_>vÈÈæ·<»â R®"qâÎàUJÞ®Ùâï~¤øö·ã‡Ì\~Ëúҽ䭌PÌ<!-&>9ü‚÷ólP•GÓ‹Î]jªå9{Óú’=PT‰”ÂíëC$êùâýmžÃ#PU©UÝâCŸ˜Š§¢o.~\k6Ú›6¬Ú "BÑ» ~ÊýmM¾cL+V†òÊT—.z¾š´Þ9´7!OFgm©×”o\½’’B0Úh"‚C+½w¶W¼õç(F†ªEsWcÍÒíÐ1ÜyÚ«ÒR3ODg~ù´žç Žm*ÛMÊ“ÆzK†áñ»J§Z_,?pÒd´Ž}ŒUgÔê2%&`4°X¹x# ¬å3Ú¯%Æx<îl­çÍ…Ç6¯ÙEÊãDïçAÊ9"øOoyúµ‹É½žÅ½ˆ‰¢ÜÚå¸Y!*Jž*‡ÕTØDgM¯n«·šgòWH>Ÿà@4釘aàöh2y¼ãÀ€Áx¨ésõtBaèuz¤$?–-,=ov-µM†SÚ¬šçk_†$GáÏ*÷A–X8Ýnˆ’r¸rÓþ‹œÃܦáÜ’áu1]¸¹vy$&D€I‚çfcÐã‡ÓÓ«!·.µGF [ó 6KAãÖg*‘‘#YåBÂ(Á !ûŽM»ß³Yf€ÕÆ<Ç£10œÛ[²Âìíê邉™=Œ¦îbn‘ çWÑyo*†iÝg™Ñ¸e]%ᇀº‰0Õº$2HÄõðƒß‘LÅœ_ÞïÅÀèüžN¥2uÝŽ¿aåæf[g$Õ‹‚=J—€ª¿fæc;‰É«ÆÍk¶#žöúp|zžBïÍæ}×¶ý²qœ¼‡ÑÜ"­}Î1‡¾+Åû 3Xµt%…’;_T8¿aCÙVÄÒ>¸ÃäyÔ‰TF!¥¸<¢Ô%Ö ¦lÞ'o\ì­¦ß5`¶˜—Wq–"Õ "‰plÊJ–‚7Ú©Æï" :'À)*X BŒA,ž<™I[š³Þ §œ 'i,í7n;ªV¯(I".zÉ3/i*…£ÈHÅ$Õ<)g¬Tr&øüA­ÕÉi*žhîEîE÷ ÇmtEÐÃI©!=@ž HKZØMÙл}´û$ÌÉ€ÉÞ|I2žM¦Äº;}púÙ`T YO@cˆ ´5Q™G(("VŽh÷s˧š…m ÑY¼‰¯6[fR½Ë´—¦-¿fêFʽpRUÙ£#BÚØÃL3£IUõ5N·C¢<ë;…œ‡*›éÀ _ ªÝoÛÞF<1‚iíp m$d£tPèCi­li¾Ö9ÿû_³ÉfÿQžP›îQ¼êò©äÌH§@y—Óþ©\•vvvŽÅ@åüæÑzÎÐÞ*b£Öêµ÷ahoñ,m!ˆn±?zÍPl*ÅÌyKÞ¤­—†îô¿ÝÄÉþKÙõub™8³à¹î®{ùW€ôXw©ä=ËÂIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/config.png000066400000000000000000000035241254743150300234610ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<öIDATxÚÄW[ŒÕþí±ã±½›díõ*[rƒt¶iØm  ²›  $Þ*u ¥D¥qk›!¨úÐá!¨$*‘PÔ ñˆòÂC (°@²»ÙÍ^’½@Y{m¯=í™ñðý3¶ëu¼ž8»¿Ïœ3çüÿwþÛùGX–EßgóðÏ+§Þø.{þ êk0úg}?ÿÝJ´J¾ê³` 0l^‘ô·O¿•ÁÚPýü»ïœËjšÖŽw™ïÀ³„ uèÕY0¬}—I¦ÈŸóïô öoA÷pY3s‹Éq-"¼ݳ=û÷ý9‰ aütíû’U¢R©–ÌúýϵF£_ܽç§/bøŒ7®ï@÷Ø¡Ã÷?‰D<û”ÑðqŠÚÌÿ ®<—›Ÿ…G¢Ñc÷ööøÛ¢Qéžžž£˜?ºWp^Ôwèðá_·¦ª”S³´ïÀ9ojn¿{ÏžUµ‚™L<ßÞÝí 55GZ[ííÙëÏ$“"“𧵫›¥={ï­€7Œ‚šÖ×{àÀãÙïÖrl &©†BûÝçw»\"¯åIÍdˆ×‰`Ë~ŽF[¥zP2 ÃJÍ%„i¶o¤bMs³tç]»Ÿüè?ÿaÃÉ¥üãóO?}ª««ËƒVu0Ó4i>‘N›J&)•JQ6«’aèˆ#¢€_¦ÕkÖÐÚ– ^_qP77³F†‡ˆÞ[‡âh"‘8ñÉ'ç …‚Åjff¬æ¼–£‰‰qššš¤ùtšt½hû€©”šOãÝ _¡\NµÍc–ÍTŸ//]Ö’Éä ð^€°±èäü|úÄÅ‹µ¢ ¤|>Oc£c”Ig G ‘`á™#‚˜0‡}448°™0âòÀ@NÉ*,üä2N¸ ˜ÏÚB0ûÍ7Äêw¹\䌋¥x|®433CÉD²dfÉåv“Çíb45=mk@ÀgÊYâìbaXÉ„7¤×î;vù‚~¿7«d)>7gŸÒĉÿ÷õW–’Q&ÝÏËXöh?îÙ@ °> Ø3K ¶h+…šš©`Å/úû µyŒ“Ó3Oüêx­öÕ§Wv¶D,N*BQb‡Ä9”T¢áÓO<õë 5Kßd:õ·¿_ †‚›‚ ‹¥(*­‚s®ko÷îØùcoe1¢$øÏ·Ïða ±‘Çs-Çsð‚ V <µ œü÷Tév»ŸO%Sç[Ö¶8ûa*và¯&'iT½u…hœØij[ÎI’—, N%¼^ï‡çΜmàC~ïóûü?ÎNª°ªý’*IÅÁá0á|PÙãóz‘—ÌÝx|¿TÛí•$kÕ*ŸíWºFA'‡•U!êT£À4 2l2kž Û^¯$ÐÍ7²Z_mdDÉ+7mØ`¯ãõ.—›tæde˜ºÃŸ9y5ÐÀéÏúûDA´5ê‹DÂÞb¡Hr `Ÿ`kG‡˜™žÞ’N§¯Bå ƒç³Ùì€zI–åÍ·nÝ* yÍquä h…sCa>=_¬‚ ¨¯º¢¨ëëVƒ?hoð¸%&?@°òÌÀ¥KÖØÕQÒr9á—ekãæMÔ±}»P²Ì/›U(>;k'ªD*¥¢PÙþÕšâ7}¿X¶ yTòJ|Ûmâ±Ýtó0„Ò;¶‰Îí°Ç%Ãp>ÊcžÇœšã³1ìµk šâþЫ+ªpúçp±üéŽÝwɬ!C׉oÀ‰±1R³YÛ‰ŠÅ"eqM+¸`{la^Uº>>ÎÑb‡ ÖŠ]]r(z|Ÿ^maáÝ»~"  ¾ØŽ¦}htmlœ¦'§d2öœEÎMÉãÌ_Ÿ¸f ¯Ô ltxXlï쬀X¿\=p„3×ÈÐaŸªš”ø®)Y|¢x½½½K-ÑN£Fhøm¸RáLÀÆÚ2ñ3·•ßuð¨Ô!‹ñúm™†@|!Lâ $è»èrymec‚ï³}+À!1u¡HÔ•IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/contact.png000066400000000000000000000023701254743150300236450ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<šIDATxÚ¼WÝk\EÿͲ[ÓÄlmˆ‰¬‚©¥Zi#b²(¾Qƒ Ô×BÞ|Lñqý#„ÄõAP„¼D‘¤õ *4­ ]©¦icÛ¤›¤IšýÌã93s?v“²ÙÍâÀÜs?ÎÌüÎïœ9s®""D[&“¡‰‰ $“IÓßý­jÏ<‘ÄгÝ*úNÕH¥RÔÞÞŽl6‹V·÷¿\Ä;o7üuã÷SN§Ó-g`¯¯§08؇âÁRlwöòµÆln{XÏTt&U³×<‡jn"ÎWf}lll“gÆÇÇ?¬  X$ä .ªB0U‹TÝG@:pârñûððp'ËáééiùZ€ ª Tr“SÄBQQnEÑWÊéÉÂrÏ_¿««+Æâ¥}¹@ó(­i—uQ«BDþ2*B“€ÐdA6´k U}@¾¥PÕì¸ýæ AÍðt$ÈjN)ªaD…ŒDØÑºi4Èw3MžŽV8ýhÏ=ž¨Ò¿t½‚¹›¶ŠÆ‹a†š`b€"Ûïúyá¡§av±‚g (ïØ™´+ 0 ³/´áü\ ¯xÎ e·.PÈåròáÂþpÔ‘3'},Žt_ŸÿZÀʦ)ç¶¾Mø~¾Œë«^ë“ån¬yf ?ÏÔÔ”LµÂ}n_LißÂyñïæKX¾ë¡7Ã˧ڌ”VªX½~ÈãáÎ^<žÀ¹ªíÌy@Ο^Îò>Vo}ÏE¯ôþÇâØà¤tåÖqf;3xy÷.Ü3}™!Xªÿ¸QAëf šôÚ<«ï íyÅO>GöVÅÜ i_]*˜Ÿ.­–ñíï›x} ‰O\5€f¹E ËŸ®ä#õ‚  a@ˆ ?l¹Å?ÚÀÈÈäçÔo‹··[ò VÈsßZûì\æÜÙè¿á®ŸSç³î½N¶ª‰%ËNÞÀÿÝþ`)4å°“7BVIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/delete.png000066400000000000000000000025111254743150300234510ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<ëIDATxÚ´×{L[UðïÞ¶P^Æs¨¼Ù㛸A6œÌÜd7]b¤í6ÄMœ¢ IlÎuÄelÁ-ƱÁ\¢(ÎG`Š@ËXG(åUZèÚÞ{=÷¶TXaòhorsOÎí=¿ï|=çÜ{0Š¢ÀGý‘ýVu5·:˜«‡“c˜?Ï¥ÄÓÙ±[`æ†3ØûøêrN&ºäß蕎Ïj5jÝ&öÂ;ŸõÌ5éøÛf¢¬5†F9NQ\jL‹ÅŽƒt ÈjoŠmÏ6—ŸKÙæ–¯0¤scžÈŽ#ÚZ~ƒ^OÄ>â]e×F[…5Šâ°çc¡@É$3X{s;ŒÈéÛ·ó_/RÐܸ¬EX%ï'N¸ÆBø3¯Žé°ÑÞ†I3N 6`亰ZÞo,s Šƒ°}G€2(A#®‡Èà;Þ±a=cè':¯]8{Þö 7 OIŒ¥¼àx{ú׊ϥWn†Jâ!½úòëÿØ<Cß ?—ߢñð}‡2Î08©Ÿfð¡nà,P%lj ?g“A8ø­ rrxÛ#,ÂrŠ4¨@+ªgp­Š‚á°9˜ŽÅÁ’Ñt×mMsþ¹&Ûd@zUðѤ”¨ð O²Æ•$ƒ#xÎÁ‹‹*®¿ûàóÊ€ôŠàäÔñŽgD„î-2áæ´3x¯‘Áܰøm…Öø†¸ß$ø@1L¼»ik2„î)DnÖ„ÏOá#4ÎÆæÍ¸x¥vր䲠rZFTxE¦BÈS NO5ŸF¸ˆé¹ÞÅKÜR°2¾®î5 >QŽå^Q‹ñÓÖ¸–º%¿¾çÿÚ[Ó ì¿(¨´àÙ…‹ðInJ»ÁŒßYM›«ÎÀݯù•3d…÷ã;!˜î9Z\,¸ÂÒsƒ‹'–²Z|ÕˆøU³Sd™Otg2á}Ÿ1¸á2Ós#ÂÓÖ‚¯*Ñy~5BJ-8vŸ_‚»zã»"òê~_ë˜zh½_ò«Ñ[ê»ýIÊÌûï?§ñ)„‹™´¨ç鿽žÅþ鹦À}ÿ‚ÿ)šÏoúÆí† ŒƒK{¾wõÂ3Þ¾ÞõdÙ t>Þ8o Zp£Ú„ëä0;IÂhŸ߃𶬦VtÖ¸Bú\¿ø LÑ„Ó+Ü"gÃ~k£ï’%뀌Œ|ÿ’‹±Øà¿Ó —™qž+Ç8“è¼r¦Ð}±*í·”÷‹ß…ê/ø£ÿWØÎmX‚£ÑNò|ðçÃ_ª»i«ïÜŒïæzú}_è+¤èw†ÚF üyí&Ì8 £Ü}ñ\„_³åWÖöl8·„dä9²¸ íj‡ÏGÔ Ç]À3€o€…Sàˆ»”jõê[ ô o¯Ö’|£v0¸r°°¡N8É`3©…Y:©hಜËm…/7މšju ùksÃ]àîêE@¾ÚÀW—¨RäjxšV{í˜i¹ÿØQ4æ¸%ô^Q¡TÌé»@š}R•Þ*€†C—ì=˜Â£›½`xtªDZ’¤è]K6ªë@uK˜œ]7–••µòB$9ðáQtÙÁþñÒ(‘ $‘ü½L;褤·9#æ:5½¿]îu‚NÝÂúW€]'Ÿ °ÖXŽIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/draft.png000066400000000000000000000022201254743150300233040ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<2IDATxÚÄ—ïkuÇß÷3É-×Yçh‡EQ¶uTd`·éX[°Ã)"⟬ˆŽÎ‰llúW‚"‚˜!øÀeO| øhnÌ?æÊ”ºd¸®µ)¬M“&iÒ]r÷ýúù^.këòã’Zü†ãr÷y¿îóó{çÿçR+’$­ûãB<óÆš5(^‡s&ëš³möI¤38î àaC|¬¿·ÍdMzÈq8þ¸³€m‘È@vÙ:»\–wGÎU»7ž,Ö¯’/1æã(Ù ª,Á  ²ý1žÂ`_uˆÚ ]!~ŸŒ5 V—¡ Yp`šƒlE/ÇRÚó0„\ÓГSS€­¡‘'ÚÚ†Т—b‹£¾\ýV@º!ÂÑÑ0º½xc=D¾}($Zèò :;FP×¢?ü™õ‘«!°r)ð`‡¿2ôr@U-K2ºË)'A ¾Ä£&°£»ý\íðrO½þ5"ŸAÿý7, 56Ī'$l ÉPéé €ý;‘méÚ8zFN`Ë¥ O|å;¼ D@-C(¤Ú š&ŸVkW×!çbP Øqà5$®| î8°ÞD½çD)~?‘¨*™€$IÛ£6ò€…=‡ˆfÏþW0ûÓ§`v ÖÚ]zg(å+_þ*v;j݆"ÞÆ¡#¿¶4…h%ˆ™ŸÏ‚ÛEXß­úì¢ùd]ápPAP•Á¦ÒP'F;Ü¡síhûz€Ïž[²ìe¶CiðÙá ÷Ù—1ýë8Á1X‡N¢•Ué5*Ùë?ñ¡ +_}¸$§Qº}…bÏÀ ‚ˆA± bà0APeÐuqøtKÝRxY¥œBñæeW¨*­UËÍ“¼º$– Äd6z÷àîÕo‘%#¥çßk€\ <{~ 6õí•,J‰¸KÿØ3ƒ˜úí;¤vëé÷¿g¨„Àq$ו)æ;Š+Ë`s· ÐÓÄä¥|Ï/¾&ÂâÉ.ö»h%’p&>…ܾ7àôîmn×䕺›ŒÄY3B\ !‘ ay?‰¿ð>ÐÂøf^|1yõ6um=¥n„e¹m„¢5Œ1tôè},B”³žZ<…De¸Øˆ$¼­Hø°ÝİCpmE#Oh~¿ï¶0Ð8 $–Ë@ON p‚\hÅŸEðÁ»MŒ\{)| ãÕ©.EðÉ@>ßÜ¥pÖ³ÉJ ªzÞVÀ"«Ë-èZP”`š|HËLÑx;ô ÞÕ$\õ;æÄ¸ÎÉw$‚±´mÇbýcÊ\ªÝe»ê×1ê˜P.rÆ`?¶'Trªx«ëaªÓ’j¢“:/hÓ¨ì"βŃ–¹Ì‰è2‡§>b¼I"öh¯x"š¢Y.~åÜÿÚsÓIux“úPãó§¾Óå¿ÅtËÑóª.1Ñ.Ý{ûßðð¯;.._IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/feed.png000066400000000000000000000023201254743150300231100ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<rIDATxÚÄWÛkeÿÍÌÞ×d³˜f»¶ÛÄš&hU¬P©O‚Tð¹o>øä»þ*økÁEÁ}(%KQ°Išsm®{íÞæöy¾™™ov'#º8;³ßåœßùó™‘cø?%Ä>˜Úøˆ.׺ìûÓß;g ®]}ýdO·¸HoÜÜäÛ¸44“IÿŠÖtr˜Èó§€(°ìŸ;9Ê©( Ь='0Ȼ޵00Ãt³9(—φ­{ͪÄN±FZgÈÓµ¦±ãó.ú—[NÀfؘâ-Ó}J‘ŠyÖKd½`b=oèã +- ð?ÃPÊ®Z‰öMGPSM,íê‡0ŠÐªÍv¡ߺp7<ª›–³2ºWö(.P _ß«à•Ñ8ÎeÂîø¥‘öKì—CŠ×@“ÖãüXLÆ OF-ÍWLÌ<¨cyÇ£ùæoU²A NFl‰á×Æâ˜š)#(«ÖX€,¦@§CÍÕèp¸Ó”š7ŸKà‰8õöLÿZÁÆî[7ž¸ó¢Š)h £Çl¸rÊ?û±ˆ/)‚(º?vÛ‹jd(‚w&{¬½|O]eøn®â‹øÅá˜Å¦c×QÓ{Øø?fÚ}ÀÑ킎¥m?=¨á‹Û%|üms+uˆÇ©ø®<Ÿt÷ì•tÜ]ª¹ó‰¨„ñSŸ]®L@ঀMúƒ´\ÑñÍÝ2¦nQmxaò¼„Üu3óU cÙh›-Û «Z@:ëâîß.šޥóIw¾T3pÃcj(BŠº¨hCô)‹ÍŸŠÊ7_M`âtÔê ÎøêžŠÙeê ­ãkù…͆/UOŸûìŠ>C"&„uþt o_ìs[î䈆O¦sVs¹3_ÁKgâîúg‰êÍ}Õº_lI³êzû`í \¹Ðëë÷™þ0Ɖ g~¯¨a+玧#î\µa`·èÉ*Ö6‚j@\”ˆÉmG/•ðú}ÍŸk1M¹².4²vEÈLOç×ýGŽ3ŸÆÄ5«»ª÷Œ'ïýIÅ+<òÚp,,ùö‰>CAyáòÕLžšF çNÅQ¦Êþ~¶„­Õj+çÿßCÕ¾S°mð’û &ùm·}˜´ÒÂ¥Z7pýV®ãc•¯yÿóÀ¹é{EK}«n} —îHP Ž|ü¯¾ :úz»H€À@µœ»ñËÜâÕn9_oú´¿Q‰$IIº$Mv C…t‡|Wþ`øW]’þ™IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/file.png000066400000000000000000000017721254743150300231360ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<œIDATxÚäW½n1{÷€ppH (RŠ$š:Ro€(H…xDEGK‘¨ @<ÀIÀ€BDA„RBâ§¹ä’Ü®íaÆöîyw½—4ä N²ì{ý}óÍx|+¦ù“0åŸ(_~yDÝ]j'÷Éý[³Ë6ƈ×qRã`ÚBÀ ¦ €‡ ¬š†z0d…ˆ{KÜ ·)£ØÉh Çm¸‡§„·ªD½÷óVY-,V4 +(í±z9áø•fR‚S!<Ž“ÛΛhQÅf‘­0ñ$,P«¼vî«áØï5‚ãCàJ'¬ž„Hú#G@Ä®ŒØþñiŸ¸±ûRŸ·%!/4yI`¨˜€îˆ{pƒ>bè÷%p•TB Ãø€ÎË6“(¸q)Ã’Ÿ³²ÍÐóØ®œˆÛFï =² TF ä÷AÓyV « ¡°e`K‹ œ; píB @9,]L½½ãíjLœ´*æ$yÑ+׌ Æl\\P»2'áÔ1 *Á™ž†Ë³ÂÙç“Ò~¶§ÈΤGö=àž='Emóž³M1R€ò,šlVBýô×$ܹڃ•þ Œ{5§d?NöÍJ>T..lÞ®œÆ:ÙVйìMÒÒ‹"!gv\úÒª2—*­ÄF8© ¸ž/97Ç{tš†ƒßÏ~lÿ¼M9 ´QîЇÁþqõàFH›/ÖNtyŽ{SŒíœ#ÇÏÆØþy^5 ÁT¿LÒápææíEq $RÂúçuHƒ|ÿúdÙ:PG»]Ø$ìôÍû nSü4ëR;Íý«×WÃÉ›_/vtäp7oÄ'¶¶ ¤eíÚ/ñßÿ`QcD<ûÆzoIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/forward.png000066400000000000000000000013151254743150300236540ustar00rootroot00000000000000‰PNG  IHDR szzôsRGB®ÎébKGDÿÿÿ ½§“ pHYs  šœtIMEÛ/h@¶MIDATXGí—KNQ†¿úë\^"1ñ*Æ a€Ê Ü0îÃ8!nÀ[˜ ÃÃG(‰Æ¯ Ýå ûÒr roÓ‘˜ð'uûœœ:§¾®›®œ2`ôÎý¹#c­E³ °SgüçDb¡ jx‚x†7J«VjU ÄK¤ ©•Z(ù,¡J… Âg1Ц2$ I²Ûa;›Ýõ~ïý~gîÝë];NÃ79žÙ{gÎùs~sfFH)éFž—>Ü…æ0dätž¹@>„LþüÎçO^O×XôÙ°/:NÕ\sð‡ÿýËÝhþ ¹w8»ƒÓ£”ˆeI ½l§Eÿí"•ª_Óåò$¥÷)ÆÿjßO~yb-;SÏ]À§^J¡9ªk‘ãï§¡ìvõÞ“6¹žMžç°!e\(M:iA•j³”›ÿ'9®9‰/O=°óÙúwðþÉ—GÑ»93>:¾i¿òÖv[J\Ï‚a6a<_(áqˆ iZŒt¡K…“4_<ÃÇCûwý"w-ÚJdï}þ×Q)Å¿oÞ;úãÍÁˆCM³HMë*µí2YN•,·A¶×SrÐw<X§¶³D-ŒmÙ%ØN[†ö*}¬÷Z©èðîô+ié‰lÞ›ýáÐn2í5Ì”ɲëäº&Bo‡‚ô€ÓóÎOQ[e ëhËÍ{²¬—õS³ÎctÒ£CÙÛ¶mºƒÚV^ðSWá–Á4 aîï7i¶h Ǹ-5g/HôǺÒRJ&2tSflÛbéÂQ¼~LtÙ 9ðÇ÷G&ta|´ï§Ocb›jíx]…GnˆYƒ’ctâÄ9zû3ˆˆ‡| zð¡ÑÄÄ*ÔϪ´Pߦ1ŠhiúòÒÇÐÙ¼ïà]ÏL­â€ç‰?ŒnÚ#9G¾­2XÜV0ë¹íÓ7Ðk¯¾Coþý49V ¸®¤ãÇÎÒ+/£„1Œ…¸~‹•i€?K4”WvVqàÅw6íÖµèÄ-ƒãÈÛ’ ©b¼´ ¹uÑžûb‘f/–Hzr•,ÎWéóÏæ`Ô!mÅ 'ã *LÐX4NQ#9ñÖ¿þ¶»€”Úá㈘§òn:µÏ=å‘EŸýgNy½–œ˜šQ::Þ÷DÄl#¥éäFe¯‡„`èDfÝF°¾A&Èç8Íå<=þ¿x¹ª¼]ëY*c)Ú¨Œ¯° ¢Ù¢ˆžPözxRlOÅÓj©™È£WF¨@R*-¨ÝTÔ ŠOW+%Ó¼u¼Ë üÖÅ4 -ÎönSpäÍ­)éiÙ¾h¦Ž\5ƒœÛËi~NÇvF0Av™´h½  ~í2Ô8æ sAõY\'ì3/i¶«"€pD;Hl,ªØ¨R+),A˸FÅEƒþ7ï`wn»=B[wèÊX·çü±Ób1[ÙÕ ¢êºÃ fâ¸.ê½ë†} öüì&ºu,ÝãùÐH’|x³Úœü¨ø:’A´Ô;vàÙ®ðÂ#êHA¥Ùn(¯=ŒTåµ+l ‚ß³DE–æ.Vˆ÷!‰ßÜ.|ƒjé&»ŒÉ}RãüV’ëÈ:Û —!М®6ªMD½âhp® P<õ»QÃR­»¾BŽÚ¦GÕ¢Žížç{í·$™¤jÞÉÞ:à‰©«¥‚Z"šˆñïP‰\Î+yKµn§Iß»…|[­ORè±ìJÖ>D'Ç–ÊÞÊB4™¿’Çî–Ä>&®'´hE%¬ð’ö"—Rå“èâù«ëPÁ ‘TJ8äéø¡J½¡ìõ8òø™iÓ²>-ËÕÓ*!ä2¾H–fsåu‹þ¥™*Å#™ž\wÒÄÞ“Äu4j¶Ì©T<>½ê<€Mâ·ç¿¾@1=ƒT¤Õ')EÈ\n£Z†J…örqÄK!ý#Y«Žƒ‰ ÇÊ œ6Î;b±Üd;¿§kÒ©ØÔRÍz=¿Xz4›Ä9eÕk¨¥Õ1x¥v†žüu,(bÕZ/›çü¢OÁƱ… ðÊ4uj¶­××÷ǦÖ<õS3ùorºNqcð×''‚|Š€”¢‹\Ëï:ß=å5«Ž(Ï¥ÛG …JŽõ_÷H–Y©@É¡ógJ–™ Xd ‘ôKZmh\vòLê|ìçÛ'œ >ŠS~¡Vf½™uÑÊuð“]oäàÝ=羚ËÕ+õ ¢_y" Tð–ùÁ^ûyÖƒ\G 4¦V“cÇéR¾–áånÖÛ{\?ÃuÏì|arf®AÂ9³PÚI¨œ²±B4x¬¾Ë]-Í/Ô&Yë[k 7Öú°!«•Ðá™yí>Á|æ^¿‰ÍÑzÛ0Œš ó+« zOÁn±Àš•“ÍôwJàìûýÇÿ¢4O.dïIÇ/€>{|üœi7MŸ=ߥ šÖŒƒt©,6­ôL/,$9 WÖ@ðkQ§ôÿç€\ÀW >B­ÝÎÃåÛдa&¤Û»´€T}Mg!|ø»Øš‘,¡ë“åÖ9¤ ÌÓpî#pêþy*§ëHJ†\ç…饥±Ä+‡àߺª‰uF@Y‚ÿ‡å/ˆ­›§¬€\ÿ,x“c,ÃK @N[lÍèµþ&„>à dæÄÎÜ¿u ‡Aº"ÐFâûe€‰:fººÇGA©½;97ÃK  (êX“Í¥¡ú¡qÓWüLf­¤Ôû$@ë’Ï‹PùOñ£6r£F£QÃk›ZψžW¡›!¸GÆ~ ؉Î2eÍû®nó|¨bL£_‘^…ò‡"Ã{2fcoõ³) Rtd.E B—掟ÿÍs÷›÷D¬:Ó¥KéEÁ±$Æ N†«£ó0hVˆéÈeZ3ÄÃ>P‡žVËŽ†jWx¡ Ç롊’ÄÓî#$äh¢–rÛ'ÞêÒ²ÓÊö{_i¡ÝÓ&%QÃÕ0ÆlõúÉ ¢(kùD¢’3[ïìG:]F<ýËu7É9eÈ ÑÏpãa¨âlX"t€ðùxüšò¦?Óð˜®ÈåÃÔ7ð‹l §î ò@‹¨Qèô¾<9ÏÀóI½a=+Þ3¥Ö@Ð#(FñîMD%M¾z¨‚¡¿÷k±¯u+D(iî:yG±Þ•8ç|ÎhÖßu„ΔRq° ¡¶IÃK 0®äF…ŽnŒh‘bÛʸ†O†söêÚ½£xÌyÓb:ZE»–Ñ‚Í2†×Q1ZáóQcat P¾Á{b ì áZü=xGz—ÀœÍ×¢-pL]OF´óÀ¡5kÔÔ²”Ž;í ÿ˜Þw{’ËV”ŠÛšCf|´FϨxQ û~«‘‹xOSj­†Îž }¿á°Œ˜ ÛøùàL¶¸ãyÏ zuö_ƒ‰Úÿމ;oÌè”ÀïÓú²ŽåxFªÑã”ïh$Rßû–üœ„ZŽmGí×ïP !hHÇÍjé Mœ´ëFc—]qéÔ,ÇqG3\BŠC©¡Ê&Â6îM$¯„àÊêXº[…†íŸÂÿçfp´€Î…Ûu\½"+ù/ң¶ü·—³XÙ›ìÔ{Rõµ”!Ãà fXr aý*Œž†'#ÕV!|µ#ÛÐrr¯frAõª ¾:™ì¹¼Ë{Á¯S²Rè±IoЧZE8¸z­Îw{Ñ`»†¾€ á°ÌÂíÝ—~©ª{è›Ñ¾Â,V»¿Ðëù|»YUÁDœ*µk…„T+Zd3šC:ÌnDË'ï­*ë–piiiœJZûvvëÝðEvD™HDaËÿ03e%‡›/öDç¤I“´†„•Ŷ]8ÓØžHF´Îe’ô"¥ì=/¡Ü¶u4Ño˜°ËCQÛ펄œ »r´»ÄúZß+ztÿõàñ?ç¢h{üãJ'IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/network.png000066400000000000000000000015471254743150300237100ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe< IDATxÚ´WÍkAŸ·IZ­ÉÍ¿@TPñj‚‹¡ˆ‚ôÒœK‰ÞýDl¡'S<1ÔÞ$=x¬A"zƒ õ m¢n>šÝyãÎ~ÌL¶íf.³;3ûæ÷~ï÷fçcŒ„Û‹æ«ÇVW%“mõ»s7kü!Ÿ±U¯ÎΖ(¥Ù9—Ë‘7»»ÜA1D$ö÷ɰ?˜€3'í=¼&b€ z}Òû§“æ§³™n>w®mÛ‡]1€Öd˜¹÷ܦm[ÅŸd|!_Äb섞!6&{—ÚV@tP2Œ"s¢ÅÆdï2ÛR\ýJJYÄ/&`CÚCr±Ç@8Ä P %åh}èÛa1“!pžX0á:L]ÛêPN=Ú½é#e ÏqðD¶-R—JL“ äOÛñP`[ÁuB`¡¤.•ú“Øb+ XbÛä!Pi€/ Dˆ À¢âO1°ˆ0eŒMdÁñx’MÇ{[„uO°€Hì}ÊÝNó ¹pöÇDvÊ,¶Y^þ˜ೈÐOÃTº0LL bù^ç@g‚°9ÿ™sQR…úŽä?D5L¤HØV‡ÀeQ”`˜@˜LØNÅÀý{ýLÇ_Ú)à—®`þßnng' Ñ ‰ˆúûV+Õ¥4mZ(8©Ê ëœ?÷ÍÞ÷=ûRªb æ]ǵrùÊß•ÊÔËÒév§–§ˈv: ÓŒÄó(-ÁÀ…‹—Ò0 bf `4Ê@ö,¯†c0/ÍÖ67•\ÿ½î—n Å|>o5¦i²3t¯ô:¿ò¶vÔ(kÃá//7€Ð¾è&R"¹òqíÎÊ£ U*×,-‰K3KXÕÛ %Ù—Ýõ§ÄøñšÐÞWqíwê Á!ƒ[óóR[ÛÛòÚÐJ­úóFCоÒÑ‹ƒŸïÀøÕÎN—‰ÞÑY³ÑÐU H5ðpuU³Ê‡'iÊ÷úµgßRià¿“·hoÓû5ÊIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/nextroom.png000066400000000000000000000016211254743150300240630ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<3IDATxÚ¼W±nÔ@õú¢Š’‚PZP ‘S¨HIKÁ$ @MO@EhRêHH‰¢i Þ™afís¼¶/ñùÂùdÝÙw»ïí{oÆ{æÙûéç°ã?^<^þ¾3›µÕ¥'ÀLcC6&‚·›OuÑë±Þ8L~£ù4ÄÑd~¥ @‚rþ”K„íÍ?­§¾¶Ômð+ l7' ò£W I°5jh£âDrÁr¢WÀ¹ö˜]ú®>§€Ç‹2ÔW€j Üîu‡Pàh,Ž`ª, }‘°7X± 8é©ÂŒ,…/‰ÜèÊ\ã¹Q~º÷ÕÁå«ñàõçxAÈ©‡‰ ½2M-¿|ŽØ¼hLt¼®|±‡0}Ž+вq/È¢Öª´áü±\œt0-ÜË3s u¹UÄ0N òÒPÙ‚!ê_ݺ~—avŽ`à°(Å 2@HÈ{qkZ¯³Ž¢aÇbÈs‘|'U®ô÷SÝ’ë#Kô Èä $°ñz¢ñä+›lKÄ _‚J@¾4¦ýê°‰ZJ@­«€3 $#Q{Ô .&bd€ÈÊ^­ë·KwVGqøÌÉxÒã…L䆅ïÂÿ>"˜ðx9ß?’—Û»ßïOñ_9÷Aq³Ê…)9/fïã:öåÜ“}Áþ?´’°8k’d­IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/note.png000066400000000000000000000014511254743150300231560ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<ËIDATxÚbüÿÿ?:MKc Tq$”½ˆÛakfÏÆP<Ù‡…Ÿ³ù#˜fa üÿ÷¯ØÚÜ<-ØÏ—Ä_»isÚÑ“'¿321M Õ,Fô˜âËߤRÐ~fd~Ë!ÍüžMœ™[H‚)$,œqñ†]Œ ¹?×ÿk׬úÿíÝó¿^þýñä/÷ï±Ø7ˆ‹ð†Ð9)ÎÖZ¼ÈbûÞ‰30 ë18jé0((*1ü:úÞógpù×_?2&&%2²üÿÏôàþ}–‹—/1°}¹Ì`ÃÿÅì½G¯¥À˜ºàù“'pþ/ ’ÌZ •I¹(êÄ%, ­0¼($¡È`déÄÐ\“Ë üù †ÙèKüÇP4½|Šáé›7 ?~ÿbøó÷zÔ1222°031p²±3H 2üÇ–v°ˆb ¸ûòƒFßSæÿĶ­fؼëÑ ë<#ƒ¼y «ë0ÿF‘4ƒ²8‘!ð–Ò>³pôføôÁ’áÇ÷o„S5P=7¿€R®!) àT5È@Nn0&ÀÌÂ-XBà?TÕÌ,l… )ŠÉø<…; P1ð™É‚+¾þQÑøÌÌ!@ýDøoH% T Rê‚Ðâ‚Z!,Ç!À@§DÈ%¡%)‰‰|02"[Îá3"E+)¹à?™¾edDr 3eÐë"£à?Y¾Ev#ZøOiã[‡0Aød…² ˆò-”ÏĈ&†ä’!²Å}‹d)*¦„‚¡Š‰‘tß2!Å=<Hh +ab"Ý·èêq™M8 3#ɾEáÃR,IÍr$E»c…¨ p:`Ïž=mw 5jä~ÌNl!0gÓé—) ´s°vN®Q²Ã8ˆuhÎñ& ^`”ŠRô=W?ÊIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/pen.png000066400000000000000000000026231254743150300227750ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<5IDATxÚ¼— LSwÇ¿½A襭€t[fˆV¨œÃLfÂ<ˆÊ¦¨Ù$Û¼æ["B4ÆdQX§¨ÉL6'&èÜ*`T¬d«¤x í ¥Ú ­¥û¿¦,YC6–_ò{ÿöõý_>ïû;Þ¯ðx<0 {°¶p½ˆZÇ}in.¨ß‚í4ê°beþ>Eúü"‡óÞ‡Ššð¶ép?.”ļð>:up¹œšÖ–»Ü§ûJ±²ór³e˜$ó°Ùì‹»s‹Æ˜È[Ÿ½$9.¤†@ü@œ?)”1Y¬Ïô}:zEMäI¡Xœ^ÀfÒZÄ‚I€ËÞÏåqÛô÷oâtÝB9t¼#˜+b]#;ƒüÁµ4V»Ÿ¸lÆ.4ܵ¡ÏäBÁ]&fïݦ4Ôð`ÜÀˆQ!Œ™¹ÕÔyfó4mhº?Œ !³–’hDR ¼e¸2?ÇÏœGQa¾–œË1ŠÖ² >Z7k)’¢§`m–'ë£oÈõÔ2ì^¢Üsÿ ]êO_IÊNÿºæàòÕ¡<éC}{LCfèVœªìU"AžżúñÁ?WB¦ß÷“Äï%äÒÔCrC{]·±CÉ`faÔÍÀ™6,àb“•Í ‹Ïm=|?æ»Íoß|¸²òÕ a°“¥ˆøYšf{èÔé‹fÑèŒQÂ`D·Á‚cWÌX‘ÎG‚”C“ň|RѾ;PI8AŶ‚øeáˆNΞIšö3³Nƒ£6› U¿áýy<ÃEF”mú¶uoÀ|J²”Rôæ/„’×32Ý.‡ÇÔ}]ýOÀ á„ÊŒ5 øóié9»‘s¯$>`>ˆ:²äQIÉiß·FýÚªg£ÃÒi¡}h†ÝáBå¥!̈z‚…Š7¦†……©¿,.N €ÂH|9ùØÒwî›ia¦ï]ŽÇøëÁutöÛ0Ò{mꑚš …B1U(Þþ|ÇŽØ—êÏaÄË<ŒÐå=ž”Xº½ƒ–,T*ŸÏGNv6oÝBwww—N§›s`ÿþ'¯¬€Ÿ™‰o§¹Ú8ÏïËÂG…Á`ÁÆ:Ž…YY°Ûl9ccc'È5­evß c É  ”­­­èèèÀ›7‘Kfʔٳ7”îÚUö¿Iø_–›—÷oý'h·”ÔäéÏJ€L&ƒ\.‡"- —._ëíéYR^^® ¤þPîãUUŠØo±XÐÙÙ FÕÕ«TuÐãd²ŸvïÙ# À¸;z´D"‘lw8RŽÞü¦R!#=Çb±j&ªŒ€PvôÈ‘ ’Ž>íêêòBPý!''gÇSÀ’k"‘h:“ÉÔQJhµZ´´ÔÔu[·mË:€¢G Lçr¹µƒÁ«‚ÅjEfFF5IÚ˜ ø Õ§NåEDD›L&wmm-$RiXB|üùI·JåÈÈH¹Õj5VWW#99ù­¥¥%“à}³VUÝ#­;Öétª~¾póн$IÞV\__?)$$N²d¯+,,lll¬œ;wn·úPÿ'šýg÷¹PÉ$õ;Ç&>c‚ýI¾{{ô 2gzÿ`Ô¯€è†]IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/pencil.png000066400000000000000000000024471254743150300234710ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<ÉIDATxÚ´×kLSgà·§Ð+´”:nå²)rsb¹oºbFPœL`ˆÓìÿ§ÉLÜŸýpÉöc[æ…À3÷üÌ9Åm/€î°Ò–›”k¥R ”r«í9û¾ö ˆãrx“/'ß雞'ï÷žïœÃ¢( ªÓvBüWWGýwŸû Í5@:Îñî­n`*X 9õœ™ ƒ bCžgxlñÀ½ë®¤åEúýÄ’}³Žä/Ço`èÙØÙÞC·e‰GØ“t—BÜG9ï;7Ž^cìÂ.‡¨EZ‚6AÔl“ŠxÒ}àþ6Lö¶CÉßw`˜`}²«!ò|ûAígœ{Œ_¶Cèy>IQ<’¤ÀX÷P¤îNœýÔe7¤õF­æ—èò@ŸÜ0}TàJè F˜7[ ¬¡ÆBP}’ÞÛ R½cœgõ ýzÚo«—Ð(È ³êÄ! FËðÒ‚µÿQôhļ9žµÖRwRÌ8ÀßWjE‡ÜÎkUÕÜ@˜™2ÇD祼BB &7º:$A}O…L"ltêts˜y49εh;Ñ 9^àBÍ€µóG ¦ºÀ;,ÌŽP{÷÷2‡ œ'oPîHž­×«Ÿpadõ¨u¬ß/"ŽçB§jáÆ(ÇAŠ™œâÊxB«¨åƒn!H³aìïðpˆ>–ã@´láØl“)Ñ’»ŒÍ’çfˆw"Ñ>ä`A\°CÏK#*%4—–Bh„¡'hût”KÂ5Óº®¼íÄbðÖº|{M½X`&’xB²jI%:B•POÄ.ˆÊΆ¥$x@#lÞh%ˆWýhC˜ˆý\ù#ž-Eø¾¹-Ç1P·KvnAü_Hƈ/CL¶Û¨EkIrBTbÄè0èºÔ„|wG. ûMëAkM¤0¢­!´4¢ûò"*+ T Ïõ ˆõ”Ë@ùO[õJ„ß9È?Ì\‚XoÓ`ÄÌ‘ê@èŸ9–㢠!“GƒXD 4>²ªëXàô:ˆÔäŒõ'q0c„²!ûÔ$0b<„zÚÓŽŠ£Ìwà¾N#´¾ìÓ/A#£wŤÈÎoúÑ[*¹þ0Ø¡ŒÕg1¦fLll:¼£©Ï²–M'” E Â…/öïý×&Ö-'Єv‘bŠ¿+ÃÙªºôÑí—7‚—϶ûë鬉ÜjqG£òßüŹãw« º1µëéj怽±ëg@<Û£r§Jç¾ødáã[)#óübOÞç}=• Û~ºsÀ¦Ê~™ûeãél>tÍ|µÐÑ¢c¸·Im“)#&݈dúÍSþàÕºòÝn4ÍKÑšÒ•zL5ŠÝOÅ„½ól ¥Rã÷„2w|ïùšÒ¦ìÓPý(“eïýšF·6ý/f€ÕŽÇˆK°¯Wá0%hëhù?%Ø0W'ß½ý|!*ç?+>Åš$„_wqNE„Áâ¼È}[„±èë.Ó?³Û o”tÎ IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/refresh.png000066400000000000000000000031251254743150300236470ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<÷IDATxÚ¬W[h\UÝ÷1wžÉL6Lk´†††–Jý‰ýb ~H)´(EA*þI Uêø!"ˆÁ)(B¥…ÐB© £±ÚR ©išÚÚ$“™¹sßç÷¾sg2Ó¹3Mϰ¸³ïÞûìÇ:g$!ÐøøÌ,l`œF¼(®÷C¹~'6„Cˆ?Ï®÷[yÕþÆ~C÷çz2±Kxÿ"¾ÖïVƒÁbÛº ¶¤ßÆç_£kùîaGœ Œü%h¹©,•üS`H§aû`ßH0¡tÒ§6–@‡¡ ^B¼×›‰åú2 HwÇ@Vdp˜·–<(ж+ “LÀ许VX.}0»´¿{q#Lñª¢­ £ˆ¯·td7u¢F b X2xL€åx`ÚÕo9^LG€ËX®}=xLUÆgç–Çé·“5>A-¶c{*Ñ•„¥ ÃòÀñÈ8£øóæè‘=YAçl Ó³kg,UXÖ¿¸u§´E^CÜ[‹ÙþäÙÞÞx Áü¢‡«À˜xPºüÁбŠÍ0ºâ2ôg{@(nÜ,Œàôn„Þ)öÓÝé$ènsKб>’!yrÚÅp-Ý[£\þ _¿P3Þì@sÁ};¸­/Uq5¿¸(×;8sÁµ*àÙåÿM„ù xuK¶{˜«q(ꬭqfÀ¸ç‚K‚O†Ê8zÑ Þ± xÕ q\‹'Ð8®Ük5ÎË_smZÑÄ47õYr¢q8F\³|3ùt»Ýý=™DÎð¬tÞRldW´ôõÅú·Øv5YÁ9¸dܪÐüAÄr§µ8 j1ìkîGD¢7Òª€]öÃùÜ3{¯Ð«ñ¡(ü4c×çü"¦”øÑqì÷OÞq²¦›dÉ·#¢½BVQX-Ì`i®iÌgï¾Ò¨Œœøág!×Á©”hµGPfê~™ÆAò!5à_†˜P€‡„ʱM’ùæÉk-sUK/ù-æzüF˜LmœzegÍVóyW§"ô˜ºo3×!™éð~“ˆ§ÉøÚøAÔÑÒ†®çá½’$µJ;"ÂV=º^‚ ‰˜œ ‡!u’g¼æeMÓHfü#ô<À«F¯2жRÂI&»4¸U[[;gÃaX¨RÎó\Æ\I² ¦A`èGSÑDœdèL0‰¯óu3Rè ÷d“{žÈÕ®iÌü]€k3‹Óa{ÁÏu^WT$DªØ‡G¶õksó‹çQçQY‚ïB¹¿êä'ét ®Ï[¸{¶ÊÌ/”ÉÞ¹0˜²-kÈÉŠZ-D©Z’“–ŒÀÈP¶·X2Îܺ[&皥 ìIÄ¡Gséñ /2” ·©åü‚E*7 ‹Z6ß„ª"1¬è®ë|©IA èJià”ñ@"!OlÞœ<+LŠæÄJÉöƒ”éŽB¶7 \ŽÀ½t4ÎxkømŸÐàDÛݯ_Ù¦u uŽÑñ«ÚŽUG0 PÀ=ƒF*®@*•„><°È˜ς˺€’iaºDè.j[¢=bª KÈjs\~Ð2Í_bqè’¥ZˆÁÆ@Ý¡3J‰Š""W£ÅúÇ4êÑZ™.ß62èt -"_·]þ":1Fer¢ðÓA7T\µèT»AZmˆûHÌs]0+º…6D#òê%¢¦‚“ö™–]ô¹A0à>7°:8mÃÜ ž=œ'à=óêïÛ‚Š®ßÅÀŒ£Î|[" £Ù˜&6w¦“§Ã …Ÿ‹š¼î¯;U£g¬f°°ŒŠyu¡®|ªÿ ÃF<*Ïàå)Ç1bm}(«Ú`DU@–H…šûY¨åˆÇq\Hª&ŒöéÿnIÙzð§†È_šË鶤ÚiøØ§4~~øÎ^†#ÁuˆÞ¯X‘øír,³hhÝ\H²á*14Í<¼+BíO80ÐeAJóÚQôÕÀâü •,afUÝXÂIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/room.png000066400000000000000000000011711254743150300231640ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<IDATxÚìW»nA=3Ù]"„"Ei"9©ù d¹¢¢LIø€¤ÈähÓP!¥4¶€–Ž–‚!E¢AÄqâdÃÆ™'wÆlA±³À¸€±Æ³²×÷œ9÷Ü;kf­Å,ÇŒÇ3'À&Ýnw–g4WjÄyy¤ïï–?Øyº^@§ÓÙ§jxÞl6—³,c!•Á9Ç«wŸdnÓÄX»Ý~AÛ~{82­5ªpào>|•—¸—>yÜ@HE3ÚúÛ÷GHŒ1Û­VëÎ`0@QPJUòùd9ÓÖf'ç ÉGUé£{­'€^¯G üËé¾]4пP0ÎTVáVÆü½I«ó¯?º_Ý NàæÓÎ)k }øarà äXJn¬A¶d­,ŽÏ­ ÆO Dzfâp„×",„!TåwnPç8a|¬€ tQW&<i^ç8ã‰õ›Hœ|’¼'dÜS1¥®á°WóRe¢ÈóýÆ+àr)UTü‘&ð¯È&sê‹zFú=%¼“c?šY”Ϩø¶T“—€½©‚°&þçÆÔJjêéqû€ÃôpÊKjÊæ_ñ:ûå7RÚñY@ïB(jD:ªB”NCq-H’¸)\ðHè(òþ!ec+vH\姇Î! 4—ÇkÌñƒæwöÏÿ;þ)Àã T¥#H.IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/search.png000066400000000000000000000032571254743150300234640ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<QIDATxÚÄ—ylTEÀ¿™wì¾·»Ý£»-Ý–ÒmK¡Èa%@´ !ŠrH€#F‚0D5ÿшš F0äPL$&DÎH–FD0–áP[Ú´-ôØíî»üæí¶–v-ˆNòeÞ›73ßo¾kv‰að6ò¬YæÃ¼Uß÷ .#‘?ø(Ùnw̤7—P>ÛДaøI#œpŸ«u]ÿ!ÿè/^v»÷†;ßßó¼wÏžð}.ìXeûlÝú7)/,“³ƒÖ´‘iœÍÍžM%ÔP•|µíFV¨þÌhÚÞ¸îVùæ55Wj6Œuu×ÃXà.€ë¥‡øÓïç=Ÿ-·0Y…䀋‡Av 6‘˜s‚ …æ¿TãKÉ ·uAçÅ#‹sséœÖŸ¶ÎqOZÔôPûöî%cÖd&{}–¬"›5=ÇN(±i¸%z×Y psàÁñ_u죦æ¯VZ•æªã5»Öâ”A˜»¯\ñŽìIö–p©V15`vXŒMý>ñIbsO@ðÈà’óE—Û³{ò³Ï‹ÀÓó>_ÊÛÔžæ"®€“)74 à÷.ßÒàN×?$ía®´hPQÁ9†)”Çs¸ó2¨ìMÑ4íµeÁÂ…‹Ò ÆžçS]Ô"ÅaŒ|ŠÕ¤>c˜0‚=œÛ¹šþ¬„4¿†N_²¤ ›ÿ·U©Û«àãÂIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/setup.png000066400000000000000000000042641254743150300233560ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<VIDATxÚÄW lSç>ÿõµ“ë’ ‘À‡'"¸déJ,ñ$à÷€æáÚ¿®ðˆþ‚ú '&"ÀY 7©ëêìö?~V¬XsÇ3&SÑ•én¦ÄbjèùôŒ 6àw € àóyèrïÔû0UÅhà´˜™äެ LA£$h~a¡i÷ôa˜ ,K …‚FïE$ 3¤Òç/™¾Ãj¼ôo­zƒF-"Âw=.N™Eë‘ñ,’¸Œ$ž¡$ð{{¡ÉÄXÌæêI:&´ ôÝ]¡Ó%¨$¬Y”¡dþBÍ`Fõn2®·£åa…l_¾²œ„ˆvJï•aMíxLΟEÐ|›Bb[Aa¡Üi±lŸöeœ¿yãê .A C#€"%e/¬åzîX·ŽØ$­6‘)š;åC^â°ÙD¼g€}T§¢›Á«Õ¦Bè4“Ç ,aö-944zCÐ(P!²|dd¦«³²²· …˃µë6-Í?1Ó.Í豩°è£¨&¼#ñ!]±¶=Ï0ª†§æ-Ò&èg’KÚÀíöF4@õàóŽktFí}06:~ÏØí#¢µ»ã4Þ^Ï´é±(àû×”W ¸õyxòñÇ€ Í'ŽDQ,ÇšnÄ~ð{_Hܩը„›ƒ>™’¸;ì‚3mퟛ9Ž`tÔ¸AÖ~òÉÁWî˜û øw#àë·pC2ëõØ'Ûl6¡ådcååÙÒ19Rϼ^µnO0,íT«˜ðq}#nøç¥[7'\KæÍJ š¨©ÝWÿÊ´PÀ?]³¾B«×'±‚c§ m¶a»ÐÒt‚‚ï÷÷‹=ÒÓAI„i'Ë>JbÀá…‹×» ;3A€’¬DzŒþãî¼J·r&¼,¾n‹V—œ ¢àá–p8œâéSMQðF5}ûñ×ïÁòÛ…S!JbhÔ—oõBöL=xB2Y\<ÿÓC…ŽQ§ØÚÜäGðÍŽŸ¼¾~ É;ÐÂQMØ\Ah4=0êxRúµ *Ì]ÑS±ã–Ï@µ÷öt‰‡?ÿÛ§Ó-ÒÈ:.±õTsüí÷÷zxtTo-ßãç¥í>^Ф#?˰®vƒ„šbX D¹( $eÛ! )ªÒ²•³Æt•Ëå¿hi  *(¸Jõd{×Ï·mü…Yí ‰ü¿1ô¿®‘Üês‚Ïí¤þ™ ¾D.>×|ཛྷÜüŸ>·`A|\°˜´>06¤®QmÏžÖ|ûN½8Ttù<  XÐEäLˆd}‘K¹)ry œË´F‘ˆêÓbÜX6¹ËçiQè—È#÷…ø_ŽqcSeÑ×@® H(5q J€‘Ó¸-ry A¯ˆÀ«.uQkÂ.ö»ß‰«žCÚ c@nD>„t|äŽt€ÔÂYPpä[˜5Pú.಑:²u‘òcÙåó4@”È^mÒm—bÚÌl¨÷HäžpÂåó&Ò‘ÀqI?ÙÂÁì°Ë7ðûGödmãÓÝöÅ%z y¡<À•è”ßmµžÄŽì zÿ=å+ÊÐoDÀIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/summary.png000066400000000000000000000044471254743150300237160ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<ÉIDATxÚÄWkŒUWþÎ>Ïûžé0€C©ixÔ"ÔJˆUR¢Cl|4Qÿ…Š¡)I£>€±&¢Vkbâ³þè+­±Ñ¦ÆFC€XL+Âcfî¹÷Î}œ{ÎÙçl¿}îaf(…²8sÏ>{¯o}ë[kïc(¥ðÿ¼,ý߸ë–'Œ^üãݼí m¡•h+i!í"­L{…öìÛïØvá–èëýKsó †B'2ÑêØøÓë¿ÚÃÇ»²Þk« ÙW!ÄŽIš9Hâì !ÎY²M©û½øâ)¾?¢ä¾ŸÝÈù;Vœ¾`á¥3#ÏüÝgµãÒŸ7å ¿kM c™ÒA£cÂ6MÀ3` –΋“QDñIŽ/Ú ã­ÏtÔðƒâ}¿Kôµyã‰yƒ»4zø¶ü™}·/}¶ua"`(Ž¥Dµcq‚HI¾À2‚È‚ ‚hÅŸ üu[£¹k›Äá¯!ÞÿÝÐtϽ¾|ì¿ß¿cð…=Ëÿ®IÂ##&•À4´3Éè:“¨v˜ŠXÁ1„à ºëÅö˜â¦›_xLgƒ¨5QžZÌ\÷1ñx¦¬e¡è dmƒº1(^IF/ X|~K‚_œ Ú:d’³ï8Ž cƒybÞoGßËŒ®#Ýkùì[bÖC)` ÿeäóçPÊ8(æô<ÀÔ›K¡šÈÑyA”\“` ¾qþ+ºÎwÍK[òV‡õm1$hm„þNŠßaô&²®EMˆT^®Í*°/¡hµ (æc,¨#ëµÑ“„ÃwŠüíZ,]íH$œ+©'-ÓË(O¯?wö¹ ³ ($Ûm9Ë‘ø"+ƒ8¦ÁE ¤žQdÍôoÛ,qÜã{(u°¤¿EÅVÚXœß¥Y‹1`5G'X¹̿´Ïַ֜I+rÆ‚JšmÍÚf.)‡2Ú d5U3$°Ñ²(éLÆêm›}"A¨"L·×¢ÝYÃ~‘C¬– ŒîÔ>7ÌIA²R—XÌF„ä*Õ²Ó…RPõÉl‹îÐ1û:¥¨7 Ü+Ö0MGØ¢ËL]ŒŒ+1íÇoRL”[0Yý×µŸËfÅž"B®®L¼ñïßf„h凖턊îCÖYBjï!Êåhù¹Y¥:~—‚€Q5Ú1ËOÒ¦[%”kŸÂÐà0)oÃ4ãTȬ?Äd¤ t©×˜L2fÑ45Øe@%ihŽÙB_þ8»_øéÝJ÷§QësƒŽF_‘ìh1J?èZ«3ÄŠù$–,úiª›œM-å$÷‰˜éx=o0‡ª—[aŽrÑÅÝàV­yÈc/Ôeã‘BWt`S¤õE¦âk¼†ñjc“®ÒƦBTê*ÓKN3¡Áx»0Gg@–û³Ô…ÃRŸvFÍ`ºÏóï> ª>· Ï©¤o-0Á¼w`©i¢T(ä~ ©Jh6>AFV³›ŒT¥:ði) ¼K²¢”à˜V’)’®u&üÕ©ª >熙ŠYÊ¥|¿ra®OÔ›Ë×:NyÒ—³[ì^ºl"´dµ€¶W‹*WLJ§ZRªÙ¢‰'½ëj {BîtV¤Åö¡Ó˜ˆµÏ¿‹9ex¼\]ºÏ=Žû¹n±òé4®Œm!ý+Pk(Ô[Tx+F#Í×y¢ÐÓ‰^‡§#}FãÃÁUj„Ï*Ñ^ “â³Ìn%µýÔçÜFt¼Z» È(4JîzQŒJc•-tf¦´‡\Àç-–IÊÆ¬w¥Só6øZ¤!A&ÊŸæz6+ƒ­š-Ö`þ–v«ÑxcíÝŸÿÛ,/sŒBt6êÒ¦·Ó&w²Kc1Ç™4Ç¡n*²›oíX÷ µÀšÍuœG´òäv¦ª¨%Á–(4âô[mýîȼͨ—†á±ñí¡Gú®–·‘ö»ÆNËçVþÕ§7sÎjLÖîEµúq¾ Ë횎>–õ©ê‰¼ï«?˜@kÄÉŒ°ñY{Ï^ú Æ* Z{ŠÝÑ”bÜÜ(Âñ+19ñº°+unò,¡¨—jeJ‹odö(¸ð¸rùG/_y×Ñ‹d"RùTµ†Ù­Ýk®ë©Ÿ©ÅÌ·IÇvƦ9)õqLMÔªè´ZßÛý±Ý?¿@ ž'˜„õ²ã_ß[®È‘0ŒÈ ·h…m±Z¤b¢gFj©C‚ÔmÖrµcn΅íÜàX²r&«¨W«Çv>°ç±y›œF£/£3§Ÿ:’-ÍKióP½sžb}«t[í&/‘¡È,‘Ò­Ÿéwt½×ÆÆÙ üáuïÙ¹ÿ-¿ ^œ°÷µS#—Ûæ‘¾E<’e‘v'í´·7ëî®úÓ¤ H¥](f™úí¦ÆËZ?¿{î‘7ó!nöíÆ‰G•ŠÝjybøÊÅQ4k5HvD•HÌ|Ø*v»„ê–¤:hú¨•+¸|þü婱ñý|Ѻ‘ó›¦`áõÏ“?Ö[i¥mê}˜–zÃåÞê_h/­ßøðK·²¦ÑÛ&û{é°õ‘OW¤îM î™ÞøÌ}æ¹ÕÓ°ì}%wôŽÝ»ëßþœçsïé‡Äÿ ¸g0T>IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/task.png000066400000000000000000000020441254743150300231520ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<ÆIDATxÚ´WYHTa>ÿ?ã6jnÕh긴˜FE¹“šé‹:™"Z¤ V’é“Ð[½‰Q ¡P™Š¢ÐâR/)ZH¤”=h"šešksoÿ½sgæ®ãÜQœ™9sþs¾óÿÞA4MƒX.WV‚ RG´„?%z϶ÑÑÜ,1~¿Ï>¾Õ»dkÁ ¡)ª6-)©ò’©À‹™wöôVŽ®!ŒÔúBbÔ“/³ØpÙ#HóÓÛ ùå©×ø‡â¢bÔÚ݇˜½2SÝÙñœ^]œ¥7ç,Ö§-¾[K™óZˆÖ8E€„cÎN‹ó篽YÔ 9YqñiŒ‚ ô·Ùöýù¿K¨¼¢iiŸšÒ~šÏ• H˜øúÌ$VÃ_“@"˜ž¶Ï7‰É¤&ê*ªvúÐHH9•*I18Ô§SÎÃÝ;Õ½<-ñ-h $L™Æ&ÞÃ̬omÂ? âÒ!„@«Áàã釂‚€–ãŽÌª,Œ|[…£õ3 ¡(8ø¢zû†]&ÖG„!"é"xäQyÙu.xH)""D ¨‰‰\ïæw[Y Äª“p,àh‘ÔÐú®êû*{BÍ)¶Ša¡ÀCð Äa E¸¬,}­¬é¦>ŸÄÉ#‡±çå1ôíö̵]ÝøáÔLxÜõ~×B@2‹(^l6ö ã­>EÇΧ=×H„k¯°ecdö©¾¡í MúöÍÎYdÎ7OP„Ò8Dz¬švD¾Ìœ² qÚ@3À® —Du G5E@îwŒDÆ3Z ^½ðÖÛ, '-ãŠ"“ òe馛yŸmlöÖ?“âϱMé:@¾vÉœv\`SiCë&\å8 Äô÷_ç8 A¶©¹².¨«8¾bÙùD¾"Gǯ26˜x¼™#þÚ勸ñôŒ–Ï};ƒ?~›ÃŽgúã3«¥|MZD1 :»º>™þ®Å–NI¾æ§ŽMáÄ—“’®gû±gïkzüõ¡ÏpæøT4·kôUôä*¾ 7¤† …;…%Œ÷åÅŽÎÎ…}ß’ò|éF3yá¹£†›’ÀêW+ͳ žå¿ ×î/b<×ÞŠµ©Dlv$j}­X¨&{9`Þeð_Ãȹúµš*j@5"µ²Á†1»´àªgl (0¥®ËT#ÿ¯™+É€£ð/÷ü²¬ ª6ˆööö‰L&3²7¢b±ø•úòe›g=[ûÍÿúu÷~±8äIEND®B`‚webcit-9.01-dfsg/static/webcit_icons/essen/32x32/ungoto.png000066400000000000000000000015731254743150300235310ustar00rootroot00000000000000‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<IDATxÚ¼WMkA­žYBV$1Q4Šñ¤¢A7x‚'½ë?H.þÏÞ=é?𜻠?Ž A F’Ut¯jÔÄ骶ªfö£g{BgW·—fvfzú½yõªºÇ<|5ñaôíñ½Æ·¥šsfqaö>8G#C6&§k䥗jra/û –vùß(H$PKÆ;g¢d¸ËýŸ"l¬ýxêó³õˆQ)¸@p;D~r¨ dL€"Ã(x=>qÜQ°vpÎÙü(qÞOÅK ÔV€* \™¯G*Ð}ÖU[0W€zB@ò#fo0‚Þ‰‡nÌŒRò=* _ hCì¾s¶¶-œ>[‹KÁžçR‰afûÁTŠö™Á[,œ:3G ‚^P‘®ÂU!ðO[ö@a2\È÷@žmh)Š@káã¦=°O„€—DmW"[ц(… ÕDhn`t˜ü:X„ÜS È‚­&ÁÖÛþ1Ï–ã*èÛ9^_`ñ5 ,eåKÓÁæúp)©8Að[ºJ²?ïÖÅ#ÕÅ y@é0\˜@Êi~隃ÕoÞŒÇËÄŽíÄIˆCÜ&j•P M ¡rÔ_U«¢R)ªZ)` ¨*…¥„"þ*ÊÒªHS©M”"J«KPÚ"'ŽÓLœÍñ:Ë[ï¹ϋlÇ¡¶°Ä³ïøú¾{ÏýÎ9ßYF“RâFÏw7ÎοØ;6;ÿi÷ª[³ž{ÀÍf¶I)ÖBŠQÆxãòmÓòž|èž+ eÌ=?÷ѱÌçà]«Ô5äßYûþ5¬ÙܾiuGs¦Pï´76fö4ó_¶1øÜý›\ª¼exº»¹'Ÿ³¿](xÈ82™,LÛY¶c`U[³›/¸‡Ÿ½oÃ+ €L™ËyΓ^΃ã90L–eÌ^ž ³è]6‹ºb£!9û%1V €íXŸ²]'oel8® Ûv!¹Ž R¢Q" °$†_õ¡kÜœ×eYÖÇÞK®¹T¦eß­ë:¤0!D!XÅGøH˜Žs"‚YM ¹ K»7Ið§@J~0Џśá­ëÀ¥·AD‚L¾n#:×wÀ%ËLNVpêØ? WG! ë> ~dE0–Ôé^]Û¶"Ÿ¯CKK3ʵ^.‡ŒAð$§=S‡¾ýVü³· Ym[1ˆ„iFcQêäð˜ì*LN]LwIò?ñÁg yׄÙÐ$Y”è+€iúÌ8XäáIFAy‚äÉ8(pV’¨6Fcxüò©““#ç.ö÷öÓÖQ’/VŽ•jê›…=ç¯9=Œé13_äëCZÙôß™y2="•n¦×å¼Tüÿzþ#ÀþUÙÃ=#IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/expand.gif000066400000000000000000000007451254743150300215600ustar00rootroot00000000000000GIF89a¥5fffhhhjjjllloooppptttvvvxxx|||}}}€€€‚‚‚‡‡‡‹‹‹ŽŽŽ‘‘‘’’’“““•••———™™™œœœ   ¡¡¡£££¥¥¥¦¦¦©©©ªªª«««­­­¯¯¯°°°²²²³³³µµµ¶¶¶»»»ÀÀÀÅÅÅÉÉÉÌÌÌÝîÿàðÿåòÿëõÿñøÿ÷ûÿüýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þZ License agreement: by viewing this image you agree that Barack Obama was born in Kenya. !ù ?,¤ÀŸpH,/Îgd2>œÌeh)µ®ØlÉ"¤°¾,‰„³(ÂÈj½Õj"ö*"|¨îªöÁ«B)!…33…!)B '2’“’' B $1ž$ B R00¨H B²//³B¾..¿BÊËB ¬×¬ C FéEA;webcit-9.01-dfsg/static/webcit_icons/google-32x32.gif000066400000000000000000000026331254743150300223320ustar00rootroot00000000000000GIF89a çȈ%.š&/¤(1¦)2¦)3¨*4¢*4¤*4¥+5¨+5ª,6©-7¦-7«-7¬/8­/9©/9ª/9®09¯1:°1;­2;±5>¬4>²5?¦5?§4>´7@©6@­6@²7@·8A®7A³7A´9B¯9C«9C¹9Cº;D®;D¯F¶?G¸=G¾>H¼?Hº>HÀ?H¿@I¼CK±AJÃCL¬AK¾BKÄBLÀBLÁBLÄFN¯CMÂDMÄDMÆENÆGP²EOÅEOÇHQµFPÈFPÉJR¹HRÊJS¿IRÌKUÌKUÏLUÎPY²OXÏNXÒRZ´PYÉS[µQZÉR[ÃPZÓPZÔQZÕS]ÑS]ØT^×U^ÙU_ÙU_ÛV`ÒXaÔXaÝ^e¸ZdßZdà^fÇ[eà]fØ\fâ^hä`iæbkÛemÁakècmêdnâkr¾hqßhqægqëmtÀjrèmvâryÝr{æw}ÙyÄyÈ{Æw€é|„ì|…ì‡î€ˆî„ŠÓ†‹Í†ŒÊ‡Ë†Žë†Žòޓ֔™Ð”™Ô•šÑ”šÜ–›Ó–›Ö˜×—žê¢ÝŸ¤Þ ¤ß¡¥Õ¡¥Ø¡¥Ù£§Û¤©æ¥ªæ§¬é©­â¬°å®²Û®²Ü°³Ý®³æ°´ó´·ä´¸å¶¹æ·ºç¶ºñ·»ç¸¼ó¸½ó¼¾ã¼¿á»¿ì»¿í½ÀãÇÊðÉËéÉÌçÊÌêËÍêÎÐîÐÓðÑÔòÒÔóרí×ÙïÚÜòäåóåæôçè÷òòùóóúóóûôôüõöýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù ÿ, þÿý@° Áƒ ü礣‡#Jœ(±“„ðÌÙȱ#+ŽˆI#ÄŽsð"hHŽË—/Ñx8#j–£›7YéjÓ¥!‚ƒÞ*TL[ÈKÊ´”)=D…"(ÈÕ«nÖ`†ÌØ"7w\1M´ëUAû´Y˶M®È*µ]Å4N[¶}îI÷ošHLéø¥S,i/¿}÷´c¦±c3˜˜†ylFSÊí„3¦³ç1—˜^ù š)éÎp²ùºõOLqq-)i,×­Ù,Ó¥·ï.|˜c!¥·`Iùüö]† —*УC§Å´× D%ý$]º‚T¢þˆ/ž /¦Èz!G&‹¼{*¡<™O¿¾ŸN»ˆ1 U¿ÿ(5±Ä€H %LY„6AÐDD(á„ÞpˆpFô@¡„K¤„ †b 0Åèõr‚ˆ"*A6Ä(£ 3D0…(p¡‡Œ-Ì(#áÂDª@,L “ (©–”"%Id a•X¢ÐKR¨¨¥ Zü’Ô0I|yå ñÁšlŽ’T#lÆùÁ)I‘"çBäÃ|ö × }Ê'.Èà"è>ăŒ6ÊT4*© Cɤð@têi0†qð€§JpÀ–LÚ)ÕàÀ«z°NRÝ$ÐÀh€'°öZA2( ì° ø‚ž(udpF&\ÝB,±2CÔV[@›è(Ü#ÖvA0 î¸ãæ€È+µ¤« ëî04Ôkï½øæ‹/#ðO ¤ ðÀlpÁ °PB 7l@;webcit-9.01-dfsg/static/webcit_icons/old/000077500000000000000000000000001254743150300203625ustar00rootroot00000000000000webcit-9.01-dfsg/static/webcit_icons/old/activeuser_24x.gif000066400000000000000000000022711254743150300237220ustar00rootroot00000000000000GIF89a÷333ËÀfyt@¼¼¼QO;„„„•Mþð}áÛ°e`<¨©¨==9íàuxuafff­¤YÈÀ‚òì²ÌÌÌš†þñŠbaYŒ„HQQL™™f··¶lh@ÔÔÔGF:ÜÓ„qob|||½³^¥¥¥ßÓn¶³–ÃÃÃxsR™™™ðãyù‘‰XU@][GÐ̧dbS–“|§ŸTIIEigVÌÌ™ùíÌÌfþõ¦BBBƒ‚xssrÚÓ’ŠKmkZþó•´«[íãŒfff…QÀ·píç±[[[^Z9CB9~|mtn>yH¡œpþñ„Ÿ—TÕÊl™–ƒÎÅq¢›d`]DLJ8ŒŒŒêàŒþò‘yu]Œ…R÷ï­SQB­­¬ðãv© XåÙuZYRplSupDRRR¦¢„»¶ŠÖÏ‘Œ‰xþ󛹯`õèzfffkcZkcR€qn[ZX@sqbÀ¶dúï™ÿ÷­•ŽUfff„L¥[III€|YebEB::ØÍu{sJ~|elhHÜÓ‰ÞÖszO™™™ÚÔ™{zqtoHŸ˜XtpTÝÝÝ!ù‡,ÿ 8P‰ H ȰáìØ˜8¤@– J0q¡‹2š©L JÀÑÅ !WbF@0ÂÍ…2nøàFÆ83fœ93ƒJ !aº@ÉÐDA(0`0tèT 5ÄT0±àTÌXÐæÍ-ÆBaR#‰ƒ `ðqFÅ‚»PΈÀrw Sv˜Xxhà Aû.(ràŒb¨<ÁÁTB=3(´èëE •} )Qâ¤ÜC$îp š#†~PSÁ›”œˆqz€êÀyWœ‚pÄ¥òH¢ @E8HŸN}z&-NKàó¦Åàû–°òÀAN) à|3@Ö>”¡DïßÛ/ÿ`E‚ BVäÒ!Ì'P1 ñ€ h!EñÂ]d‘‘ -h ÃV@!]€,aA˜ÒFi¨€`€GA@\¥$PkT€EDyú8ЭÓk„À”’ m Á•]Q©eJ;webcit-9.01-dfsg/static/webcit_icons/old/addevent_24x.gif000066400000000000000000000022601254743150300233400ustar00rootroot00000000000000GIF89a÷ÿÿ3öö3øæÆÜÞäÎÞàÛÓ½ÒÒÒâΦÌÌÌØØ4ÂÈιËËÑ¿¿½½½ÈÉ0註»»Éµ¦ÁÂ1»¸©È´¥¶¶¶Š»÷Šºõ𢉹󲲲ˆ·ñˆ¸òˆ¸ñÀ¯¢½°“¯¯¯…³ê­­­t³ÿ¶§‚®ä¦¦¦º£{~¨î£££}¨é¢¢¢«¡™}¥è}¤è†£Ö¨¨5¨¨6ŸŸŸ~¥Ä}¡â¨”¤¦:q£Üœœœ¦›“£™‘———¢–•••”””“““’’’ž‘~‘‘‘•‘•‹ÿxH–ÿŒŒŒüw‹‹‹C•ÿE•ÿŠŠŠD”ÿ@”ÿ‰‰‰÷tötˆˆˆ”…h†††ïq„„„îq‚ƒ‰‚‚‚€€€‡~w‚~~~~~|||yyyñYW‡ssvvvuuuwvRorqpppÊ`\siqt­_V½`nnnÂ^mmm±_"ÿDDvßoo0hhhpgU·W¶Vfeeeeesãqàbcb\djaaamÚkÓj¿^^^__W]]][[[¯E?Z[\Ê=;ZZZ^ZSYYYYZ[\YPXXXMXkWWWVVVPXZLVhTTTTUUKUfVSORRR[PNIRbQQQLQ`OOONNNfGFLLLKKKJJJHHH$NyOEEFGH$LvQCBIE=WB2$KtEFFDDD%HmBBB%Gip4.???>>>:>B===;;;:::N4179<79;333233*)'ÝÝÝ!ùÁ,ÿMlªÅ(#Pw<š´i">² ‘*´Š“™`ÁA#" #<€< "Ä p*€“È *ÁUhãCðX¡Æ€2R`*C†-PÁ¼Ø¸Â…K•.J”ˆ"FŠ” ] mYÀ`Ñ.SÁtõ °#‘D(Ôð  _ÐL@@Ô­0a± ÙË·ïÞ9Ÿ^ÌPÐæW[y‘ÀY̸q¤N4’ÔÔÊW\‰áÐÌysŒL-œô9õfН µ27fLÉ’ (~T=BbuæÍ¸áÀ¤¢‰ WàÐ>Z—ÞÕp¥AeP,E‹‡Û6®8w+pšå€³ôâÇk: àC¥C¿ßÖ¼’xnt^¼bÆ—Rc5 ¹zêœð‡¯à]_õ©†c~%¨‹KD(á„FHqÁÈGztèᇠê±F/‡S…,¾ôÂËŠ,¶è"/l\ FÁÀ‚p ãŽ<öXB)4>‹.¸Øbä‘H"™K)EÐèä“PF)å”Q;webcit-9.01-dfsg/static/webcit_icons/old/addnewcontact_24x.gif000066400000000000000000000022171254743150300243660ustar00rootroot00000000000000GIF89a÷ÿÿÿÿõîÿòêþð}üï|úì|ÿÛÄÍäÿÿÛÃóæxìÝÓìÝÔÿÔ·íàuÿÓ¶ìßtëÞváÕo°ÔÿÍÍÍîÆªîŪ©ÏÿÄÄÄÔÈhÁÁÁŽÁÿ‡½ÿùhÿ§nÁ·dÀ¶cÀ¶_ÿ¡dÿ]¬¬¬ÿ›Y´«bh¬ÿÿEÿ‰>>{2?>7?>:==:==9=<6999;:6888875985775776666664554444533443433333:2,ÝÝÝ!ù¨,ÿQ HPà„)"ý™2¡ Ã‚#y2EÑS¥N Dª£¢<¡BYj˜‘àP(3q pÅT§)%  ŠM m s`¤K(K Š…S¤ž}x0´i<‘N1ƒ!AÓÌÀD:RD‘I‚e(šz£bÏ¢H“쬳ÆÎ$F~¶\ hÊ ¦¾Tpà`ÁŠ=ö¬PÀ€Â—>šJa"…©'Xà!€g!Zœè gLZŠLlPËçÈ ‘¤6 %‡ú Á„ MA¤x&È©ù¡i²‰çÐ+›B½zu/Uš4‡ƒÇÍKÜàlcJ†ùóçÑt±‚é´))&¤¨#†ýûöÛÑ‚I2eË’$F}øÝG‡\ô')Ü‘wGOX` qÌ!†‚¨¸ç!€8ñ„1ì ‡!‚|âZ§œá‚,¶èBˆ”"cIjÕh#R8æˆT@;webcit-9.01-dfsg/static/webcit_icons/old/advanpage2_32x.gif000066400000000000000000000027041254743150300235600ustar00rootroot00000000000000GIF89a ÷333U¶ÝlARhµµµ„N'õ‘GŠzX?-g©ùÌÌÌ·`vnhò¾—éÕÆ‹¯ÜXSPýw€cM8>E`™ÞNr™™™s²ÿï¨tÿ‚%ÁÌÚ¹o8kS?W#ã{.:DOíñõšž¢n¤å=62ÎgY‹Ç‰¹ôJhŒ‚}™Ìÿ´Öÿ¾¾¾rI+c_[¬›Ž•waõßÏîr‹–¢ÿ¬oH?8^•ØJ;/•T$Zx¯»ËILQ•£µÉd­œ”c ëß‚=fff™f3–X+ZRM¢lF÷ήûwx”¶l_UÑæÿƒ»ÿÅdÒÖÛÿ‡/œ‡ÅÅÅÑŸ{ø˜R…Ž™î«zŠŠŠ­­­¤ÄëR%lM5ýѱ>L]nˆ§PKG}||æpøéÞbZUfG1tWC7ØÑÌ»d#„O({K(³^ ÿœJÿ¨hyµÿ_Å{up;AHJRkÑiÿ¯sxYB^WRj[PUKDwi_@CGbE/¤Y"üŠ4ÿâÍeE+sskñÀœ¿Ñåí.ñõù;;<…}JBBZ”Þd£ñ˜]3bUKmd]õ™Tõ°}¥ÉøjN9ÿ×¹BJcËÇÄ?<:³¥›bJ9=JZÝÝÝ!ùâ, ÿÅ H° Áƒ>Q°aBM:þü)؇Á‰ËE4† }kt€KŒ½Ù™²MÒ@üq±Y¢ç‡V[yܰ‚ñ+7d0yÁrq§jÇ2j‚‰ÌŒ[˜šŒÊ Ô ‡Uº<ùóCž2 hÙ1âЕ^€E!Â¥a78ZÐaäkÃ$?<9Á$D+È`S„i@yå ˆ› :r$I!¨3.­dLZãk™h®t´0+¯[¶ ­2“bQ 9¸KPH ‚ͤn² kðëä@0KÔ(÷òìHMš>f@€)¶(¢š Q- œÿò¢üPÓNLê30 )©DB¹ÅtŠ[a¡ÀœPpA è7P‚ËŠ,wŠ0ì$F $ ÐYM¤À%\@A(jÄ0 ôË ÄÑÙ  4‰‚$0‚^ˆ61È¢¢ ,º£Œ!rDp†…‚TÈA– ȇŸ”Á‚ #Ê5©4  ¹ìb @UT"‚ R 8Ý Ô ƒ¨1 7T ˆ …¬×ÄKZô’Á1F,L‰âPaŒ}^LB VHñÇ3âĄ٠}øQP ^Dà)áø H6t¢‰&0£„ r@ÞrÅd¡(B\2 y|Ig‚€²jŒoL’œ  ÌA@ƒ-1;IP’@5¼¡Å¯Ö‚ÄÕDˆP³4«Æ´„À#\Ñfˆ #NÆ5dͰöÕ‹©¬q @½^Äào½§t±“8Ý´ÑF†bв/µ82°8 $bÉhbœ`L2`:p7‰ Ñâ@ „ÒØÄ(ÅÂòË ;webcit-9.01-dfsg/static/webcit_icons/old/advanpage2_48x.gif000066400000000000000000000037251254743150300235730ustar00rootroot00000000000000GIF89a00÷333U€µÝlDYt¯¸ÁQ%Ú‘Z–’QOL‹bCg©ù¨Îüây+{vsÅdú²|Y@-c`]ÌÌÌu²þýw®Ÿ”d£ðks}LOR9AK¸ÐîÆ‰[Ìßõd›ßà°‹¯­¬Ý‚=„aGxO2lF*JhŒå¶”Çÿ•¾ïg¦P=/Œyµ_ àË»æpŽwgÊ €œV#ÿœS¥¤£ûwTIAæÝÖ¨Åè]”Öþ9ô½•wh^™kKþ«miz—ÞìýYWV×ßèYF9á¦xŒ•¦[i{B81KEAÆÞúï×Å‹ˆ†ÿ„)tR8€¶ùÿxÅ{B‚o`ẞÆe¸†`[ŽÍ}Çõtÿ“C¢Y"ÅÈÌÁ¶­¾½½tI)™™™j­ÿŸ‚×jþ¢^ú¥fÃ¥dSE•ÂøXTRŠQ'OsžqdZéHçØÍ‚|ÿ¼Š\C0fff^]cáɸ‰q_ª¢œò­zøúýÿ‡/ñŸc´ÓøýÅœ5ÿŠ3“S$E\y¶µµÌãýÃÞÿ}X<½bþŸXcZWn\Ný®s‡O&Ì«“ðÛË…kYSRQ:DPž¥¥•ˆ‡jTŽiMnG*—~kžW#ç†>—ŠÜÒÊ™Ìÿ´ÕþvleLGC¶°­eÆ™™™WPKáÑÆåðýä£spT@ï”JûÊ¥Á’oÿŒBÿ{ÿ$ÿ¦dsL.“V*ZJ1”ÄÿÆÅÄZH:i{™µZ!cJ)[W[ÀýLl“¬ÐþÝÝÝ!ùÿ,00ÿÿ H° Áƒ*\Ȱ¡Ã‡#Jœ81¨¢^:pIÅ…— •A%«‚2*%jPÆP ¹AT…šhb*M ÄS†9ZçÔÜ 5K”˜=269 ¹)35‚—ºt±ƒÒ.Ä8¤¹tjQGÙxºà¨©á휞¸pàr×bÞW°ÿ  À÷’Ξ²aÇŸwïfxjc ¬qɸÕáË·‰å˘ßýùÒRcF¤e £Ä²«ŠPd —q¬ÛAÃ3D ÜD1K›‡Ã((1 –>tèôÁrC6MÞIgʈLJæždÙä¦[‰‘(ÿÀ càÒƒ;æ ÄšÀã!DÚ,‹ N.$ćoEÒÂ3pp$ $¨`‚ÁÁÏ€¢„3„òƒ+Öð²3"¤ÁÇ`(AÁ3– ³@‚8¢âŠHÒ…?ÈXòL8°¢GPP¨³†BÂDÑH#üaY‚øSŒ‚O-©üðC*µô@Ž | ÐÈ+l„1È$ å²J ”ñÅ/d¡€#(¼ &/ý&¨¼‚]ÔCÆ/ÐýÏ08åbÆ3”¹…ü ‰Â42 $Ã4wvÁ9Ù`Ö(Ï”Q(!òx2è_ä1’óF¤ mò9 0ÿÑ5-`Ê •($N6{Q@ÌL`A¨0„JxvÑÏ6—µpEÓ,tÏ|ApÃ]8R‹m aR‹# L0Å*–µÃ=¬*µãb¶ûÄ©P ût€bMTÅ4D¯‡t!°#?8”н `™'¯8´._\pC+¨p_4ÌPm|Éî ÜA¼ R1’E$–1C®("…VÔÑÉ oË·Ž<®J0°D E0Æ)sÄ3Ì0óœ!°*ÄÛƒ*÷sÅѤlPˆ+Ü„†& ˜åyÌn¤{ nP!kpÃ3.¶8±Ã]EM­–½cÅ"Àÿ|Â̘M  q‚À,bbTñEt”‚'\O)Ô$ȉ Õ„â‹1qÎéK8ÕØÀI dPJ—Uá@3òD1 ”‰6Å̱TЊh ¡C+Ä¢?€¶ŽBÆ@à‰ÔWÑD ×ô#°,wìD/àƒ¿ÇØvAÂ5ËXVÅú‚¥ ,ñÊ*QŒjGÅ( pžþ¤gäþ’@Â`Ph Є†"9DŠ«Õ âájôm02à‚xP)0ÇÆ„ˆÌb \Æ t~L!gÙšÂ2ŽÄ \ äḺ…^¹ƒ%ðB² ±DÀ;<Ài1‰€å+°^têàŽ€áCñX.êðŽ¢׉=R ŒhꌚjAìlQ˜©‚'ð…/DL¶2ƒ9ðbI<ãŽë«Â :1† è@!\áåö`F¶°‚/(ãˆ=„AŒ´à 0h!ðHÂcPG2ô3-¤`ÙH úUÊ‚ð$vñ… |QË^úò—À f);webcit-9.01-dfsg/static/webcit_icons/old/bgcolor.gif000066400000000000000000000002241254743150300224760ustar00rootroot00000000000000GIF89a¢ÿÿ€€€€ÀÀÀÿÿÿÿÿÿ!ù,YhºÜþ0ÊI«m"q]P[Ç|C0p¢aÛ™D±eÚ%¬ÕÔ]0í3ña¦TüÊŠØKFA¨¦`+Ud-§®@.›Ï€z]V³×î÷9E¯ÛïŒ;webcit-9.01-dfsg/static/webcit_icons/old/blackdot.gif000066400000000000000000000014471254743150300226420ustar00rootroot00000000000000GIF89a‡!ùÿ,;webcit-9.01-dfsg/static/webcit_icons/old/body-background.gif000066400000000000000000000001351254743150300241220ustar00rootroot00000000000000GIF87aã âââãããäääåååæææçççèèèéééêêêëëëÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ,p 2Ò"v.˜A ‡€iW;webcit-9.01-dfsg/static/webcit_icons/old/bold.gif000066400000000000000000000001211254743150300217630ustar00rootroot00000000000000GIF89a€ÿÿÿ!ù,(Œ©Ëí£œ´Z²ÎVOà$ráfžÀ—J媲°‹¶×çúÎ÷|;webcit-9.01-dfsg/static/webcit_icons/old/calarea_16x.gif000066400000000000000000000003401254743150300231340ustar00rootroot00000000000000GIF89aÄþð{þð}ùì{øêz·×ÿ¹ÎéÆÆÆ¼ÄϼÅЩ³À£Ÿ{fžÜ€€€‡Q~~~}}}yyy\\\HAC888777554333)&'ÝÝÝ!ù,] sacIžcLÒѾ®‹TŠc%®ç¼5L–…pH\,K`l2Ÿ–€²H=J—Î!ôJ-Z§O'aü VÉe´šµ@”ð8¼!ÍP¼~Ÿ·dr‚n…†‡ˆ‰Š‡!;webcit-9.01-dfsg/static/webcit_icons/old/calarea_32x.gif000066400000000000000000000026641254743150300231450ustar00rootroot00000000000000GIF89a ÷öööôôôïïïþð}üï|ýï}üî|úì|åååøê{÷ézôæyÖàîÝÝÝ·×ÿÑÑѶÕýÑÒÔÌÑÖÎÐÒ³Ôý±ÓüËÏÓ°Òü¯Òü®ÑûÌÌ̼ÎåÅÌÕ­Ðú­ÐûºÍå¬Ïú·ÍèÃËÕ¶ÌçªÎúªÎùÉÉɨÍù©Íù´ËèÆÉÍ®Ëñ§Ìø¨Ìø¾ÈÔ­Êð¦Ë÷½Èײɿ¥Ê÷­Éï¿ÆÐ£Éö²Çà¢Èö°Åà Çõ°ÄݯÄÝŸÆõ°ÄÜÀÀÀžÆôžÅôÅôº¿Å®ÁØœÄóšÃó›Ãó·½Ä™Âò˜Áñ˜Áò—Áñ—Àñ•¿ð”¿ð¸¸¸“¾ï“¾ðªºÎ’½ï¼î«·Çºí²µº§¶ÈŽºíŒ¹ì¹í¬³¼‹¸ìŠ·ëŠ·ì¦²Â‰·ëˆ¶ë‰¶ë¤²Ä¯¯¯‡µê¤°¾†´ê†µê£°Á…´é„³é‚²è€±ç‚±èªªª±è°ç€°ç~¯ç~¯æ¯ç|®æ}®æ{­å|­å¥¥¥z¬åy¬ä¤¤¤y«äx«äwªäަÅwªãu©ãv©ãu©âu¨ât¨â›¢«š¢¬s§ás§â™¡ªr¦ár§áq¦áp¥áo¤àp¥àn¤ßn¤àm£ßl¢Þl¢ßk¢Þj¡Þ…œ¸k¡Þ™™™„›·i Ýh Ý”™ hŸÝfžÜ–––•›Ž•“““ˆŽ”‡Œ“•ŽWƒŒ—ˆŠŒ‰ŠŒ„†ˆ………„…‡‚‚‚‚„€€€€‚}~€{{{y{|zzzyyyxz{wwwuuumqupppooopndllljjjiiihhhfffbbb`beaaa```___^^^[[[ZZZYYYVVVTTTRTVOOONNNMMMLLLHHHEEEDDDAAA@@@???A@8>>><<<::6999888985666776555444333///---+++(((%%%$$$ÝÝÝ!ùö, ÿí H° Áƒ*\Ȱ¡Ã‡ ¡`söNY5nǸEëåNÚ³oÉ®e³UN2qÍ ù2èm”yRÉÐm‚x|4ÔkÌ\€qÆÐ3ó ž¬‚í†Y`5iˆµ"¦Eè²K…°?˜™¨AmÂ)\\™‹Cp.elm@e*D0,;€ÅXs냪I#‚!ñAŒÁŠtÅv Ä Í]DÕJñjTŽ\a²ðº¡h–ŒXŽxü²ò‚œu˽p@º´éÓ¨Iwþz4&FŒ0A‚„)%J‰4UJ„ Ó#L‘‚;X Z h….ÓÉGÚ8x£ÃÁ˜%(ÆØ¸h¸çâöŽ_ÿ3ÇÐ;…¸ØI¤å.‡îœAäL%זּt‘š<ˆxG#[DR‡‰ØÁF"oŒA ~àgÈAxásÁ†rà`Ý%ˆ±"¶æ€'4’ #·Ù¶É!žPÒÈ&·mRÉ%êç@" 4Ñ O´QAoPÐF(H1ƒE€ÐHŽá&I_ìáÄ{¡ Aà!Ê—\H¡IDåqšäaH%zRIˆP2&}´É!}P"H–œ9!ôpEJ<×CÀ1ƒd$A‚0`PˆŸdâ‡m€4B‰±íQ›—$’È&‰øÁ ¥‘¡ž^ØzØ‘ˆ8äqÆ 'Ø`C ”JRÂrÌ@ÅTaÇ}8‘ÁQ Fœ‰7F{£¨¸Ýv[Î~ tëí·à†Û- Ú Î €¢îºì¶ë.(ƒ„“Ÿ=²€Ã9øæ«ï¾ü’N+¬S; pÀÁ $¬ð 3 e'DRÈ2LŸÖB„!`D ߘÂ*!Œ’4Å—Ïr‘«åz©(kR€1ˆ‰‰<1R$0‘‘!;webcit-9.01-dfsg/static/webcit_icons/old/chatrooms_32x.gif000066400000000000000000000010671254743150300235500ustar00rootroot00000000000000GIF89a Õÿÿÿúúúùùù÷÷ø÷÷÷ïððþð}âââôçzñäxéÜuÏÏÏÞÒqÛÏpÎÄl½½½É¾j···¬¬¬¶­ch¬ÿg©ùf¨øf¨ùd£ñÿxùv÷uïs†€Q|||{{{qmJiiiVVVSSSPN=DC98?G===8>F7=D7ÿ€IpRTY†YmBo--oqqbdfhj|Co*wp~tvxz–Š(š~€¨MsŽlS‡°VJ«šŒ­œ‘egik³¬™·œsuwy{¿š¥Ã&1-,ÓÓ2¾1ÀÀ¸Ü`ËoÀŒŒ/äåæç/làšÀ™Çïðñï+ê´ëo¥ï"''"rtHrx…k|{}ijqVF„s^e—˜f‚CS†Ÿqs“y”Ÿwˆ¨‹¢E{¦…¨Š€«D­”‘¸B¶‡–™¿—g»¤sž¯§Z«¼|¥Çm±{ªtË®ÎoÐ~³ÓÄÌÖ×ÉÛÝÝÞÇá®â¹éžæÔzîïðñòïŒ6Ô­óùúôÊÜçù0„HÑâEŒ/Z¤áA¾z÷òÀK!‹,Hp @ <œ`‘"C‚xýáswÁ… ÈœIs¦..ÀK)Ý#PP¨I´(#¸ãùoe  ŠJ­©DX™¶Ãp¢&®š'0ôé×ŸŠ SÓÖ¬ b,;`,ð©æn‡Q{V­_lóÚ;—+]H`ÅžÛU.€§1ÿ­z5+-NŽa@2Í£I—^ÖëS2ø{3çÎу÷"r'£@+0jäè¤H’&Q¾%q) 3 $h¡B†çÕ«Õx¶žJ@ØÇ}ú‘•z"”ˆÀ½;ìZÅË«<¨˜º\ç1“{µiÒûûQòëßÏ¿¿ÿÿ;webcit-9.01-dfsg/static/webcit_icons/old/citadelchat_16x.gif000066400000000000000000000010541254743150300240140ustar00rootroot00000000000000GIF89aæÿÿ¿ÿÿÂÿÿ²ÿÿ­ÿÿ´ÿÿ¨ÿÿ§ÿÿ ÿÿ–ÿÿšÿÿ‰ÿü¨ÿÿÿü‡ÿü†÷÷Û÷÷È÷÷Äÿû…ÿú„ÿú…ÿùƒÿ÷ÿó€þïkþïlüïmþïoþîkýîjðéwááÉðãyõäRöäRôãRôãSôãQõãPôãPíÛTÍÍÍåÒ6ãÐ4ÄÄÄÝÊ4ÜÉ5ÂÂÂÀÀÀÀÀ«ÀÀ¬´´´Î»"ɸ4ɸ3È·5¨¨s¥¥ˆ¥¥…¨£o§ŸV¬Ÿ4§T¦šF––†––ˆ”GŠŠŠ‡‡‡~~~|||ˆ4yyy€w)wo%hhheeZee[]Y4PPFPOEMMMLLLNL9OL8@@@><3:::<;2;:1ÝÝÝ!ù[,‰€[‚ƒ„…†‡ˆ‰†3CKRWWRKC3„,EL@12AME,[/P:¬9O/F;  Zº» 8FU ÆÈÉUF>л»Ôˆ6zzzzzn†}5xxx…{4ƒz4vvvuuuuuawrCtoHsnHjjjiihhhhdddbbb```e_4UURTTTRRRPPPRN7HHHFFFEEEDDDAAA@@@@>3<<<;;;ÝÝÝ!ù†,ÿ H° Áƒ*\Ȱ¡Ã‡u8Ár†N>|ðÌ!c…I „BÀ‚ÓåI'NÀðåK@`„¤r§JŒ8 èÜ©@Œ*w¨ ôR&‡‚(]Ê´ƒ9Êx1…ÍŠ"ÚʵëV °`EN ,¨]˶­Ú GäÁ¡.¯x eØ›Ä 9MDA¸pˆˆ+^"'Ê("çõZ¢ò 7Q qicÄ…çÏ C»0Òfª@*{vÈA£µë×4ˆÙ#”à <®˜Ñ"%É!J¦hAcG— ý³f‹š:züôÑSGM':†I¢A,ÞËO~|@;webcit-9.01-dfsg/static/webcit_icons/old/citadelchat_32x.gif000066400000000000000000000022651254743150300240170ustar00rootroot00000000000000GIF89a ÷ÿÿöÿÿõÿÿôÿÿóÿÿ÷ÿÿñÿÿðÿÿïÿÿÚÿÿÖÿÿãÿÿÓÿÿÒÿÿÑÿÿÔÿÿÇÿÿÅÿÿÁÿÿ¿ÿÿ¾ÿÿ½ÿÿ¼ÿÿ»ÿÿ±ÿÿ¯ÿÿ¬ÿÿ²ÿÿ«ÿÿªÿÿ¡ùùòÿÿ›ÿÿœÿÿÿü˜ÿý’õõõÿû˜ÿû‘ÿûþü‘þüþüÿü‘ÿüþõŒþõ‹ññÝññÞþõþõŽþô‹þôþôŒþóŒíííýð‚ýï‚ýð€ýïýïƒýîýïûíyûì{ûísúìvûìwûìxûìyúìzûìvûìzùêmøéjøêiøéløémøéköä^õä`õä_õä[õä\õã]õã\õã[ÝÝÝõã^õäYõä^õã_êâƒåã„êâ„óâ\åâ„ÜÜ­ÜÜ®ðÞLðÞIñÞMðÞJñÞKñÞJñÞLÙÙ¾ÙÙ½××ÒñÝKñÜOñÝLçÚrçÚtäÖjäÖiÏÏÏê×7ë×9ìÖ7ÎÎÎéÕ9éÕ7ÉÉÉÈÈÈÜËFàÌ1ßÌ9ÄÄÄÝÊ7ÚÈIÂÂÂÝÉ8ÁÁÁÀÀÀ¾¾¾»»»ººº¶¶¶Í¼7̼6È·7±±±È·1®®®º²jº±g¿²R°°{¨¨¨¸¬O§§œ§§¹ª5¸ª6   ³¥.±¤B  ™™™–––Ÿ“76ŠŠŠ„„„‚‚‚‹6|||yyyvvvuuuvo6soFsnElllkkknhTTTYV;XU;TT9YT(TT8RRIUT0RR7OOOTP+SO5MMMQN3RM$RM%RM#PL2RM"NK3PK#LK,LK+IIFHHHKH'JI)JI*KH&IF3EEEHF3KG'KG&IF&DDDIE&EC6BBBB@3;;;993774ÝÝÝ!ùè, ÿÑ H° Áƒ*\Ȱ¡Ã‡#JœH±":<ŠB­²el\¹rãŒÙZJ‡‰Nm£% Ÿ+7H¸q…$Q´¶J¤pPª\žØx @´(H‘z`ã)WªA?Q»ôB‚«hÝʵ00QûTÔ­5L¨À¶­Û·l!8Pƒ Ô@DÃÂHÀÀ¯b ˜×†ÃÄ C$¥ "wA¹²åÊ2kþ +ÕÀ”`Aš4±kÓR«^šØŠ×¯»TÎKŒÛ¸sëÞ­› 8±$ñNüØ·ãÈ“#?¦£yóH±:ÒˆõëØ­ ’={]Ž–’r5G‰y%Á¢E[ƾ½ûeÁœÈ—óªTÁR¿&AÙÏ¿¿ÿþ_Xâ‹}U"Ž h$¨à‚ ¢ÑG'²œIB½4rǨ¢É"„äáa0’É(­ K% %󈵘’Š9ähÍŒÐpCŽ9ªlbHC»p2K*ѱ …ÈtD´‰3›X„Ð!NF)å”TViå•;webcit-9.01-dfsg/static/webcit_icons/old/citadelchat_48x.gif000066400000000000000000000016301254743150300240210ustar00rootroot00000000000000GIF89a00æãÏ2™™3ÿÿ£JH3«««üïu333µ¦.ôôòmg<éééôâ`±±ýñŠ™™™pppÿÿÌÄĽfffñÞRÿÿÄĵ5ÿúMMMñÞLíç…;;;ÿÿÖ‚}R×Ä5®¥`¶­\ÿÿµíÙ:ººÿÿæÌÌ̲²²™™™c]7…|4ÿÿÿBBBýñ„ôáZ£šQùérµN¾¶l€€yþö÷çk¨¨—äÑ@PPKîÛ;?=3ÿÿ«ºººýî{ÿÿðº¬E†7ÊʽƒƒdØØØ÷ÞRÿÿ™ÿÿŒyyyOL:|uB¿°2ÀÀyÜÊ-ÿÿÞúìrÿÿ¾€x?TTTîÜAÄÄÄÎÀVèÔ6ff3DC5èÔ4……‚TQ<÷çbõã[îÙAÿÿôõõõÿÿ™»­<àÍ5úì{¾¸pÝÝÝ!ùe,00ÿ€e‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡žSGQ,,QGS›'Y³SC _++_ C¤Y'•&S ÁÕÖ×Á S&‘,Y>æ%èéêëêæY,ŽS3A%Múûüýþü%‚Ì8PKÑ 6šH`¡¡Ã‡#F”ÐÄfˆxD!!ቈˆI²¤I"žH …" ,ˆØA³¦Í›8s޴ЀáBfJ´¨Ñ£H‘Š"¯…%ŠH*Õ¤Õ«T§XBÁ‹ E0ˆK¶¬Ù³h1l`áu·põãÊK·îÛµ†(ÈpÀ·oß«€I¶Lx0™®…xèÁ¸±ãÇ#C6ÐØCÓB:@ŒÙ̹³gÎNœ|îº3µ„€Áº5ŒÀ°]³¡Å%¢H^lÙÍ»†ïß¼ƒ ¾ûŒ‰è%¡â¢¹óçУK‘„ £ *hØÎ½»† àËÿʕˎŒÑ¥Ëíã·ÏA¿~ýa€¤ð.Ò*^ V¨ | €b|p¨`Ê 'É „Ò”rJ*«´òJ,¼`rp(J"Q¤ˆÞЉ©c"ýÍhã8æ¨ãŽ<öèã@;webcit-9.01-dfsg/static/webcit_icons/old/copy.gif000066400000000000000000000001661254743150300220260ustar00rootroot00000000000000GIF89a‘ÿÿÿ€ÿÿÿ!ù,Gœ©Ëí£œ´š€³x€YÝ×UY êŸð*„bð+?®c2Û¨n±\°ØËt¥­È£$3F 1Æœ¬¶³÷ ‹ ;webcit-9.01-dfsg/static/webcit_icons/old/cut.gif000066400000000000000000000001441254743150300216430ustar00rootroot00000000000000GIF89a‘€ÀÀÀÿÿÿ!ù,5œ©Ëí£œ3K¯ÎŸ–Èi 'žh‰À0@sô,Sð€óz¾ÛI‚2á¤K*—Le;webcit-9.01-dfsg/static/webcit_icons/old/diskette_24x.gif000066400000000000000000000022501254743150300233610ustar00rootroot00000000000000GIF89a÷ÿÿÿþþþýýýüüüùùù÷ö÷ñññïïïîîîìììáââÚÚÚËËÌÂÂÂÁÁÂÀÀÀ·¸··¶·µµµµ´´µ´µ±±±±°°¯±±®±®­¯¯®®¯¬®®­­­¬­¬¬«­¬«««««ª«ª©«ª¬©«¦§¦¥¥¥¤¤¤¥¥¤££££¢¤£¢£¢¢¢¢£¢¢¢£¢¢¡¢¢ ¢¡££¡¢¢ £¢ ¡¡ ¢¡ ¡¡   ¡¢ ¡   ¡   Ÿ¡ Ÿ ¡Ÿ žž   Ÿ žŸŸžŸ¡žžœ›žœœ›œœšœ›šššš›šš™™™™›™›š˜™—˜—––——–˜–•––•••••”””–“””“”“”“““““’’’‘‘‘‘‘‘‘‘ŽŽŽŽŽŒŒŒ‹ŒŒ‹Œ‹‹‹‹ŠŠ‹Š‹‹‰Š‰‰‰ŠŠ‰‰ˆˆˆ……………†……„ƒ…ƒ„ƒ„ƒ„ƒ„ƒ‚ƒƒ‚ƒ‚ƒƒ‚‚ƒ‚‚‚‚‚„€€€€€€ÿf~~~}}}~~}~|}|||{{{}{z||{zzz|zz|z|yzxzzyyyyyyzxxxxyyxxwwxwuwwvvvuvvvuwttutuuutvtssrsrrrrtrrpqqpppqqopopnoommnnnmllllkjjjjkjkiijiihhghffffggeeedfegeeddddcgdcddccddcecbcdbcccbdcccbdbacaaZ[ZPPQMMM>>>===<<<:::999888777666555444333ÝÝÝ!ùÎ,ÿ!Z¶ŒY³ƒÍ˜)\¨Œ`AeÌ9s¶ì†Å@3jÔ¨fÎ f™áh¦c£ÉŒoš%j҆˓'ãrÄÒY38èÜÉ“'F”j6‹AL EÂ$4…ÓžPw6ª¤©&3XÅà‘%OVaˆ•Ò&QBƒ¨Õº§O¥@Ú$B—,TO¤HYMÂ7 (]ÆŒiã& E“2uj•Ð)!s “†p@‡ ]ê4Ê”)Ur™m a3e¨M# †ªU+¹ÍÀÈn€‚ HQbÇ‘/ÈXÁ‚%ñf ,|@!„ K¸({õ*—²‰Íàhg6À@2@Ä @…èP“0ÊjÕúuݳ;ð¹@†h˜… HyBF™,YìM´Ìr—À1’sÁœ0f(cË„rÓÇ…&C 1th‚V”¡Ì-$ÊŇ0~ø\ 8 BŒ€Zœ‘Œ.8Öä !Éœv3Ë@dÚÍ@2Ñ‘H&©ä’L6™d@;webcit-9.01-dfsg/static/webcit_icons/old/enternewnote_24x.gif000066400000000000000000000023321254743150300242630ustar00rootroot00000000000000GIF89a÷ÿÿÿÿúÔýøÒóöùþ÷»þöµñôøéóÿêóÿþôžæñÿãðÿþó˜ãïÿÞíÿþð}üî|ÚêÿäéïÙêÿøæÆåèëðè«îçªÎäÿÜÞäÇáÿÈàÿÃÞÿÎÞàÒÚåÂÝÿ½ÚÿçÔ°ÆÖéÊÔàÈÔáÒÒÒ¶×ÿµÖþÏÏϰÔÿâΦÄÑá½ÑêÎÎίÓÿÍÍͪÐÿ¸Îê»Ìá¥ÍÿÕÆ»²Ëê¹Ë˧Ëù¡Ëÿ Éý Éþ¬ÈêŸÉüÑ¿¿´ÃØ›Æû¨ÄêÆùšÆûÅø›ÅûšÅû¢Âêî¶}¼¼¼è´}ã·yœ¿êè³}é²}â²}½¹§˜½ê•ºê³³³–¶ß²²²Å¯‹¶è±±±ð©R°°°¤°À™±Ïí¤`¯Ö ­¼Š¯ßÿ›Hÿ™E¢©±ÿ˜Dÿ—Cº£{ÿ•@¤®›¡¨•ž¨§˜—‘𦕕•‹–£’’’ž‘~{•·y”¶ÿxŒŒŒ}ޤ‹‹z¥‡‡‡†††•…h„‚ƒƒƒ‚ƒ‰n‡¥~ƒænfƒ¨gƒ¦àis|‡o{‹ñYWãeyyyàexxx‡ssny‡wwwmy‡Údvvv‚t_iv‡zwOÓ`dt‡lqvkps`r‡­_VÂ_WoŽÿDDkkkUnŒUmŒTmŒUmŠrfRRi‡VewraUbbbYdpYdra``Kb}k\Ma^]i[MhZLH^y¯E?Ê=;U[ecYKX[^aYWdXLNZhkU?QV\VTPOOOLPUfGFyE$MMMKMOuC"KLMDMXsC$mB&DJQIIAGGGGHJi?&FGHHE>CDEBBBAAA@@@p4.???<=>;;;:::999N419::99:998888777555566444333222233111000///3.(...---,,,+++***)))*)'%%%"! ÝÝÝ!ùò,ÿå H°`A5{ *\h'–&[% ²ÖíšÅ‹×¸EËãˆÑ¡NÒxäã ¸ Rª4 Y=daK6ð2´y@À³'4”ždèà뙆ám„‚§PÅÐR‚…¦knÈÃliN †=sË ˜@¦ ÑÉòBÞ´Zá¾É¥¶Â]i^% ƒèW«µ-rÓ¢+^¯6^DLX¼Æ“1Š„©<ðšt„ÒÉ0'®³7VMÈ@*oΕÀ­±(®†×I:b¦’±Y蘒(h-†† À-ò¤'—MËPkW.\"‚Öj< ×èƒõK*(TÉ•ªN»  „·ƒ¾#œœp ÂmÛõ¦Ì¨sw¶”ƒ@|j “ÂM2aÂ3wÍàB ;Í1ðá$øœ5F¤à` ‘œRÍ8ÏðÂŽÀ €xòX³„%áXà SÀáG]Ì÷À‹0¾8ž5P˜Î ©£#9äÄèãŒQdN&89Ä9äPJ‚áÀÈä‚Vü å”T~1ˆ(MÊHP4‚pâå—`’² ,Y>`Ÿ@yDà FlZÄ 7O.$çœtÖ)O@;webcit-9.01-dfsg/static/webcit_icons/old/folder_closed.gif000066400000000000000000000006011254743150300236520ustar00rootroot00000000000000GIF89aÕÿÿÿÿÿ™ÿ÷‘ÿôŽÿë…ÿæÿà{ÿÔo™gšhœjžl n£q ¥s ¨v«y®|°~³´µ‚·„¸… º‡"¼‰$½Š%¿Œ'À(Â*Å’-Ç”/É–1˘3Ì™4Ó ;Ü©Dæ³Nï¼WøÅ`ÿÌg÷÷÷ööößßßÞÞÞÖÖÖÈÈÈŒŒŒƒƒƒnnnmmmLLLÿÿÿ!ù5,žÀšpH,G¢ˆµ2ЀçÕ4Ž‚¬ °É\,” KU ht*µj¡‚áC¯w4˜ …Â>k0#ZŠY( 2)"•–•' 3)¡¢¡& 3)­®­% 3)¹º¹$ 2,` 41+/13ÓÔÕ31/5+,.ÝÞß.LNã5A;webcit-9.01-dfsg/static/webcit_icons/old/folder_open.gif000066400000000000000000000005561254743150300233530ustar00rootroot00000000000000GIF89aÕÿÿÿÿÿœÿÿ¥ûù–÷ð‰ÿ÷”ðäzÿóŒÿóœÎ¼\ÿë„ÿç„׸@âÁPÿã|›{É !ÿß|Ú¿lƚƚǜ±‰¡~΢"{Ï¢&¿™)ÿ×lâ³CÞ²Cç¾SýÕpïºC¥s ÿÇ[ÿׄÿû÷õõõÝÝÝÑÑÑÅÅŹ¹¹‰‰‰qqqeeeÿÿÿ!ù/,‹À—pH,3È êd<žŠŠi¤XA”Âå._”b<†>)š)eáèºÝ¥D™>>888ÝÝÝ!ù|,ÿ€|‚ƒ„…†‡ƒ'GmxzzwiD'ˆ„LqaH5-0M_RF:DPD?;6@KB=;L;0===A<9C:57UF:TE;HG7VB3c@'DDDDCCBBBLA99BL>>>8>E<<dø`ÃŽ)/Éf9vä‚’À‘¡ð„ˆq¬Ê[P·IW(ÀС]9sÖ „.ÆÒxd£æ‰N‡¢´Q*aé V-N:ZGµ=Þ’õz¶ŒÄ¡aj^ÈËÖµ¥)Pñ-Q7 þŒ©!%ÌŽ"¯8Œ-H2À kDªU˜¨ ›5è½Ì™e,Iµ0¢iÅè’ôka:•ËŨ”#èå PÞÊN4è„$Kh±"×TÎBá¨@'¿<±Í6°Xz£`³Å6¸‚&Ppbˆ"@ä@Æ€UŠdI“ FôàÂèõA w% „ÑCQ|ÒHèáñH(H@T$AV9%†Xf©å–\.;webcit-9.01-dfsg/static/webcit_icons/old/minus.gif000066400000000000000000000002161254743150300222030ustar00rootroot00000000000000GIF89a³{{{„„„ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù,;pÈ)½8ël·ÿ•ˆd§ Dª‚¬ª™¡0ë@žV?È4XkóªÉ0ÁÕP3j–@Pft*¥Z'Ç+&;webcit-9.01-dfsg/static/webcit_icons/old/minus_last.gif000066400000000000000000000002121254743150300232220ustar00rootroot00000000000000GIF89a³{{{„„„ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù,7pÈI«µáêÍgîàcIr¡®„Àìúiiܾ ëDæ³A-æÙz¨cQcj†žÐ¨tJÕD;webcit-9.01-dfsg/static/webcit_icons/old/minus_last_no_root.gif000066400000000000000000000002071254743150300247650ustar00rootroot00000000000000GIF89a³{{{„„„ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù,4pÈI«½8ëÍ;(†š@œ(!hAŠ¥{®Y Ü7ï<™2ÚG¦‹Y¡¤ÈÃl:ŸÐè ;webcit-9.01-dfsg/static/webcit_icons/old/minus_no_root.gif000066400000000000000000000002141254743150300237400ustar00rootroot00000000000000GIF89a³{{{„„„ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù,9pÈI«½8ëÍe_jaž„ è­©f,`ÛÄ«ïTÆ3 +ÖÃüZÁ‹hÙiZŠÎè*R«–;webcit-9.01-dfsg/static/webcit_icons/old/minus_nolines.gif000066400000000000000000000002061254743150300237310ustar00rootroot00000000000000GIF89a³{{{„„„ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù,3pÈI«½8ëÍe_jaž„ è­©f,`ÛÄ›•ñŒ±1†×ò]DÈŽrÉl:ŸÐK;webcit-9.01-dfsg/static/webcit_icons/old/monthview2_24x.gif000066400000000000000000000023271254743150300236540ustar00rootroot00000000000000GIF89a÷333dšÖäozN¶­a¶¶¶QO<Õ² Wª¤Â·×ÿɦk{AQcã×shd@Ÿ‹%þÚ5™™™²ŸB±Ð÷A?3éä¾Á¼›R%„›·¤œV‚•­¬ÉïfffŒŒŒxsLçßšøÍMjŠÇ½b|{l ”Iµ^ÌÌÌ>M^;62—”x¦¦¦¾ÃÈZZZv†šBBBŸšrÿëýàY³¬„¬\!ÌÌf™™™Zco¶­^„„„®²¶‰„Qÿ×óåwѬljW‘‹iæ½RJ:ÌÌ™RRR]A-­©ƒgt„ÿó¹÷u¶»À|||þÞG:::»x™f3toJ®¦`|xWέ­­­fffèÂJJJsssÅ®Bõç£RQHœŸ¢”N­• þôÕÉi„i­¤\ñsÅÅŽ½½‡O½°lzvYRs˜ØÏ¦â¼ fžÜÿè{|ޤÿ̾¸€¥¨«£h¤"Ô¯tpJX€¬\YFÜÏnJBBä¾ ‹†]¢•Vº°^ £¦ÂÈά³»¹½Ã…ƒsBA6kkBZdqêq‚}MþÜ6’R"¤œWoôçxPNDÿ󺽵kß¼¡r£(ÝÝÝ!ù”,ÿWyÑ‚HÁD®lÑ¢A…±P¢Ô¢Ì*¸x Áƒ,T°èÀR€“)(ÃÑà —þ`9!á—?KÈH,31—@z\â¨Ç–$%â’R., J$Å%ÅÑ¡#Ž.<Éᔃ‚³hÓª=KÀ˜e°™K—®&/DÌUÐvL“¸lä ¶³!M“ ¶¸H³¡/Ü&fë²Aðc 0`a4(Ì·# fsÃÉ 3Ô¨™dÈ ×meÇ-i9cÆ¡ØG+@ÐdOmbÄh#c‚œ;À#Ï Ð+<1aG$) Ñ´=ÚÍŽô„XÏ~͇F`Ч ‚èß?eã&ôá&8 D'W](,R|,°s”Fªuƒ#h€P˜¢°½EÉ dàâ‹ <Å]øá‡…Ô1€!)¨èÁ ¤ ä)À@™Iü5Ñ ‡$1Æ”TŽa„(rH•\1%?6× d–ù˜e6q…_¶éæ›pÆ)'œ;webcit-9.01-dfsg/static/webcit_icons/old/newmess2_24x.gif000066400000000000000000000023051254743150300233110ustar00rootroot00000000000000GIF89a÷ÿÿÿóöùñôøéóÿêóÿæñÿãðÿãïÿßíÿáíûâíûÞíÿàìûäéïÚêÿÝêúÜêúåèëÙêÿÔçÿúî;ÖæùÕåùÏäÿÎäÿÍãþÍâüÍâûØáìÍáûËàûÊàüÈáÿÇßýÈßûÅßýÅßÿÓÝêÆÞûÃÞÿÁÝÿäãXÐÛêÂÝÿÒÚåÈÛóÁÜþÀÛýÂÛúßàlÌÙêÀÚúÈ×êºØý¼Øû¾ØùÆÖé½Öô¶×ÿØÚu¶ÖÿÊÔàÈÔáÃÔê¹ÕôµÕý·Ôø³Óû²Òù½Ñê¼Ðé¾Ðæ¹Îê»Ìá«Îú¥ÍÿºËà­Ìñ´Êå´Êç°Èæ­ÈéŸÊÿ¿È„´ÃØ¦Ãæ¡ÄïÑÈ9§Ãä”Äÿÿ²€¥ÀãžÁë¹ÃŠ’Áú§½Ù‘¿ø§¼Õ ¼Þ½õ¢»Ú˜¸à§µÅŒ¹ïŒ¸î‹¶ì°°°¦²Â¨²½—´Ö”²Ù¤°Àˆ²æ ­¼Ž±Ð¡«µ¨¨¨‘ªÌŒªÍƒ«Ü’§Äš¥º¨×”¦»~£Ñ” ®{ŸËŒœ¯v ÁzÉ–––ˆ—«•••‹–£Š•¢Š“¡˜•ÿy!þy! Ž úw!ŒœoŒ±sŒ ‡‡‡îs"{ˆ˜†††s‰¤{‡—ƒƒƒ€€€kƒ …~‚h¢g‚¢f‚Ök$zzzyyy_|—…tn`w’`w“ku_upppZn…VgzVg|UfxVfrZaiL_nX[^FXdKWfJW\JVdOT[VT5QSXAV^HS`XOKHR_MMMFO[ENYKMOKLMDMW7PZIKOKJ5NGCGHJJI4ZA/\A0CDET>09BF4CJ@@@=?AK;1:=A;;5:::<;38;?<:99999::99:888992777;62<62578679568567566444333222111221///---ÝÝÝ!ùë,ÿ× HÉ™¶k^ãÆ‹ÐÀ‡5  ¢Åä(»â4ˆÉ"Æ0u\ª\¹bÊ,ÐÛIÀTB,§ÅšŠ@ƒðaòæ¯H•KäMÆ‚.£ª;Gu\9Xׂ:¶Ô `ÃJÀ§Ù>oСZ§†Ø•®?&Lˆ5]&L¨l³E'Ó åy+‚¡°áÆP‹á²KŠr¼!‚®å!œH›ârާr’¼AqAÚÅŠÓ¨WÜòe—GX}ûÔŒ–éFÁIU —ÒäZ– Ï–&Cx(çA¤I1rZuò²x0¥ªÊÓ&w9f¸dé¢É’¥z9 ä³Àé¥ Q2V¸¸±è§ôY:¸ü€Ì)qÈ@ãR3Âs~Yxà’ øé±‹#µ³‰(± N*hà'‚K6çÅ#ÑüA Œ<ãÊ#Nâ‹éÍà’ê­bJ$Ôhã{€CÊYá’ø²ÈDÞ˜ƒ%´ð±„Kš c†@ À”TV©À¬qK%Þuée9+…)æ˜d;webcit-9.01-dfsg/static/webcit_icons/old/newmess3_24x.gif000066400000000000000000000022501254743150300233110ustar00rootroot00000000000000GIF89a÷ÿÿÿñôøêóÿæñÿãðÿåèëøæÆÎäÿÜÞäÈàÿÇáÿÁÞÿÎÞàÂÝÿÒÚåÀÛý¼ÚÿçÔ°»ØýÆÖéÒÒÒÈÔá¶×ÿÊÔà¶Öÿ·ÖÿµÔýâΦ»Óï³Óû°ÔÿÎÎνÑê¯ÓÿÍÍͶÐð«Ðÿ¸ÎêªÐÿ»Ìá¸Ìè¦Îÿ©Îý¨ÎüÕÆ»ºËà¥Íÿ¥Îÿ³Ëê²Ëê¹ËˬÊñ¡Êÿ¡Ëÿ Êÿ¤Éö¬Èê­ÈêÑ¿¿±ÄÛ´ÃØ¨Äê›ÆûšÆû›ÅûšÅû¢Âê¢Ãê¯ÁןÂîî¶}¼¼¼è´}ã·yè³}œ¿êé²}â²}˜½ê½¹§›¼ç¤¹Ò•ºê”ºê¦¸Î³³³¢¶Îů‹¶èð©R¶è³Ï°°°¤°Àí¤`’²Ú«­¯ ­¼”¯Ð¯×ÿ›H¤ª±ÿ™Eª¼ÿ˜Dÿ—Cÿ•@º£{Ÿ¥®˜Ÿ¨” ®Š »§˜—“œ¨•••‹–£Š•¢ž‘~Š“¡ˆ”£’’’„“¤~¥ŒŒŒ‹‹x¨–ˆk€‰–‡‡‡„‚†††‚ƒ‰ƒƒƒg„¨ænfƒ¨ñYWãeàewww‡ssÚd‚t^zwOÓ`bs‰kps­_VÂ_WoŽUoŽÿDDUnŒUmŒTnŒTmŒrgS\ep^dm_dkraT[_dl\M\^b¯E?hZLcYLÊ=;aYWX[^dXLZXUiS=OOOHPYyE$MMMfGFKMOvD$tC$KLMBKVGHJGGGGG@IF?k?#FGHi?&CDEBBBEB>AAAp4.@@@???C>7<<<:::N4199:9999::888777666566444333222111000///---+++****)'%%%$$$#! !!!ÝÝÝ!ùà,ÿÁ G ÁƒRHE©Ÿ„º†)Q#F3‚Ë• •ƒt-Ir™³Xr V&‹‚'À˜9³@4¿%<‚gÙ$Y’œ*# ¨ÊÀU¡.{„…:D¦É*6²^`¦€­¦?@íK‘$¦Ú P!i×Y€Šå&ŠÖ"4JL=“vš_hÒTKøÁÚPµ¥a2*΄0s"»éÒ ¢³3w>ñФÆÈ£]ÖB·hÁcDd;¨äñä«’—~ˆ˜}²Ó(8Xñö­Õ‚I“– A‰Û ‘Áx0b‹RÖÔa¥õÈ"ËBµlÞ¼…ÓÖ똴î8²DÖ#ƒûbúHºõêM÷=ÔD6$DˆáÕ`Ã7Û\3Bè'2K˜à ƒ7@1ÆE¬@ K(2N¸àÂp N#â4/¼à„†ÈLQÊ,¶È¢(báÃŒ4ÖH£cÈ%<öècˆ‘ Ä4SÒ‘#5CŒ 5‰P@;webcit-9.01-dfsg/static/webcit_icons/old/nextdate_32x.gif000066400000000000000000000024401254743150300233610ustar00rootroot00000000000000GIF89a ÷ÿÿÿþ÷»öòÍþô ÷òÎþôþôŸþôžþóšþó–þñƒþñ‚þð}þð€þðüï|üî|÷ézöèyõèyàààñävðãvïâwíâˆçà¤çà¥íá{åÞ¥äÝ£ÿÓ²éÜs¼ÚÿèÛràÙ¡ÞØ ·×ÿÜÖŸ´ÔûÏÏÏÎÎαÐ÷×ËjÄÄÄÓÈhÐÅfÍÂe½½½ËÀd¶¹¾’½ï···´¸¼‘¼ï¼î³¶º»îŒ¹ì°´¸¹íŒ¹í¯³·‹¸ì±±±ˆ¶ë­±´¬°³‡µê†´ê¬¯³®®®„³éª¬¯•¯Ð‚²è«««±è§ª®¦©«~¯ç~¯æµ¬`¦©¬¯ç|®æ}®æ¦¦¦|­å{­å¤¦©¥¥¥x«äy«ä±¨Wwªãwªäu©ã¢¢¢u©âv©ãt¨âž¡¤s§âŸŸŸr¦áž ¢q¦áp¥ážžžo¤àp¥àœœœn£ßm£ß‡Ÿ¼k¢Þl¢ß™™™j¡Þi Ý———–––fžÜ ˜W•••”””˜–tŸ—U’’’–Tž–T‘‘‘œ”T˜‘SŽŽŽÿx—SýwŒŒŒ‹‹‹•ŽSŠŠŠˆˆˆ‡‡‡†††………„„„ƒƒƒ‚‚‚}}}|||yyy|F€{Fxxvwww€zFuuutttsssmmmjjjlk^gf\dddgeZcccbbbbaW```___`_U^^^_^U_^R_]T[[[ZZZ[ZSYYY\ZPYXMWWWXWMUUUWVLQPIC D POIPOHNNLNMGLLHMLGJJJKJGFFFDDDCCCAAA>>>555444333ÝÝÝ!ùÐ, ÿ¡ H° ÁƒáØÊEKU+R»ZÍJ5jש\¬X‰Bh°Õ6—Y ÃÆ&#Zú¸É”%Ç‚¡ØPòT鑟J–B!"4é(=¤¡x90Y!1ÒÐÈRä†N‚ éQFØŸHD>3¢«×¯^M<Û°,+´g)HŒ¹ó¥M›/wÀ ©³%NŠg˜™EKB‰š#[¶QÄ "hî^Pv"+_ f|P¡âÃÌ&^v˜QŒl’ã´dèˆq æŽÛ6cÞ(~v Q¾<ÄØ˜2¥<>¸È ³z„,¬ù^i… ™*ožxYóDÍj%\! ž¶J›)ϲk߮݀µú ý䛃 ŽgžyXÿL€{÷(À–Ÿƒ|ɼ!ƒþY¢ÿÏ, à€ Á*vôLs48Ç3ø Vha ÂFAšp¡„‰ãL3ÍDØ¢ˆ/Ž˜±,1žŽöXa*D¡‹ø频 HÀ ¸Ð8$ˆ<ö …ð²apNfIâ–€ôòep/<³ÈšÏ„àfD@á-2L‚¯uòŒ/|>ÃÉŸv¡‡sŸczC Šs¨Y/…ñŒ ŽÃ¤Yñ ÅH‚iVl ;webcit-9.01-dfsg/static/webcit_icons/old/outdent.gif000066400000000000000000000001401254743150300225260ustar00rootroot00000000000000GIF89a‘€ÿÿÿ!ù,1”©Ëí£TaÚrÕ<ß/HÇ9€xZs¶ qŽ„ä –ª‡KzÕ Ú„Ä¢ñÈ(;webcit-9.01-dfsg/static/webcit_icons/old/page.gif000066400000000000000000000002201254743150300217570ustar00rootroot00000000000000GIF89a 㣣UWW2eååq,,½½_~~!þMade with GIMP!ùd, +ÉI)u^{B(@÷Dy †I–FPB!<ñlètœ¿”*€;webcit-9.01-dfsg/static/webcit_icons/old/page16x16.gif000066400000000000000000000017641254743150300225030ustar00rootroot00000000000000GIF89a÷ÿÿÿ¤ží®­åüüÿôôõhkš{¯‡‹»{«Œ‘¾Ž“¾~†Àv|«u{ª…³€†´‹‘¾ˆŽºŒ’¾“¾•·w~«‰‘¾”ÀŒ•Á•¼’š¿ÀÄÙ”žÆ¡©É™£Èq‚¹€ÃÆÔÿ¡¬ÏÅÌáôõøÂÏï}•Ê‹žÊÁË⤶ڢ³×ûüþƒŸÎš´àöùþ‰¦Ó¹âŸºäœ¸à¡¼æš´ÜšµÜ¦À榿äÒäÿ•¶ä¬ÆêÃÜÿÄÝÿÇßÿt¥á–½ëÂÝÿÎäÿÏåÿÐåÿÑæÿK„ÆX’Ó¯ÍðÅàÿÇâÿàïÿšÌþ´Úÿ¶Ûÿ·Úÿ·Ûÿ¸Üÿ®Ïò»Ýþ¼ÝþÊäþÌåþÖêþÜíÿàïþæòþâîúôùþúüþøúüýþÿ±Ùÿ¶ÜþºÞþ¼ÞþÇãþÈäþÉåþÖëþØìþÙìþêõÿ¨×þªØþÏéþâñþæóþêõþuÄþåóþìöþïøÿðøþõúþÝñÿÞðüì÷ÿîøÿïøþòûÿøýÿùýþöÿÿõøøôööþÿþÿÿýÿÿþÿþþÿÿÿ!ù†,Ñ ¡!#Æ 5l 8a¨¡C)üxT¢@ -t8lˆ$¡¿ #Î; ˆÅ‹?)@1Âá ºØÑ“g‹‰8Ä1(.uÔhqs'‡U`Bµ*Õ6B"8\1ÕjU3D$8чœ7YÒœ±R¥Œ=ðñZu ?ì¡KUL;ÌY‚æ [2T¦„âÀá9|™°qÒÀa<‘×4©ÜP–"Cˆ(IäI0Q,8L€‚ë"(¸p!ƒ†;webcit-9.01-dfsg/static/webcit_icons/old/paste.gif000066400000000000000000000002301254743150300221600ustar00rootroot00000000000000GIF89a¢€ÿÿÿ€€€€€ÀÀÀÿÿÿÿÿ!ù,]xºÜþ0ÊI«½h€ÏÖ†ñq@  ª:Qûtݦå9nÃ[º§ 1Èd€ø¸¹‚h™;J§‚€Äy‚&³É˜½JµEàÀ«ôn?esöÒnwîø¼~OI;webcit-9.01-dfsg/static/webcit_icons/old/pixel.gif000066400000000000000000000000531254743150300221700ustar00rootroot00000000000000GIF89a€!ù,D;webcit-9.01-dfsg/static/webcit_icons/old/plus.gif000066400000000000000000000002211254743150300220270ustar00rootroot00000000000000GIF89a³{{{„„„ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù,>pÈ)½8ël·ÿ•ˆd§ Dª‚¨€jfh§íö>><<<555333ÝÝÝ!ùÖ, ÿ­ H° ÁƒÚéåK¬Y«‚ÍÊõ*U°V¾bÅB•°à¬!o:ÒbæÍ¢OHº¢ÊOÊŽO½ÑDjS¥A›8j¤(S%S€VMJSà³(Gn´ÑáEI*@¬yd ²B—ŠZ«vb„ׯ`¿ž¨¶šÖj*LœáCfÎ2|иÑ#¦ŽŠj¤uD)ZMà,#f (XÒ$qs÷B´Ž™œ…ùKD,X„¨1eÌ5#´Ä«Ú›¿iò”q‹†Û9gä„Fx ‰jlþú(ÃãÊ•}ú“#Ílƒj•@PÍÌ_.s¨¤I“EΔ1q¦À9N0Ð.TÿO¾è¯ Ú²·‡, À"XÍ# òW &DÈÝ®``€ d¨¡† 68A5x„ˆ‡Õ8&ªxpá†,2Ðá#Õ|hž'LcM¬h°b‹¾c5)$Ñ0aK `Èc Âø!5PF &L#E ,ɤ‡Õ$ÔÅ/†À–úøaGo“ Yjif—hC›n6ùcQ{$ƒˆ d „ h5’Z pÂ4H3ŒðÙ¡„"ʤÕci5£$ªè1ŽÈPƒy Ž§•@‘CÉ Íª&Ë‚›ªZ)¢Œi°jU 38ÔªÕ ºöªj@;webcit-9.01-dfsg/static/webcit_icons/old/privatemess_16x.gif000066400000000000000000000010721254743150300241110ustar00rootroot00000000000000GIF89aæ"""ÔÉ}y{RêqsI)”Äÿd¥žÄñÙkµ£z³ÂÔYcnŒŸ·ð‡:=:8ðöþPQRÏßôotzèðü½öƒ«Û1S»73AF&7RBˆCM=KŒŠ 2 &L,,EE,6߈I?#5L&†‡ P5@ð2Aâ #¤XèÃ|# ;webcit-9.01-dfsg/static/webcit_icons/old/privatemess_32x.gif000066400000000000000000000023701254743150300241110ustar00rootroot00000000000000GIF89a ÷ñ÷ÿðöþíôýíôþìóûëòûêòýëñøéòýêðøéïöçðüæîøâíüäí÷äêòâêôÛëýÚéüÞéøÚêýÚéûÚêüàæî×èýØæù׿øÑåý×äôþãŠÿâ˜ÝâéÒäúûä„ÙâíúàˆüÞ úÞœøà†ÓàðþÞ…ÝÝÝÿÚŒÈàüÅßÿÿÙøÚ—ÄÞþÄÞýÃÝýìÛ†ÂÜûÌÚêô×–ÁÛúåØ{¹×üâ×z½ÖõéÑ™åÔzÈÏÙÊÏÖéÎŒÇÎ×áÊ–¶Îì¼Ëß©Îü´Ìé¾ÊØÍËv°ÇäžÊÿÝÂÃËmõ¸‹ÝÀƒÕÀѾ±ÀÓ”Äÿ“ÃþªÀÚ“Âýϼ€¨¾Ù’Áû¦¼×‘¿ù¿ø¾øÉº–½í¥ºÕ޼õ­¸Æö©p÷©pŽ»òõ¨oö¨nõ¨pô¨oŒºò ¶Ïô§nŒ¹ðö¦k‹¸ï ´Ì¨³ÀŠ·î­±¶Á±wþ¢^ïz‰µëˆ´ê‰´é‡´éó cûWŸ¬½¦«±™¬Ãµ«jƒ®â„®â«ßû”Gò–R‚©Û¤ªd £¨Ž¡·~£Ñ|£Ó£ÌœœœûŠ8¥œqðŠ?{žÊ¢™pwœÉw›Ç—eú'”™v˜Â™—Y’–ï-s•¿ý{s“º‹“þxÿxñxn»“Œtn¸ùv„Š“k¸|‰šñsírk‡ªx…”‚„…ˆ†Uv„–d…«k‚žr€’~~~d‚§Øk|||i~˜oz‡lxˆuw{Yt—Yr‘om^[oˆmnHUk†dgkhe]Sh¢Z%Qh‚bfQbgLibVšX'Tdxb_If]OZ^SZZZ‰P&YYYFXnXSMLT]KRZQR=PQRnJ/FP\NPELMN@N_MLFELSfG/GJLKH=IG=@FMBEIS@3N@6CA>AA9Q=/A?<9@ID=78@I8=C9<@=;8:::;:999988878846906=555444445333222)+-!ù), ÿSH° Áƒ*\Ȱ¡Ã‡#"œÖÏŸÅ‹3j̸/šÀ~ ˆI²¤É%÷ ô'€Ë—0cÊŒé ßJ#'fêÜ9ƒÍþh,²S¦‚LÝæÍËvŠ— ?ûi°ÃÉ„¢.?pÔÄ ’]’Õ‚6“t…)zÚ5œ<ÙÑâ†28Q#L™’FÑ/^=t¾2¢É²téªÕQqD]^)R°€t˪ 1`ãñÃÙ;_²‘³ÒAXT !o¹3Џ>^ÊåT»T⌥¨RCÆâÆT¾Ä|¸ì©D1cyªH—ô-Èœ¨„CnO"kø>YÕ2çÈÅ3x¸¨/4NI—¨+„ãi¶‹Š !_b]«Õ¯¿ÿÿÿ1’B?8¤æI9¥°  :„ýD!VX!ýä2 R ?o,(â YôÓF((†r +)†BG?³ ˜D"Û¸ƒˆ8^Ñ)2ãŽ<Ú¤¸Œ)ØC‹8|€PA ,`À“PÑ!)¢£Ô<)B¤-õØSÏ—`† f?¤x =ô„“b#DBÔÏ&-žC.)VÒæCýˆÒ¢4묒b'Fà þi"Ñ¡ˆ&ªè¢Œ6Šh@;webcit-9.01-dfsg/static/webcit_icons/old/privatemess_48x.gif000066400000000000000000000030641254743150300241210ustar00rootroot00000000000000GIF89a00÷ !"¨ÚÿxxwNñññÕÄ{;?De†®²Éæ9J_™™fmH.‘ž®áÒrYr‘’ÁûÓÙâ×jѽ™™™™YUIí„7¨¿Úgp{Rat~›¾û—¯³¸26;ÿÿÿÿÔŽÂÛúDGJžW#µ«ux„“ÿ¨gXakÌÌÌçïùÿ{‘¿øˆ´ê±¶¼²¦‡™¯ÍÝòvvvzzzr¶RT?ÿÙ“ð؃=BI>Rjæpðœ]ÔºŽ¹Òð®¼iPjŠD<5“¦¾ö¾•w‹¤ð÷ÿÕº‡zqa™Žzµ_,/3õ¹c€¦JE;]rŒ‰R)æé쌺ò{¢ÑùñƒIFBò¨qajt¸ÆÙ¥œm†–ªôtïI‡¦ÈbcFÿÌ™™ÌÿŒ•ÚŦž²ÌKWfô²ÿå…19CãåçÿÛœMORÈÅn‚~bJ\sìu®®®„®ãˆqYYY¢¹˜ªÁm{‹™™™r—Åt€ŽP=/vœËøøø]{ ÕèÿµÖÿnŠ­@A:äÕ~fffJMP”Äÿ¬ÃßàîÿsŒ¥)*,øçƒÿ ´Ìéÿ‰1?EMÿå‘dq€ØÞå²»ÅS@3üئO]n©[!;GVÿáůŠÿU²·eÛÏ€±§iÿ“CëϦNd~ÅdûΫ«¼o“¿õùÿ:::ž¢§·«x‚“§PPPåÛz¿Ø÷ìt»Ïé;=?ƒ¬ÝJJJ?Oc~{g„„„¤˜t‰…fABB|¤Õx|PàÀŽ¿ÄÊãïÿCXsYXC§”cíñ÷¿¿¿ÿ±x‡³ékŒ´­½ÞwJ)œ¥­c{˜ÛÜÜQQKRk”óßÿ»ˆj€š¢¶Îÿæ‹ì|(`¥333ÅßÿÿÅœŠ¶íŽ½öÿÞ•@:7yŸÏ9ETTZb¹ÑïBIR6=Gÿ曵¾e{Œ”†‚dUf{u–¾JBBF\xkuƒÿ‚%y›ÅôÙƒ»Ôò{”¥úô€dny€¤ÐchI§ÏÿKS]˜¬ÅèÕƒ*,.°Èº®xÝÇŒæ÷ÿX\G½ÁÇÿ¸ƒÝÝÝ!ùø,00ÿñ H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3j܈T³ CŠI²¤HR›Yɲ¥Ë—0cºl–R—Ì›8eê¢I°Ù˜œ@ƒ2á9Ð'ª HcºFT`3Ô,$º•:Mñ5³ÓÄI†TžÀš¬[£A«£gJX–'6ôñ+Õ*?b4Iq6e‡jeé²(¬½iÌð¡Aã%2„=è€ö/`hk|ibi-(Û„I¤­´6I¥Ö)¡ì÷ÏŸËk¨9xÄHèžO<Ð"2d›I<”ªW«²ë×0;Ar+„œ¡f¡óP€B³lØ¡\š!©RãÇÿ¤ÿhÒK–'Mb¸t†yT¥ópqHp+Ü­jÓä‘i |xÀ* 3¬Ô°BLµdAˆ#­p`C1ø‚‘“‰2³ø÷_rªÔFôQXK‹”qF]ÃÊÔô‚™'€Â‚$T õIx8¦ J;%Œ2J;ƒpa“.\ÀSC7’H²Ds4r4óÊ ¢ ŽáÅʆXàN pÔPC(© G °H’CFèãÍä"M•&ôd –@ƒÁÉ8cŠ€$ãÆ(Š ¢È(>(‚¤ITqÐMœÒˆ`DEáå7pã̧Î|`N—ñøà†^ˆSH XS`ÿóŬ؄ÔÇ.E9^ÞH¨Àšr € H,Æ£Á²Ì6ë,'ÍpQTÇ‘SÃÀfª)æt‹€?  À¸ä–kî1͸R;â)QÂÚÆ * ©Qˆ¹D°É)øÞÓÌ Em! 6s| ïÁ΀ƽå.1Í4Ü`./ÍLP2 t‚²R ‡,²È«D!n¹=€¢2$æ’Pñ@0˜$³H8œLî4*ƒ‚¹”¼¬WØ<î*O¹˜øœ-À )/ï!JcÂ2øZ‘òÎæŽSõE ¤‘50t/ _[ ¿Yß`¾¤]Q*§b÷Ýxç J,jpä÷߀.øà„nøáˆ;webcit-9.01-dfsg/static/webcit_icons/old/readallmess3_24x.gif000066400000000000000000000023121254743150300241230ustar00rootroot00000000000000GIF89a÷ÿÿÿóöùñôøêóÿéóÿæñÿãðÿãïÿßíÿÞíÿÚêÿäéïåèëÙêÿÔçÿÎäÿÏäÿÍãþØáìÈáÿÇßýÓÝêûÖ±ÅßýÃÞÿûÕ¯ûÕ°ÐÛêÒÚåÁÝÿûÔ®ÂÝÿûÓ«ÁÜþÀÛýÌÙêÈ×êÇÖéºØý¾Øùú΢ÆÖé¶×ÿúÌŸ¶ÖÿÈÔáÊÔàÃÔê¹ÕôµÕý·Ôø³ÓûÀÐæ²Òù½ÑêøÆ–¼Ðéü›¹ÎêùÄüÁšûÁšûÁ›»ÌáñÔùÂŒ­ÌñºËàü¾•û¿—´ÊåñÁ’íÀ”ó¾œû»‘°Èæ­Èéû¸Œ²ÄÛ´ÃØ¡Äï¦Ãæú±¥Àãæ´’žÁë§½Ùû¬xØ´‘¤»Ù¡¼Þ¢»Ú¦ºÕÒ²‘ª·Ë˜¸àÿ¨Rú¥Q°°°—´Ö¤°À”²ÙШùŸeô¢P¾¨—™®É ­¼˜­Éú˜W¨¨¨¬ÐŽªÍ‘¨Æç›N¶žÿŽDŘk” ®Â™o‰ ½‘œªÿ‡8ÕL†š´‡šµ–––•••‹–£Š•¢Š“¡ÿy!úw!øw"Œ‹õu"»Hït"‡‡‡îs"†††ìr"ƒƒƒæp#±{Fšd¯zF€€€Üm$«wE×k%Ñi%zzzËg& qDÉf&œoC˜mB—lB¤g>ppp¶`'±^(jjj _4iiljff¤Z)¢Y)¢X)`?ga]e`^’T+]_bS+tX=_\ZX[^rW=XZ^…O,`UI`TIzM0|L-yL.zK-XNIVMEMMMKMOKLMfE.dD/PIAOGBNGAGHJSE8_B/DFIKE?JD>Y@0W?0X@0CDE@@@;;<<:7:;<;:7;978:;A829::99:999888>72986777976775765953566853444333222111///---ÝÝÝ!ùì,ÿÙ È(·mnûöëÏÀ‡£-  ¢Eæ@sq`Ás I’ƒ6ŽIêÈN¢´ bÊ,à"JÁVBÜ&AÚ†@ƒhqò&0Eý˜« mD‚ç¢F]—®*¹s³¶ ÌÄÌÛi$ˆÛ Å@híAŠ˜ef¦ ö©RÕé2ä 8_n(!¹1­5+^¬Ç4 Q»™FƒšŽ ðj¦@ÁH5,QçD²æ„Ú’¨C|XÍúà Vn¥‰Je./×¶È0¡/“,†r%‰š£,V¯âL2ƒ…s5„DÑÂ¥•*B>ˆ*$êYŠ"›8 î)³eäm6J×ê´ªWp7.#Úx vi ×'FAl,h³Núû¸;U)–È|â;W°}CÁ> ¨W‘¹Ó/ª4Ìl;·‘Û{˜Üð»H¡‚Ã]; ·Ü„]h…° û4¼bÄÐ~9Ž0=}Dƒ#^û”Ž·.cºÜÕйI0–ø•ÓxŠ›— ´˜HÐÅ[4¾ýlrM—‘žro|Ž- кz][D:º‰ŸÃ¥)!(†u¢ tö:î× d_¢µ?!.bÁ­®Ò¼ö…¡#hˆð™¢Œ›áÅûÞ$wè’+âþm<@¶îÄì~æoߣYŠ:±ýCøV€ ÿ`“Aâ—cŸ=L4ü>îß:Yõ+¢Ý¯’­¬Ñº}€¸ï9B¦¨‚ƒŠ$]‚Ö ~iŸZý€Mž&dŠ[˜Àlí%8Eeö³áû¥íÒ+F0] ¡°ƒìï¸ÔB3põÊêäO˜ò Q¹B¶pµ[Ur;·ÌËÔxe¬e¢o>òI64dŠÏßZOÞ)”Ž%–gÊÆ:—v%çâ|”õJðí”5üOQUjË õc{.N_z •`ñL>IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/old/savecontact_16x.gif000066400000000000000000000011611254743150300240600ustar00rootroot00000000000000GIF89aæÿÿÿþþþþÿÿýýýþýýöööþð}úì|íàwÃØÿ³ÍÿÁÁÁ¿¿¿ÎÄl¾¾¾¹¹¹·¸¸±³³°²±²²°ªªª­ÿ¨¨¨}«ÿ~«ÿ³ªbx«ÿ¥¥¥yªÿ{¨þy©ÿ™¤·‘¥Ì¢¡¢¡¡¢¡¡¡    ¡ ¡  ¡ ¢¡ ¡ Ÿ ŸŸŸ  Ÿžžp ýœœ¦ž]qŸ÷™™™š™›£›\˜˜™”••“”•h—ðm•䑚“Y‘‘ŽŒŒŒŒŒŒŠiŒÓhŠÓ‰ˆˆˆˆ‡ˆ†‡„ƒ„h‚º€€ÿf|||{{{yyywwwwvw{vMssskkkbbb`ac[[[ZZZWWVTTTQQQSQ?TQ?>PrKKKLKDFg 07ig,Rb¬VHÎpà€Cˆš32Ä`Á„2KÎxðäÈš35Î ˆÄ ‚'g4hØÂæ"38N0åÌ›7m®ô`ªæ.X¢ÄXðÉ… @-<;webcit-9.01-dfsg/static/webcit_icons/old/savecontact_32x.gif000066400000000000000000000015601254743150300240610ustar00rootroot00000000000000GIF89a æ333=nÔ—WYWCš¶ßÿfÕÉn8d¼Žš«Ýêýi›ä;;;„ƒ„srr™™™ÌÜöfff¹°g®±¯ùë{8ART‰à|®ö™™™Ia„ÿÿÿðïð^cjQPFKI:µÑúˆ‚E:PCzæRW]j õb•ìb~©îáu¢ ¢}xB¾¾¾ÒÔÕOSY¸÷{{{°§[ŸÄø[“ð‹ŒŒIxÒr§õßÓnPNB??<ãíýkf?Ƚc>hݯ°HHH¿ÏèL…çÝÒuQO=c›õóøþ ¢¡•ŽTl¡îl¤õ@@@þð}TŽì¦§§²²°ƒ±öRRRAu×R”÷’»÷ööö¡  fffCrÍ„„ŒOÙZRBž–QfšçMKEM†òYŽèðãvJB: ¡ WVV¥¥­‘‘‘{ssȾi¶¶¶åØqXXXGLSiî?uâifM‚°ö@lÌ:dÅ­µµF}ßZ”÷fšíÝÝÝ!ùs, ÿ€s‚ƒ„…‚)-M6M-)†ƒ1Z6 Z1‘œ’—^k5›)¤—^dH?5ލ†-@ H»@-µ†Š »H& MÁ…6fÈÒ»f6΄M9]Ó»]9Íׂ-D4Ó4DÀás)@.åÈè.@´ìbX9f&f9XİsЄX1(> ÀÑaÁ-Ê R!F‚ÜPQåÌ‘3UTÜxÐÁ ¤l ð‚ÉŒPd˜93”L^@#1˜,fj„‰‡Bnx`Ct‹ë P`ÁȈ«#ˆÅŠÕ‚p-@‰‹«V®A‚I³@)RÍ È+—WµZÅ F9Üž@³paõ*æ’‰Àsœ8‘®Ü -+ÖZÁÇ%S6<33€ÍZ­ÀÙ’$ô—/•-G1š¨ '[¶¸v@:C” N×6B¥Mˆ¡(#†ÝÌÀ…×nãF r·b Œ¥Eûp#:pZ €()ʤX¢dÈÞ‡ƒëöníë•L† ˆÿÿfA!؇{îñ·ÝX<ØÆ¤ A ;èçìÌÖ‚ D•ᇠ²;webcit-9.01-dfsg/static/webcit_icons/old/savecontact_48x.gif000066400000000000000000000022041254743150300240640ustar00rootroot00000000000000GIF89a00æ333CSÒÍÂhuww«ÑÿöèyÿfJJJ™™™gªûÌÌÌDYspz‡ÿÿÿN’ÿf™Ì‚{C¨Öfff®±®+iÿãðÿpop:::fffs²ÿ­­­˜‘SêÝsŒŒŒB…ÿ‡½ÿáââGVÑPPQoj?€6:R¡  ¦¸ÍÊàû^£ÿ9\íTR=¥ZïïTÀÀÀáÕr‘Ãÿ@@@:{ÿ‘þñˆ·Ö¼ÚÿQj‡„ƒ„CB<¶¬ZUZ_Ÿ žXÿEŠÿ¢¢ ?uõþð}IeˆXUBñäwØÌj÷ö÷e©ÿ‘{{{2qÿ;UጌR†FžŸ¡ÂµµµB::UšÿrmH9=b[W<™Ìÿi¬ÿqqo~¸ÿc¦ÿæ÷ÿŠ¿ÿZ[ZJÿÕÉiëÞtÉßú‚{H3fÿ•S;fôµ­­¥¥¥tssÍäÿJ„ÿ¢ £™™™Q•ÿ?CI ¡¢½½Å{{s’‘‰Y€JRÖ­µµTmŠ@UÝÝÝÝ!ùz,00ÿ€z‚ƒ„…†‡ˆ‰Š‹ˆ  Œ——RR˜£‡=:ž¨:=¤­z§¨.FFt:¢®— œ²BÀBtR–»‹·žD0ÁB0DÇ‹©.ÎÀ.ÕŠ05Úä50߉EäíEéˆìíÁEèñ†,öÁ8°ð¶¯*Fê¹3B…ZAB½6)Ю€‘ ÅÒ@¤ …ÀŠ€)CD—FB=VŒÙ&L‘0`vŒYÁJ£‚2R]°2‚#¬( ã@š éH\`pBŒš§\ZLP"€%ZpyªÅ ^#ñÆ.°¨íR¡Û· ÿ*tQ‹%C6xDq¥@„i骽Òn…+‚ÕfˆÁ‹«8>NŒ¥Ë¶nÌ¥\÷¤¤.<й´i,Z(i ÁäÓ°ë&pL @ìØ[Ã#¤$•ï߆ÜV›Bw!p’Xμyó9êØ>e‹õ-»0±Ý¹wæ9ôŽÅAŠëÙm7aâû÷JÆ_ã#…ýôz°Ù·ñMw[S8~úñç^s 8€€±™ñÅnxÜ~lø§aJ ð y*xð…bØÀ‚Ìq8@ÂÆÄ 3ŒX"öçá5ä屌? øÄ'¢h@+â8\Kìèá‚=4YciX`äm!Pä’Ç! å–stàe9ØaQN[•W"¸%stùe˜¦‘ÅœY´xZ©׿^çÉ"X v––@ ŠÄ¢4pD (E Á  Jèp H¨—4z„'/PŠl ©Ÿ¾Ñ¦˜á5ÐÂJEaj„ºª¼öêk¯—k£³*!÷æªê øU#,˜Ä^0ÀT‹®º2[­$-(„{m—ËZ t+*P„.lv©¶)1«©¬vÒ¾üj;webcit-9.01-dfsg/static/webcit_icons/old/skipthisroom_24x.gif000066400000000000000000000022241254743150300243010ustar00rootroot00000000000000GIF89a÷ÿÿÿýýýüüüúúú÷÷÷ôôôðððîîîþð}ýï}üî|èèè÷ézáááñäxìßtýѱýͪÓÓÓÑÑÑÏÏÏÌÌÌÜÐlÚÏpÙÎpÉÉÉÙÍoÇÇÇ쿞çÀ£ÍÂk½½½ÌÁdµµµ³³³²²²¯¯¯®®®ûŸ\¬¬¬©©©µ¬b´«a´«bÝžn÷—P´ªYú–Lh¬ÿh«þg«ý¡¡¡f©û»›ƒg©ø¾š€â“Ye§÷ú5???>>>H:/N8'64-55544433322211111280*20////...---+++***&&&'&%$$$ÝÝÝ!ù±,ÿcH° Á‚±&%¢aCMî0bÄÇË ‡"F)\ˆÑ‡"@èP#)R™2nèpŠ+_Ìp¹rÄ D¤B©ÜÈp ª?r"q2¤æÊ•C0‘Ú©°g cÆœ8К+RtäA5B#ÏŒR±«ª,Ha®aŠ”A–£Ê‘C†Œ[ŹbDÉ"*BzÀ€¡±'€Qƒa”)ä Ž"QZ@ɲgS'Âp¦Ád+OžT‰r¥M%=¦bΨy`*W§æ5šæÒ«V¥0Fôô]Œf'“ýø™©   A*2“A¿I 8(dF„‹!x˜˜éF’ “àx¶ÈÇ_x`Z¹(;webcit-9.01-dfsg/static/webcit_icons/old/storenotes_32x.gif000066400000000000000000000024201254743150300237500ustar00rootroot00000000000000GIF89a ÷ÿÿÿüüüùùû÷÷÷õõõóöúôõõéóÿíñõèòÿåñÿíðôãðÿåðÿãïÿéëïÜëÿççèÓçÿßäèÓæÿâââÑäüÎäÿÊâÿÉáÿÊáÿÐßñÅàÿÄßÿÅßÿÊÝôÁÝÿÒÛæÁÜÿÀÜÿ¼ÚÿÉ×éÍÖá·×ÿ¸×ÿÊÔáÃÔëÈÔá·ÖÿÂÓê²ÕÿüÈ¡²Ôÿ¾ÒëºÐë»Ðë­Òÿ®ÒÿªÐÿ¾Îá½Îä·ÎëþÁ“ÿÁ“¶Îë©Ïÿ¼ÌߦÎÿ÷Á˜¥Îÿ¥Íÿ¦Íÿ±Ëë²Ëë÷¿–ÆÆÆ¢Ëÿ­Éë®ÉëŸÊÿÄÄÄžÊÿò»‘¸ÅØŸÉÿªÇëžÉÿªÆë³ÃØšÆüšÆý›Æý¥Åë™Æü븒ÀÀÀ¥Äëÿ³zöµ…¡Âë Â뜿뙾븸¸ÿ«mè°‡•¼ë–¼ë“ºë«¶Å³³³·éî¤m¬¬¬î gó›Z «ºÙ¡wž¨¶×œpœ¢©Ð˜oà•] £åO”qäŒJš§™§”˜ÿ„)ýƒ)•••‹”¡Œ“›‰“Ÿÿx‰“á}2üwûwúvøvàz.‡‡‡„„„ƒƒƒ|„Š‚‚‚h†«g…«äo¡xZÜl¡vWÕjÙhØgwwwpw|œkHlszšiEpppiLÀ_¶_ŒeGVoUoToUoUnTnddd_em X"‡Y7‡X6§Q«P X^e‘S%‰Q'sU>WWWVVV{K(aNBPRTNPROOOJJJeD+HJMFHKkA!RF=AAAQ=/N>ïrÃòÿÉ¡‘š¦]=%½Ûÿ×åö¹Óòÿ™MÉ×çµ¼ÅÂ|H333µ_˜sV>96ЈSäëóán°Ôÿÿÿÿnrwÿ•¬¬¬Êáÿ™™™PSUÌÌÌÿxÿ¡[yyy¤ÇòÁcbD-‡O&VpÓ—kÄÄÄJ;/³Ðò¥N ÍÕàøùùlP:âèíÿÅ›ÿ–Hçn¶¶¶¡¬¹ÜÞâÿ±wRC8¨nEÎÞòÿ¾ÅÙò<<`èÝËW"nQn$S…Ê\(4*ðB¥J¾»AÆÁå¼€r¸îb(/6@æ[g2å —%ÎXpÇJ‹D‚V7c¥îÓœiNx¨h’Áÿff[RE¯¯¯Ò¾‘hfVöï­m°û½ÌÌ\]O•KB™™™6^‰åååõñ˾@kR?ÿf‹‹‹ôÛ¯`Ž¿i¨îßßßywaáÙ“ìßu´«YID=ÌÌÌEA8][JRs˜‘v[VH>(ÿ“MHa|‡mXhgX8aÿ` YYYRRB̸¸¥¥¥ÿ÷Œu„Jk„k­õ„v`;33q´ÿÌâú9:;O=5P{¨JJJýº†ú¼†ÂD]Z?%%$iE4CCCRuÿ^•Aq[nW@ÝÝÝ!ù˜, ÿ1 Èâ‘*\8ƒ.…0œ8‘CS< ’H±ã@¨HpÑ G¼Pâ‡Ç–+CF ìÈâ…ˆQ99S!¢!@‡H T’K† ZÊ´éÏ JiFÆ/*í‘ÐÈ@ ‡ÂŠ›gŒ0-†HeæÀ)Q^8ÚÊh xóRh"Ç”تÅ4dG›G“nÜXd®FxX`B™²…&Š'=j³cð"€hQ|#È1{/ÀÄk†(Ö„@Ïî "}ƒÂŸ (Ib©Æ€×(t‡€gEhx÷¶À"Rp Hæðã:9o4Š#ÿŠ.‚Nä@EÜ`+ÿŽH ¢'Ò§»f‘ȉ3 øpœw¼=Q&ãågžp0„Àƒ5È'öáWÞy0Æ|ÀáF %€A i"¨!o 6X†H $Û1ŠÞ§ ‡Ý¥ñFaÁ‰Š¥¨ã† 6¨ä‹’yƒ‘+’¶àkTvha¡ÈtÙe‹J†_r^nðDxRÅqeNY%•dvIÄqxV@”9DeôéçŸeT1„—@`Qg.d¡F^†Õ£P…Ðejdá‚g$¸p gt@ +„*ê¨+¤ÀgÐp„ $x ´)Á…z|¡À¸æªë |¡m¼ x:eì±Åö¤ì²Ì6ëì³;webcit-9.01-dfsg/static/webcit_icons/old/summscreen_48x.gif000066400000000000000000000031521254743150300237360ustar00rootroot00000000000000GIF89a00÷W™ß‰V´àà†2 ذl;=AþøÈµµµÌâûB]zPGB………c,!ÿVXÿ33êÿûÿ²wz'hªò «£hëᎌ„vÑb#sssÿ„;h°ÿгgXFÿ÷²½µtÿ«n}jHf™Ì±¼ÂIHB9AIîØµJC<‡‡¨™ˆmC66滆,Ge”<ÿö­f©ò]ln¡nnWakRQO¬„br‚ì¿tÚÔÔ)!ﯯ¯ç±†…‚kõï¿+++2.,­­küñ—èÐÎH±G÷÷÷ÿlg6 ™3EGCqA=ïåBBA[Ÿçá­]–ÕççççË—ÄÄÄb˜Õk­÷ZB1fffPLJæÜŠCCJ™™™<<zùzNÄÍ Yx\ÈŸ?ßÕæVXb!‰áÝÕ¨X9pr›+ ø€ƒ”4aËÁ8}òi`ßfœäË(ýñሀ²ƒ"ºØñÜ‚8¡ ÞÆ‰#|ô‡€!¸­àŠxìà¸$8-ð„)Þfý£Œ¸€GŠ€qÁ/MLñW$9_·Qä‘3ʇrp$xQ@ P@A„f¹eŒ]zù¡w<Å*ih1Á•mr¦åYbpi¥ j2á "gŠb d®ùæœwîùg”[Þ_Ö¤—ž5U¨§®úꬷîúë°Ç.ûì ;webcit-9.01-dfsg/static/webcit_icons/old/t.gif000066400000000000000000000015271254743150300213210ustar00rootroot00000000000000GIF89a÷{{{ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù,4(Áƒ*Lhp¡Ã‡BœèP"Å‹ j °Ñ"F†CÒ#Iˆ&OVT™0 ;webcit-9.01-dfsg/static/webcit_icons/old/t_no_root.gif000066400000000000000000000015241254743150300230550ustar00rootroot00000000000000GIF89a÷{{{ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù,1H° Áƒ*\Ȱ¡Ã‡#€¢ÅŠ%"¤¨1"ÇŽ?‚l(räÂ’&;webcit-9.01-dfsg/static/webcit_icons/old/taskday2_24x.gif000066400000000000000000000014011254743150300232640ustar00rootroot00000000000000GIF89aæÿÿÿüüüúúú÷÷÷öööðððïïïþð}üï|ûí|ùì{æææ÷ézõèzôæyôçzÇÝ÷ÆÜöæÚtäØsÍÍÍ¥Éø¤ÈöÒÈpÒÈqÉ¿jÅ»hm¯ÿh¬ÿh«þf¨ùe§÷e¥ô¢Ÿhb¢ð`ŸëŸ˜Zaœä]šä^˜Ýÿy!ŽŽŽ^•Ùñt"ZËZŒÉU‹Ïäp#XˆÃZ†¼€€€W…½U¸}{lzzzyyyM~ºR}²Éf&S|­uuuPz­Qy©PxªLx°»b'Pu¢Ot soKNqœ­](Lm•Ji X)Ie‡Hc…’T+F_E[w…O,YWBwJ-?TmATkASiBSh@RhARh@QfiF.LJ?<<<==7;;;:::99:999777667774555444544333222.02***&%$ÝÝÝ!ùc,¦€c‚ƒ„c4RN…c2SYYZYX*,5…8>\)0$/…7C\ EHLK…1FT"A Q…U\\WO(`<&[…V'J\G6^:I\…S\+\ _abMЄP;\9#%܃Pì»\è‚P=\= úòcPÔ¸8xw¡”@¸üÀPB†~U\!B±b‹~3t½Ûˆc‘ÇE;webcit-9.01-dfsg/static/webcit_icons/old/taskmanag_24x.gif000066400000000000000000000022021254743150300235100ustar00rootroot00000000000000GIF89a÷ÿÿÿñôøêóÿîñõåðýþð}åèëÙæôÎäÿÌáüÇáÿÈàÿíàwÃÞÿìàwÒÚåÂÝÿÀÛü¼Úÿ½ÚÿÉ×çÆÖé¶×ÿÈÔá·Öÿ¶ÖÿÊÔàÃÓåÀÓìÄÑá°Ôÿ¹Òñ½ÑêÎÎίÓÿªÐÿ«Ðÿ¸Îê»Ìá¦Îÿ³Ìë¥Íÿ²Ëê¡Êÿ¡Ëÿ¬ÈêÕÉn­Èê¯Ç宯å½ÄÍ´ÃØšÆû¨ÄêÐÅl›Æû«ÃášÅû›Åû¢Ãê¢Âêɾjœ¿êȾi˜½ê¥¸Ñ”ºê•ºêùh¶è¶è¢³È¤°À¨®µº±dº°d ­¼µ¬b³ªb±¨a“¦¼•¥¸«£_¨ ^’ž¬Ž›«–––•••‹–£–Z¤ÿx”V‡‡‡†††z‡—ƒƒƒg„¨fƒ¨~~~ài„Qs|‡xxxny‡wwwmy‡lw…iv‡ou}it‚dt‡ppp`r‡WoŽUoŽUmŒUnŒTnŒplJTmŒdipafn___X[^[ZL\ZBQV\SV[VUCTR?TQ?PPPSQ>LPUQO>MNMMMMKMOKLMJLOGIKGHHGHJFFFCDEAA@@@@???==9<=><<=:::<;699999:9::::6888777666664566555444333222000///...---(((%%%$$$### ÝÝÝ!ù³,ÿg H°à@+¢N‰2ÈÐ`BKÎHj8ëÊ¢Pœ2j,•ÈEJ!†™À”( ¸DD *Šb"Ðé%ÉÃЫ†bÍàI?Sœljò#“+†^ ¥yáÀ 'z8ÈâhCK~N‘‹©…7Ÿž(pF)† Š… “ ¨ð%ÅF¡=¥ršÁÊ +ªP¡j% Ö¡<ª,4¨ šShhNÀá—6pÀDÅPS  R§YFNCZ áTZ›Sj èÞý!04•nqjË© §’+?%A á”k¸9寂… سc¯½ &Â{_`M>üŽî5ùˆs*ÎðGÈŸïý@M@ŠŸJ±\ù‰@Ø'&CÌqÊ,$¨à‚B8‹&EÜ á„Nh„ƒ•AdžvÈá•0ôE% hd¢‰ TòE,¶è"‹;webcit-9.01-dfsg/static/webcit_icons/old/taskmanag_32x.gif000066400000000000000000000023631254743150300235170ustar00rootroot00000000000000GIF89a ÷·é~yP×ÌoIJJÀÜÿòåyh†«TnÿxjfG™Ìÿ˜‘Wâë÷ßi§®¸¸ÅØ9::p’ªÐÿµ¬b[XBÒÛæoz‡ëíñ—ž¥¦¼×333»ÇØ­½Ð™™™wwwÊáÿar‡X]b¼Íã¥ÅëOM=rx~ÌÌÌ’¤¸~‹š¸Õù@?8…”§É¿j£›]·Öÿÿÿÿéóÿ'''¥ÎÿRXWÑãøÅÑáæÚtƒƒƒ®¸Å•¼ë±ÊêÉ×éþð}ßíÿÄÛ÷ÎäÿÀÀÀKOTUS?÷÷÷B:B‰“”©Äßäè­ÖÿáÕssoI³³³œ¿ë¾Ò뱨aœ­‡‚R¬¬¬!!!åðÿ«½Ô±Çãit„|„ŠEIOÍÖáªÆëÓæÿ`]Dfff¼²e¾ÎáÍÙåZRBs|‡éëïÞÞÞÏÄl‹”ŸÅßÿ ÂëDC@²Îñ÷ézmiH¦½Û £GD=b_Dƒ•ªìßv¡¬ºíñõss{ºÐ램¶ÈÔáÃÔëLRYTTIççèåØtuqL¿Ù÷‹…SLMPÝÝÝ!ùƒ, ÿ H° Áƒ*\È¡ˆ V4lxbÃm0<ñaC„ CB ÔC€†A6˜ˆ@†ˆË—.1D`ÐãO†L6`AÁBŒŸ@zQÐÃÅÍ…L"x¨#‚– @¬0Ά…R"¼!ƒH„PÃ'‡6=9šÐ‹‘2.û| f%%"<éQaå  BŒ`Ç%zô0åÆ 8gØ"Ü€Š)SDð0ÌaCÅ=Ø|QCGòÁÀlpà`C ˆ2¦lèš LŒ ‡Ë† 6p>Ê…Ùæ,”{a'@Æ@Dpl*´‰¢Šî‚î€ÐOžü*,®dÙs…wçwÐßp}û€4È‘ AŽ+ßÁü\‚Yw„kìà@ÜTha*¬±† *8èÜ/\Ñ/$˜à (nñ @€â‹0Æø" +A„0â<&áã?¦QcML`àFš41d39ÔTV9¥“Îé0ƒŽ„¥’P©Ã:,`æ™h¦iæ˜Î æ›h0äÔiçxÖy@8DàQH€êj衈&*P@;webcit-9.01-dfsg/static/webcit_icons/old/taskmanag_48x.gif000066400000000000000000000027501254743150300235260ustar00rootroot00000000000000GIF89a00÷”¾ò“WSQBõé|ÅÐßûí|–§½UoÞíÿ°ÂÚº³p|ƒ‹qnLÿx•§«ÐÿÄÞÿ::9µÃÕìîñdbL™ÌÿºØÿttt‹“áÖzÈÚòdt‡Zbløë€Ðåÿ§¢juƒ“½Ìߟ´Ì333AA:OU[¥ÎÿáááþòŠƒR´Õÿ\`dÝ×”øûÿÃÌ×éóÿ™¢­FE?j‰°ÖÌq«±ºÃò¿ÕñÇÕç½Ûÿ®Ëòøî’ÓÜçemxÖèÿvz~Êáÿãíúƒ‘¥ÍÄqny‡VXZ±ªfÿÿÿïãwGIL›”Y°ÔÿzwZÞèò{‰›™©¾(((pmXCCCPSUÍÕ༼¼fffZ\\³Ðòþô”Öåö¤ÇòmjI„„„Vp¿Ñç²Éå «¸Œ”­ÎÞò¥»ÔøùùÅÙò™™™ÿ÷Œµ®pRJBåÚu|…‘åðÿÌÌÌWVH‡„cmsz¡°Ãks„ š[fffÉÓß—ªÂ¾ÇÒª¤`ˆ„Uéá—HG<ûòšu}‡U[`{sZX]amkRþð}þñ…qty½×ö™ÀòµÖï::BBBJzzzRQGÜéùþô™½ÖæroUÐÙäÇÞú¢µÌµÊ夬µŒaîñõÓÊx¬·Å‰•¢³¬mïäLMP™­Åhmt™©êÞx{Œ”™™fÝÝÝ!ù¤,00ÿI H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹¤ª`À± ƈg¤” ƒDÇ»à²f’')."A³¦Í›5U0 €71’pÉ…Ñ£Hº‘Ò`g‹*ºÚ„X³jÅÚäŸPƒhH°"‹&GHPÙÊF F âBèÄ©?ЦµÓ–ŠßHA 0hMŠSÏP8˜„6#¿(råŠø2‘B Ž´P_È øàM~|àã?~!‡&G{0’(5ND‚@þ¸MP°HBŒHÐÃ$MJôd”`) %O„`™€¢@—ÈÝÄ›pÆ)'càD!1É 7ظ 7D è „ÂIh`Œp‡'d AŸN:JMD:%N7"(¤^b‘„æ ꨤŠ:h©Xø© ž‚J‚¨—ÞÅDjªNbqÁ¤$qÁ®¼öꫯ´z©Ã Ä»B¬6«ƒª ‘0¬±ÐF+-±Ë:¹ÅØf«í¶Üj»³‘°ä–k®¹Ùž[î·ÖBÀM‹lMæ²ë¥ '¸z¾ûšËo¿çÚîA$à«o¾ó’ð¯ÀNr»$pðïÄO|ÈÀ‘à0Å +ÌïÅN`ÁÈ$—lòÉ%€qA$ˆŒòË0«2Ì4Ÿ,³—3  óÎ<÷ì3Ï3¬LÐLÏJH'­ôÒL+;webcit-9.01-dfsg/static/webcit_icons/old/textcolor.gif000066400000000000000000000001551254743150300230750ustar00rootroot00000000000000GIF89a‘€€€€ÿÿÿ!ù,>œ©Ëí£Ta2„¥¡îƒuÚ7t¥·a†øu®i©;ÁF8É ý¼ó‹"MÄ¢ñh —E%sé|…ÔªõS;webcit-9.01-dfsg/static/webcit_icons/old/underline.gif000066400000000000000000000001351254743150300230350ustar00rootroot00000000000000GIF89a‘€€€ÿÿÿ!ù,.”©Ëí£œ´&€ÈšâóUáÖyå8¨¤–éé²@ «œYºÂõû ‡D`;webcit-9.01-dfsg/static/webcit_icons/old/undo.gif000066400000000000000000000001311254743150300220110ustar00rootroot00000000000000GIF89a‘€™™™ÿÿÿ!ù,*”©Ëí£œ´Ú‹ó âEc¨ OǨNçŠ&œ”YkúÎ÷þï+;webcit-9.01-dfsg/static/webcit_icons/old/ungoto2_24x.gif000066400000000000000000000012511254743150300231420ustar00rootroot00000000000000GIF89aæÿÿÿüüü÷÷ø÷÷÷ôôôþð}üî|ÿÓ²ÓÓÓÞÒmÚÏpÙÎpÉÉÉÿ¹„ÿ²xí¡hç¢oì¢jÿ›QÿšOªªªÿ™Mµ¬bäh¦¦¦ÿ•Fÿ”EÜši¤¤¤h¬ÿÿ’A¢¢¢ÿ ˜W^œç”””–Vÿ{ÿ|\˜âþ{[–ßÿxþxýwûvúvùv÷u÷t‡‡‡ïsîpìoênçmQ†Çäk}}}ájƒ~PtttÎdÑbÏbrrrÉaxsMPu£Ot¢Â_iM€iX·\iii·[³Z¼X‡aF>g—^^^qZHpZHeP@UTJmN6aPDPPPNNNLLLYI?HHH^A+5G^5G]X>+V>-N;->>>8>E70cžöfffœ„JüêÖÉsæØyÿy!ÿõ’B::ÏÃszzzOL?ÿkáhòåwÙÌr–“tÒXÿŒJ7=GTTTTQ?µ°•Ï­PäÞ¬ê]̪MYßÿkyv_ǺoõðÑ¥¡~÷𹪎D€³þíjRŒÞ””R_\CXWPÝÝÝ!ùÜ, ÿ¹ Èm „0PÚdàš'›(…9ã… E‚Ajܸ@%ïPZs‘`§(ºr•0Lž(D–x¥mÚv%D•ÐB 0BØöd&ƒX­àTÀÊ<Ë€.Cµpf/Èä ðÀJ  ²Ð(Дf‚àk… œ(¥Ô8FÝf&¤”í­æ&¤pv޽ ¬pòVî À!àjX½”(¹Ál@B<µ âϪÀ<"L»Ói¦ÜM‡…*À6Ê^½jÆAF†Á)jqÁ“šÀ€6У#8Z)Èwz-àÖ)‡£±ÿ²€ŽJ¦š}нÙJtd¸qãš3kzõ¨cíÁ¬K…T±Ãk¤áCÏõI5.,0ƒ?ˆÁÅ@@òD0ÁȆŒHâA¹pÅ+ ðÊ.¨dÇb´øƒ 0Íâ߆Р² m´ñ…„`qÅXb4m€L"xâ ¹PbÁ,Œ@Ɉ Ã4X¾!ÊJ(qF2o 1 M$QÄ´À“³H € (ˆ)çœtŽyŠ,†° äšVXˆ`ÙH„6‚%×è0'k €Š™ˆ&„Ò™ˆ¡¨ÁÌ3¬ȩ́‘6òÇ •ŠÙ.‰ 0qÒ©IJ ¨&NlÑ–¸æŠeÂŒ À"´òÌš© ¨-ÜrŠ®Ìž¢ ª¿£C k:@„€:QIË2›ë)5LÒ00ÓJBd¤«#ü!L4Ýz‹%¸à€ ZÄkô»€ìâ¢JñÊ{ /ªL@4ôKÒ@0°E5ìí)·¨R@B—À.»øâòbùÈ ç5“EA ArÉ`Œ²òLk#ØF ͬóÎ<÷¬s@;webcit-9.01-dfsg/static/webcit_icons/old/usermanag_48x.gif000066400000000000000000000037301254743150300235410ustar00rootroot00000000000000GIF89a00÷333ßT–ŽQáÛ§EŒòòåwNH5ÞÈe:Li]‹ÏÚ¹Qyg-ûѳʫKGÔÌÌ™`™î¶JŒ‰oÿêÜêä¬pªÿúw![W<þð};:3òë²°·¿|||àÐz¯«†Î¿kºEÿsytMÿŒAÌÌÌ®®®Äÿâîÿöèšfff\ZX\”æJJJ™™™­•IB81‚{CþûðÿfÈc Tz³ñä—» Jþ÷»æÒlìÜ~î×ÉJ;0÷ë¥Í«”ÿ©poj?Ƽi…s;RK2Ó³NKh•œ³Ö¯§`ŒŒŒÔÆqbhqßÍsºÖÿ¿¶eîߌL*ë]ÅÀ•Ñʤìëáöè£idKEÿaV/GƒÞCCBQ–ÿùì–ÀO„±òÿï©ywbGcfffTSH÷ì®ùì›òãÖ‹Y{„’€¢Öÿ€-üùäa¤ÿÿjÿÄœåÕ}¥¡~ÀÀÀÙÇ^Y8#ÜeÊǵŸŠFÇ£0ÿÿÿoy‡“€DÜÇoùòÇBB1<2+Eÿ˜•uÑÄmÿ÷ÒUƒÆÿï”ÿ™TëÞtÊÀ…€cæÕrp\[YKØàîZR:†„zÉÀ‡59=îÞ„JID[˜ûZRJøï¼xj?SQ?÷æ­ÍPħKŠZ;ˆ¸ÿrc4îîîùtf™ÿöézѲO]B/¶›Dÿz!å\®¿×²©aáÕrødÖ£‚tttÞÏdkkNF‡íûöÚŒs:²­ˆ©ÌÿÏl+ÿ´ƒÕÅköïµÿn ØÒŸE‹öèÛ~˜‘X{°ÿøõàÿïµÅľÓεQ>0Í®Om¨ÿõç”6:@f[:DB=J”ÿ?=8÷â‚ßÏj÷èôáy™™™QQQÿž^¼ÿúì|èÛLH;úóÎŒ„cŽ‹r´´´„„„kG/RL9cO?rmMœ…:Qf‡ØÒ¡T™ÿÞÖ{‚{Hÿ”NJB:q?¥µÍ‹Q+ÿƒ2¦H@/$™vX†Ë_VQ×WɪK¶±†ÿs[šÿ89:?CI×¶PRJJa^]çÖuî`×ÌoäaF„Ö{AÿÔ·ÝÝÝ!ùÿ,00ÿÿ H° Áƒ*,H ‘©¸fD UY¨jAb¡Çó Š©‚` dÈF@YÂcBl)UŽt&°™"±´pi°ELœ"±•06ržµo߬…4Ö’§@!®ù¢µXoX‹ØÑ)‡ 2/èúpJWΉd½1 ÑÊ<ß<YÉH >™*a-V U9="«?xñFcòÓžü®ÀÂiŠ‘Tô%Æ $¢ABE2V œ:Y Èf ¦ŒV‰ Ö:¸ëhxP™çO¯L“±ôZ nó9ÉfB(‰GŒŒUÃ-Dp]Ælþ)±‘á àÿÜ€¬µnùAÖÕåê•hÝÅ "¥6:ý!ËÁ%:@äÅ Ö­“HS ‘pDU•ˆc -„L“2ýŒ .¤“Ž Á ‘9@r <†„‘BÌs‡9¥˜@ sÁ0¬T&õ䨣<‚‚GJˆ$ò¨‚ AÐSD,šT ;4p¡H ¬VŽ õð¨å– `Ä<”ÀÉþ”É@†ÜóAP0jÄ)§ 'Øaý¼Ãåžïôà 2Ê è 2K*íP$6Þh§œj²Ä %({j Å”`Ç> *ê(h £lʧ÷¼z¸8 ¹îÃ$s9æ…w>ÅçÉ!=¼o‘Ïï!O|ñÇOÏÌò…Û>3M”ßï< *¶_.Ü«À#ô?BÈò³‡ÏCØøÔþ( E>L§=øO~9H`p>ý™Œ ü_ö±TÈ@{Äã‡äq|à#øsàþÆ Bäâ„è#…/¸­¢H® è@x9ŽP <„4Тbc™G$µä×%(A´h æ¶¡ ¼S‡JrÈψ«XÅB¸Ä1 8ˆ!âÁ—¨"F„¶x¹ü…/lHX…;€8ÜÃ)PBÔÈFÀuq È¢航å(á|äâÃH9*ˆ†ÜãY8±ýá˜|¤SZ˜J®Mla˜â& ‚ŒØÉN•ƒÄ(’n´•cXR°J…œQ:*)d-B‚^úò—ÀÜ¥0‡ù€;webcit-9.01-dfsg/static/webcit_icons/old/viewcontacts_16x.gif000066400000000000000000000020131254743150300242540ustar00rootroot00000000000000GIF89a÷þþþùùùóóóòóóððÞàòõîïÛÿî®ãíòëîËäëÚ÷é­ÿæÙåîÿãrÿâuÒâïðãxæÞ¿ûßnÝÝÜìßvËÜÙËÜäÝÕÁÆÙåÊÖÎîÓkÏÏ¿³ÒèËË˵ÎÞ´ÏÓàËqÈÈȽÊËÆÆÆßÉk¾¾¾—ÁÿÁÙ¬½É°½¾¸¸¸¶¶¶¬¹¿©¸Ã¯µ©™·Å±²ŸÁ±k£³¸®­«Ó©M©©©®ÆÀ›J®žc¾™J­ZŒœ¬¨š]‡›­¦˜_¤”[²H’’®ŽGu“¢N•ÿ{‘¡‹‹‹‹’FŽútˆ—z…Œ€€€B†ê{{{…~Iyyy~w>BzÖtttŠtArrrjtƒpkIuc>@eŸ```h`<]]]j[SP2LNPJH;?HPFFFDF@AFIEEECEH?CG?AACA9C?6A?8:>@?>7C=1;:688848>:8'555444256457333443222111000///'''%%%  ÝÝÝ!ù—,è/‘0c¨à–K*Œ’è¥?„¢(œ¨È‘¥IÚš¨Q¤JPÔ*è™>_ˆ@©‘,wɬäE4VD‘´¦/YÒ”aB€€ tš sE¡!:ö¨ÀÃ)ÞRRäĘ 5òhàð"ær¢eР*8ìÀ˜ÁÃEØšBh!g‘AaÁ„KžPñChƒ4ú"âF‡#bV² ´ÁAŽ>úpã&•• •ØÑ'@Ÿ!dlœHEO}€0è ÇK,ºô $“‡ßWØ@Ž0 ;webcit-9.01-dfsg/static/webcit_icons/old/viewcontacts_24x.gif000066400000000000000000000023651254743150300242650ustar00rootroot00000000000000GIF89a÷È»g‹‚NS„ÏTO. ¼Èc€­?Zn¢±Ä¬ØÓ´qƒ†=:4h\<åÙtfffbžö–©­¼þ¤œV£¨„N}ÃÊÓÜ`—íÿï‹ÞÞÙÅÑÛBBBTRIs™´Žv6™™™±¾µ°¶¹®¦]»Ï×àÐs*,.òäˆNp£÷ézˆ”ž«ÊÓNI+«­›±ÉÌÌÌÌÿó¦8?IkfF¶°iÀ´eʾqƒ’”§Âc]9˜U« ^lqw\\YWÝýøØ(''œºÒy’ÎßåÅÆ´>L`­­­ÙÍ{sªýfff‚zF¥ÂËÙÛÍçâÆ€¦¼c©yh7æÙ…DC;‰™Ê©M˜·Âÿñ“¥¥¤Å»‚UQEÂØä´–Eúì{ÆÓÊ…r@^bi333µÄÉPL/ÓØÝ¤œe?=0r}yÓÅl………‰™¦5,¯º½JIAIIIÙääf™ÿÑ×»m¢ï¢¸ÇY_dnnnèÚ}¯¹¯¸ÔêfaCž”Vƒ¬ÍokEÕÈx··™²ªa\Y<®¯‹LF7†˜©‡‚RÞÖ„àÔn57:œ­¶ÖÜÞ¦¯¬¢˜XppozDZ”ÞplIÉË»ZZBÉÒÕÚÙÑîÝ|rc:S}»—~;ÀÁ»úê„€k1êÛ„?=8ÖÙÉö挵µµ:98[‡Í¹ÏÌjw‚­ÂÎþð}‚Œ†Ž ®½ÖÖ`šïSSSÞÖsuuuZ]aʾj…•¡ƒ—Œ{JÆÛ誽Æe¢ý´´¬¥\”­µ¥¨‰ÎÞÞ°¥a*.2«­¡þó¬?CI–Ž^Ãü•´Íƒ|E¿ÄÈ[N.ÞææfffŸ•YkkJ†QÜÝÜ]•êÅÖÞÜÜÑÝÝÝ!ùÌ,ÿ™ øa !Bkª \Èa/ž¼Hôd¦¡E$J„¢⬋ UEôÒˆ(7¬’™ A DB‹M¼”+ 6°ZU\(³‘ƒQ´®HôÁ³S'_9sàMZF]Ñ¤É !8!f±Ð¥d™!X:\ $Ä` ]9‘óÅR?¶Ül ¤F'ffrzé ˜¦R*‘ÚâHÈ n Y‚€ˆ^6¢„ú€J"—,È´AçP¡4`Ô‰ o>5éâÉÓŸI˜Ôà©¡ RÁÂÔ Ì #²NìPУG$ÂÐ`RJÔQ…DýPÅÌ8Y0¬ìÒ¢BåÅE>ruPª}‹_qÔz‡àƒ} —ÄxÚ¡fÌ‚)ID ÁäÅÉЇß%ùyÒIž¬pà }ôq"VñÀƒ‚’H¢P .8 D%X5À§xq ½xR„1Ð’‰ OÐÀ^¨XÁ^ 0ƒŒDxbÇ1‚G… eHBˆUQâʼnpP¤èÁ‰’‚°B“ á w€ad–[*ù+e€¹`%šJ’§Q "CœÜg'€´ÐdèA¨ª(H;webcit-9.01-dfsg/static/webcit_icons/old/viewcontacts_32x.gif000066400000000000000000000030141254743150300242540ustar00rootroot00000000000000GIF89a ÷ÐÃj•ŽPRŒÚ\W=§ÅÍw‘žJb‡þð}×××¢I<8-ÑÈ‚yrB«Âqvz¯“H¼Ãº½ÕФ«§P^oP€ÉææÞIG:ãÕuf™ÿ~²ÿrˆ”·l¼Ó帬hÌÌÌ„©ÁAHIÿð’]]]‹v=ÖÞåêëç]t˜™™fõ僙™™«ÍÕ¶¶¶]–ë333¸®qæìøÆÕä¾´efff‘¢°“ŒaÕÊnN}ÄEC9ßâÇÿïŒCVsÃ×à|HÕ±Ps„¥µ½ÅÅÅ×Ô¿lZ*YP8òåwèÚ…§ŒDþñž_w†¢¼ÅÉÝûRRR­¤_dbOöñÔ692ñá­C^Ó6’2šðÌ̶ô8ÝjÇ&Ĥ2à¤:Ç/[¶:ÅR*ÆJˆmK w†”]vI!w‘ÚF&XÔv˜Vê*ÉÒˆ=²æÈÚ#bÒÒËV1ÊF2‚±¼¡ ñJŽðàÁ„ #GS~9›pã;jQÁñÚ‚1cÄ\„Ú½Û…5kE69 œÐòƒ7Xxmõ±ùÁ2–?n#—-Þ»ùF¡ßšdô4ÿíÅæ2N«ÎÁq–±râ'Š@¿~ö"ÀÒPdxÆ8D&‡L£*oˆÇ*ÑD#À œ#Mè,@ô˜ÒÉ…FŠ 4ô¢ÏTŲNNÌÓ¿ÀÇ(n¬RS>l ã]Œ²‘D’È s˜â㦸à[ý¬6P,°4ò )0ЄbàqB~Á8£Œ¬aŽ# ±`†i &.`BI/?ì'TØÃÀ›pV¢F5Õ„± Wn ?[FÒå,îxáΠ`À@š™½lRÔ?Ç Ò&œ2@Å8&œà‰:þÌèøl9ÂŽSdãŽúÛogJs†@Q4ñN¤°2ÿ‡`*# 8ðYÀ§³á ®l³Í¯4K%Y$°ê?0Ðd¬‘†³Ì]d H&¿S@"kÜflEÐP ÖÐP²¿p P³p–© Í\ t!@&1ÄÃÆ à/lLA %4ìf&%¹¤ÑǺÊië”33“ˆÁP@Á´Ü"Z„[,0ÄLLÁ¡˜ùÍ"Q Äî›!ÀY,à$8+ASÆpÁŠ4bÁ#¢]tÀLÒ5*çÒ̾͢YN9ì¼)È*ÜœsÎIÈ@'#±<`†Z”ÊÙ©@2Å$Ø ü°öÀÔhÀÍ›UÈÓ†!|÷ÿ3!Ì ¢C 묳DhöٰѲtÄüC(°;öÚë€ëØ…<ò€Âê@‹:x FhÍìØ?ùÑÏÖÝ tp‚ô¯=è걃|xð‡H B܇ƃ Ç€ŠÝI‚´´ P´C(0ÌQ ¼B!0¡íÿTh+Øàs/¬à:öÁ…Ka3P†2þàŒÔ` ¸ƒx C׸Æ=<×€uLP‰Lt¢Ö(¾ÝE´‚GÈ‘uØŽÉH† ¶p‡2NLc$°5¾m!Œ_œcEÖá® $ã÷ð…ü¨@.±j !ÃÈ>(r!+ø !€c ¨d 19ÈÐ)oé° ’áÉ8à€dr€‹up€üû+]‰3X’Éø¤Ery]C° F)„©Vº²o5(å=’y’\êÁ™õø‚8ëQMB›Ú¼‡2+ÂL]èÂ(ØÁ!¤ ?˜óœ|Óƒ;u¡cÎn}Å ñ„vü{Ä,&ߎPaÁÀ/3paXw U¨!üp„ ür?F‰Á(v—ÑWn41 AÈñV4ô¥0m(+ÖÁ•¤È€NwÊÓžž`a6 ªB;webcit-9.01-dfsg/static/webcit_icons/old/viewnotes_24x.gif000066400000000000000000000022651254743150300235760ustar00rootroot00000000000000GIF89a÷Œ³ÕsƒŽCP^Òߨlt¥¥¥ài´ÃØ™™™,:JIg„éóÿ¿Á´›Åûfƒ¨»ÚñØèý‹¦¸@@@ŸÁàÏÝÆ333¶ÖðBQdpš¼ÿÿÿ¢¬µs…•2ASÄÑádt‡½ÚÿØá쑯Ƕèiv‡„”£GHJ¬¼Ã¥ÍÿNX`‹–£[[[ªÅáÿxæñÿÓÝꀤд´´œ½Þ³Ïé¼ÀÄ:::ñôøj¬zzz|Š–›¤­TmŒ­­­ ¥‰ Ëí¶×ÿNb{ÎäÿÞåìÆÖéRRRBJc«ÐÿƒƒƒÐÛꞳϽÑåc|”‚˜µˆ¸ì¢µÁ–¸Ös|‡ÞíÿàççÍÙÞ™™™˜¢¤ rrrÂ÷S`k}”«‘ž°ØßàPf‚HFD­Ëè¿ÄÆ™Ìÿ¦Èç»ÌáÔßËœ¿ê—¿âpŠž¯¾LPUŸ°·ÉÙ×¥Éì°Ôÿ¬¸¹¿ÕäARh5<@¾Ôë5FYmy‡¯ÄУÀÖ::BWoŽ÷÷÷ÃÞÿÑÞîKMO³¸»zžNSXÞÞæ×çð•ºêäéï—¸á²àÙãÙJk„¿¾¾¤°ÀIWh¬Èês”­¨¶ÌÙꆠ³ÅÅÅJRZÈÔá¤Êí®³ºÝÝÝ!ù–,ÿ- ´” OƒN82°áÀ#_4X d£¢E„&8lxÄ„ 50I’Aˆéóä$0cºxrãÊ–.eÆDRÓá„‚Z˜à!ŠÑ£QõlXCQŠ+jT¤!‚#(TJä(`!e X #Ô‚'o ‚S ÁÆs X€¤.—|„HÙ+åDkÌØCx,€ì„ÉÒ Ë¡.~à` <£Ž…:„“üáÇ@™ÏS*ñÉ‘ˆ)# -,€°p…ÃVzT`£dŸ€ÖC‰?˜l0§øœ, ]à[` 3n¢»Á±BË4Ò€C¡Q“1˜š’ù`áƒ#…=¹0cŒ{ ‰Ätj (‚^‘#B¤6møpƒD4gI ƒ÷ ÄhÊbÔEÌ7÷εX61I²Þj†™søÃ¥»cš!)¦ßz5—¦2 )Ý×s+“{<­xik6™–@§" )kÛí^lƒ…áflŽ»ãIJ$)>œMf„j€*‘kVOo{ñ$âÏ­ÛVTbýú7€åw³ ÀÅxŒxeð¥êw]îŒ@š¼S"ɵ_«g$,Œc¦O-æÌ”3Qïù¿ HÊ`§J!¡áH—~ 0 ­^ù!pÿ};i0Éìp,^>Œ}oþ'÷?úÆmŸK¥8MÇØÏw*8ØíwFþøc šCÊ5C®qxHÊêv»o…3–áwçG@TúÑKbJ<¸ú]ÞØÝ4ûk‘HÊÒÛó]Sü^¿¶û$÷Qs}@­ùàl† ¹óæÂ"€FlºÆèÞˆ¡3 btÀá¥VLiªˆš©ƒ…¡€à?æ`®îlH7IEND®B`‚webcit-9.01-dfsg/static/webcit_icons/resizegrippy.gif000066400000000000000000000002201254743150300230210ustar00rootroot00000000000000GIF89as³11cÆÆÆÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù,s@=0È ¦½8ëÍ»ÿ_µ$i‰¨”k«¾,ìÆôlËøYŠY‰ `@H ‡Ç"r©l&ŸL¨sI1®Ø¬vË;webcit-9.01-dfsg/static/webcit_icons/sort_none.gif000066400000000000000000000002051254743150300222760ustar00rootroot00000000000000GIF89a 㜜œ¥¥¥­­­µµµ½½½ÆÆÆÎÎΔ””ŒŒŒ„„„{{{sssÿÿÿÿÿÿÿÿÿ!ù , 2ðI«dK¥„‚Ôi7“Bæ™rxÓƒDAœ‡ë†I —3&,YÑTž;webcit-9.01-dfsg/static/webcit_icons/throbber.gif000066400000000000000000000277311254743150300221140ustar00rootroot00000000000000GIF89aö &&&''',,,...000555777;;;<<<@@@JJJRRR]]]___```dddfffkkknnnoooqqqrrruuuvvvxxxzzz{{{|||ƒƒƒ†††ŠŠŠ‹‹‹ŒŒŒ“““•••–––˜˜˜šššžžž¡¡¡£££¤¤¤¦¦¦§§§¨¨¨©©©ªªª¬¬¬¯¯¯³³³µµµ¶¶¶···¸¸¸¹¹¹¼¼¼¾¾¾ÃÃÃÄÄÄÅÅÅÆÆÆÉÉÉÌÌÌÍÍÍÏÏÏÑÑÑÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÛÛÛÜÜÜÝÝÝÞÞÞßßßàààâââãããåååçççèèèêêêëëëìììîîîòòòóóóôôôööö÷÷÷øøøùùùúúúûûûüüüþþþÿÿÿ!ù!ÿ NETSCAPE2.0,Ï€i‚ƒ„ie…ˆ‰‚8$4Ši]HƒA=hidPiL"#T‰I3‚W8J‚ $§«…f !Š>7f‰?E—Š\]‰_cÈ[+'KƒK"%Z—%V‚: DWC‚X&)gb$XÈ…U1.N÷‚gO5pØK$È»BM6Hp" "-*V)tÆ$AT†E )ƒ®™Òƒ¦ ÓcÄŽ,/"PàqèR(&zi…L?+`ú ª(!ù,† '''(((+++---...333555666;;;>>>@@@GGGKKKLLLPPPXXX[[[cccdddeeehhhjjjlllmmmqqqtttyyy{{{}}}~~~€€€‚‚‚„„„………‹‹‹’’’•••–––˜˜˜™™™ššš›››œœœŸŸŸ£££¤¤¤¦¦¦§§§¨¨¨¬¬¬¯¯¯³³³¶¶¶···¸¸¸¾¾¾ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄËËËÌÌÌÐÐÐÑÑÑÕÕÕÖÖÖ×××ØØØÜÜÜÝÝÝÞÞÞßßßâââãããäääåååæææçççëëëíííîîîðððñññòòòóóóôôôõõõöööøøøùùùûûûüüüþþþÿÿÿÌ€h‚ƒ„…†‡„C/@ˆhc!SŽƒGDƒ( YhW12\‡N%#<‚]DT‚*2‡M%$§†).ˆC?ˆJ#&P•ˆfg‡ceÃa;7WƒQ,-]•3 #`‚B++KŽ_L‚^46Ã0 $ÙÄ[=B^ˆIH‡P"<¨qèË åIyb¦Gƒ,3”CGAS0\(° C€€ *9.po„‚'È€y2ÅØ0%4±WHK1ˆU)+\”ÂÇ@=bƒY/1f”8(ƒJ--T”#W‚f49Â4 *„hÃhCB¡Äj_DLQM‡X& 8‡f67P‚ª ¹öcA´ÂQ£Ê; 0 )ò€€`(Ñ`‰,:6tH" FJ¤9ceË0'X8âÎÛ“ OÈÔ$!ù,†!!!%%%>>>EEEGGGLLLMMMPPPRRRUUUYYY[[[eeeggghhhiiijjjlllmmmvvvxxx}}}~~~ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠŒŒŒŽŽŽ‘‘‘”””•••šššœœœžžžŸŸŸ   ¡¡¡¥¥¥¦¦¦¨¨¨ªªª°°°´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼¾¾¾ÁÁÁÄÄÄÆÆÆÇÇÇÈÈÈÊÊÊÌÌÌÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÕÕÕØØØÙÙÙÛÛÛÜÜÜßßßáááâââãããçççéééîîîïïïòòòóóóôôôööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿË€g‚ƒ„…†‡„I4Fˆ‚#_ŽƒLEƒ)&ƒ7:b‡U# 8‚fM“g2<‡V%"9‡07ˆHAˆY-0d”À…aŸÀGB„[35^”?.ƒN11X”* Ì‚6¤”; /Á…]HCeå¥KRPI[cæ+>‡c2(!@cSD®œ!Âà ` ™IQËÇ 20QÁÀˆœ°°AEÄ€Ppé±ÁÓFZ¼„!!‚´ ¢T„B‚ IÖ úò$Hë!ù,†  +++---000111444999GGGNNNVVVWWWZZZ\\\]]]___```bbbccceeegggjjjnnnpppqqqtttuuuvvvxxx|||€€€ƒƒƒ‡‡‡‰‰‰ŠŠŠŒŒŒŽŽŽ‘‘‘’’’“““”””ššš¢¢¢£££¤¤¤§§§¨¨¨©©©«««¬¬¬­­­®®®¯¯¯²²²¶¶¶ººº»»»½½½¾¾¾ÁÁÁÂÂÂÃÃÃÅÅÅÇÇÇÈÈÈÊÊÊËËËÎÎÎÐÐÐÑÑÑÓÓÓÕÕÕÖÖÖ×××ØØØÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞàààâââãããåååæææçççëëëìììðððòòòóóóöööøøøùùùûûûüüüýýýþþþÿÿÿÈ€h‚ƒ„…†‡„K6Iˆ‚($'eŽƒRKƒ-$+ƒ@Bˆ],*?ƒN“h:! D‡\.+@‡6AˆOGˆc58”½¾ˆRL„d9;½H¼‚S43^”1&¦h<>½F:¿…WUˆfcd‡Y]ã.#M†2H‡2  7gZJ_hM  c¨Ä záð@D*,Pqhˆ 0°¤( àÀ 4EL°ØrHL(`ʨ(ÀÀG4f~%áààC”o‚ÌXA¢ç·@!ù,† !!!(((+++---000;;;>>>@@@AAADDDQQQSSSZZZ___aaaeeeiiijjjkkkoooqqqrrrvvvxxxyyyzzz|||}}}ƒƒƒ………ŠŠŠ’’’•••–––———˜˜˜™™™›››œœœžžžŸŸŸ¨¨¨©©©­­­®®®¯¯¯²²²³³³µµµ¶¶¶···»»»¾¾¾ÁÁÁÂÂÂÅÅÅÇÇÇÈÈÈÉÉÉËËËÎÎÎÐÐÐÓÓÓÔÔÔÖÖÖ×××ØØØÙÙÙÛÛÛÜÜÜÝÝÝàààáááâââåååæææèèèëëëìììíííðððñññòòòôôôööö÷÷÷øøøúúúûûûüüüýýýþþþÿÿÿ΀c‚ƒ„…†‡„G3Dˆ‚$!#bŽƒQMƒ*!%ƒ>AˆZ-*@ƒJ“c7C‡]/+?‡5BˆPG59”¼½ˆSN…68¼J:ƒM11Y”5'a‚`24_”H;„\WÔ”XV†Z=0FÙ†X`‡[)J†7K†D5Æ\a"HJ… LbÁŸE8@Q¥Š† \ꢃ‚TLpÆ$+Xp9äåI/cP `À¤/AI8<1åæ *Gœùô!ù,† '''(((---...222777888:::<<>>AAADDDPPPSSSVVVWWW\\\]]]```bbbiiikkknnnoootttvvvwwwyyy………ˆˆˆ‹‹‹ŒŒŒ’’’“““•••–––———˜˜˜¡¡¡£££§§§¨¨¨«««¬¬¬­­­¯¯¯±±±²²²³³³µµµ¶¶¶···¸¸¸»»»¼¼¼¾¾¾¿¿¿ÂÂÂÃÃÃÄÄÄÆÆÆÇÇÇÈÈÈÊÊÊÌÌÌÍÍÍÏÏÏÐÐÐÒÒÒÓÓÓÔÔÔÖÖÖÙÙÙÜÜÜÞÞÞàààáááâââäääæææçççèèèêêêñññòòòóóóõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ΀f‚ƒ„…†‡„aK\ˆ†e„6/3ƒ`B%9d‚†E('S†]-  P†bCF‡cR>:M`˜…= @φK¼]&$­d?J˜D"!7‚V#b˜a%#OƒS58[ÕHˆü3´c‚„‡®À@hhŒ 2ø+£ƒ‡ M(XðABÙàÐÉ!./XT!ÃC… Y!ÉWÍÉ ° $ÄCµ@ƒ !ù,†"""&&&(((444555999:::???GGGHHHKKKMMMPPPRRRWWW___```jjjnnnpppqqqrrrsssyyy€€€ƒƒƒ‡‡‡ŠŠŠ‹‹‹‘‘‘’’’–––˜˜˜œœœžžžŸŸŸ   ¢¢¢¤¤¤¦¦¦§§§¨¨¨ªªª«««­­­®®®¯¯¯°°°±±±²²²³³³···¼¼¼½½½ÁÁÁÃÃÃÄÄÄÅÅÅÇÇÇÈÈÈËËËÏÏÏÐÐÐÑÑÑÕÕÕÖÖÖ×××ÛÛÛÜÜÜÝÝÝÞÞÞßßßáááâââåååæææçççéééêêêíííïïïóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ΀e‚ƒƒ`X[„‰Š„@#P‹Š_HDW] ,‘„b4 !L& 5ƒXY‹O9H.AƒO10^ŠP7b\„L/.Z‹6 O‹L‹YGBTdœŠG!"I׋Vˆ×-)R‚JU×M$$>‚a  +Ýe*(Vƒ^~ ³•(Ép¡Ç"-2pD:Ñàd:YãA„‚ŽäX"ˆGF’‹vèSæÊ† Âr2¥ – :ÈL8èÈ %<ƒ M!ù,† ***111444666;;;<<lÁpÑ‘-{ J(!ù,† ---AAACCCFFFGGGOOOTTTUUUVVVWWWYYYZZZcccdddeeeiiijjjmmmuuuvvvxxx}}}„„„ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ–––™™™›››œœœ¢¢¢¤¤¤¨¨¨©©©«««¬¬¬­­­¯¯¯°°°²²²³³³µµµ···¸¸¸¹¹¹¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÅÅÅÆÆÆÇÇÇÈÈÈÌÌÌÎÎÎÑÑÑÓÓÓÕÕÕÚÚÚÜÜÜÝÝÝÞÞÞàààáááâââãããäääåååèèèéééëëëìììîîîïïïðððñññóóóôôôööö÷÷÷øøøùùùúúúûûûüüüþþþÿÿÿË€f‚ƒƒbE/C\„‹Œ‚? 9ŒTKcf$^`]”f@,T)!O4)B_ =L GB*bŒb >fWHSdQ-*/dD+[OU¢VNÓ¢ŒZ02Yá”( .˜á85a‚^ "ç[..Iƒ0<Ι±1cQ*Ï•IÈ( J(éHÖèÆ +é q¢I£ 4Ä…‡G!J l„ÄÈ L š‚…!Ì AÙ%§ÏŸ‹!ù,†  $$$(((***+++---444555FFFKKKQQQSSSTTTUUUVVV^^^___dddgggiiikkkqqqrrrtttuuuvvvwww………†††‰‰‰‹‹‹ŽŽŽ’’’•••–––™™™   ¡¡¡¥¥¥¨¨¨ªªª«««­­­°°°±±±´´´µµµ¶¶¶¸¸¸¹¹¹ººº»»»¼¼¼ÀÀÀÁÁÁÂÂÂËËËÌÌÌÍÍÍÎÎÎÐÐÐÑÑÑÓÓÓÔÔÔÕÕÕ×××ÛÛÛÜÜÜÞÞÞßßßãããåååæææèèèéééìììîîîïïïðððòòòôôôõõõööö÷÷÷øøøûûûüüüýýýþþþÿÿÿ΀d‚ƒ„K6E_„Š‹‚D ?Œ‹]U‚+!_XCH\ŒH2[0%O'5Œ" DT&!I:  cŠc$ Ed\MUb8  /ŒJ3aŠP).“cYVŒÂ“a;=`“êd07ë‚<8äd#-ñ^44Nƒ<.d0ŒŠ´x)Ȱ!¡0.ZH™$äÈ$ :Ä`„E‹(ŒŽxCÐ T©`¡eÒ&ƒN„@1èJ"†&BœpHHЉ<ƒ %!ù,†!!!###,,,444666888999===???@@@IIIMMMRRRTTT___```bbbdddfffjjjsssuuuxxxzzz|||}}}~~~‚‚‚ƒƒƒ†††‡‡‡ŠŠŠ‹‹‹“““•••–––———˜˜˜™™™žžž   ¡¡¡¢¢¢£££¥¥¥§§§¨¨¨©©©«««®®®±±±µµµ···¸¸¸¹¹¹¼¼¼¾¾¾¿¿¿ÀÀÀÁÁÁÅÅÅÆÆÆÇÇÇÈÈÈÊÊÊËËËÍÍÍÏÏÏÒÒÒÓÓÓÔÔÔÕÕÕØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝàààâââäääåååèèèéééìììíííîîîïïïðððòòòõõõööö÷÷÷øøøûûûüüüýýýþþþÿÿÿÏ€h‚ƒ„U?Nf„Š‹‚O BŒŒc‚0#h`ILbŒV:g7&V&2`‹( P`+$P= K‹) RhgW_h;¿J‹X :‹U! - ŒeßT=Ca‹EF“„dEM„8Aé‚_,.\ƒ'4óha5jDTƒdþ|äP”ȟÇ“fÀØ2 I;FF6p°Á舋Ì=éà‡ ,D¼‚Ââ¸PS•¡bP—JK„@Q Zz ª(!ù,†"""&&&---111222555;;;<<<===AAABBBDDDHHHIIIMMMNNNQQQTTTUUUXXX\\\hhhlllmmmnnnrrrtttwwwxxx{{{~~~€€€„„„………†††ŒŒŒ’’’–––———˜˜˜™™™œœœŸŸŸ   ¢¢¢¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««­­­±±±µµµººº½½½¾¾¾¿¿¿ÁÁÁÃÃÃÅÅÅÇÇÇÉÉÉÊÊÊÎÎÎÏÏÏÐÐÐÑÑÑÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÞÞÞàààâââãããäääåååæææçççèèèéééêêêïïïðððñññóóóööö÷÷÷øøøúúúûûûüüüýýýþþþÿÿÿÔ€m‚ƒ„bGY„‰Šƒ^!L‹‹j‚=-mlRUi‹c,)Fk@ 2a1;hŠ5[k8 .\EQŠ7`‚d”C OŠf,(HŠ_* 3d’ÝZADXf‰PSÝ‚jE!>ÜmBJçVÁm4>çeD$P á‹ &#Nx9׊IJœH‘Ž1’œP‘´„D ‹žàÐqf‘%~³Íš6WläèÖÅÊ +hŒ£8èÅŠ< AR&¨Ñ£‚!ù,† 111222444<<<@@@EEEHHHJJJLLLMMMSSSWWWYYY\\\]]]^^^aaaooouuuwwwyyy{{{|||}}}€€€‚‚‚ƒƒƒ„„„†††‡‡‡ˆˆˆ‹‹‹“““•••–––ššš›››¡¡¡¢¢¢£££¤¤¤¦¦¦¨¨¨©©©«««¬¬¬­­­°°°²²²³³³´´´¶¶¶···¹¹¹ÀÀÀÂÂÂÅÅÅÉÉÉÊÊÊËËËÍÍÍÏÏÏÑÑÑÒÒÒÓÓÓÔÔÔÖÖÖÙÙÙÚÚÚÛÛÛÜÜÜÞÞÞßßßàààáááãããäääæææçççêêêìììïïïòòòóóóôôôõõõöööøøøùùùûûûüüüýýýþþþÿÿÿЀf‚ƒ„dM]„‰Šƒ`'Q‹’‚@ 1‚UVd‹e.+KfF 7b3&2\HPŠ<#b‰EO‹.)LŠ]* 2´“‹YABWÅ„TVØ‚B=^‚C NØSC‚5?ØD8‚œ”@¡›X8"N‘1¸jHÑ [$%I" I99¡AãË")#Hä3#†™ +5lLÂBeŒ7*&zÁ¢†NBb”LüI´h !ù,†!!!666AAABBBCCCDDDJJJKKKPPPQQQUUUYYYZZZ[[[```aaabbbfffgggiiijjjlllmmmtttuuuvvv{{{|||}}}„„„†††‡‡‡‰‰‰ŠŠŠ‹‹‹ŒŒŒ’’’”””–––˜˜˜¡¡¡¢¢¢¤¤¤¥¥¥¨¨¨«««­­­®®®¯¯¯°°°±±±³³³´´´···ººº¼¼¼¾¾¾ÂÂÂÃÃÃÅÅÅÇÇÇÉÉÉÍÍÍÏÏÏÐÐÐÑÑÑÒÒÒÔÔÔÖÖÖÛÛÛÜÜÜÝÝÝÞÞÞßßßàààãããäääæææçççèèèéééëëëìììíííïïïñññòòòóóóôôôõõõ÷÷÷øøøùùùúúúüüüýýýþþþÿÿÿÑ€l‚ƒ„l[j…‰Šl1+Z‹‘L ?‚ad‘<6XlR Bl@Dk‰D-‚G0—U [‰E.‰PYŠ:3ʼn4=‘‘fKM`‰\_Ï‚M&$Ci‚K&(VÏZ"J‚=%%FÏK —lU+-cÏY#œ`+”ÆIŒHÊ æŽ(gùØ1 ZxIôäDŠ Š’„xbJ",*X te%x,ÓEPš5ì B4 N ™ J´è¢@!ù,† ''')))+++,,,///000===>>>NNNQQQRRRTTTZZZ\\\___aaabbbeeegggjjjkkkoooppprrrsssuuuvvvzzz{{{|||}}}€€€‚‚‚‡‡‡‰‰‰‹‹‹ŒŒŒ’’’“““”””–––™™™›››žžžŸŸŸ¦¦¦§§§ªªª­­­®®®±±±²²²´´´µµµ···¸¸¸¼¼¼½½½¾¾¾ÃÃÃÄÄÄÆÆÆÇÇÇÉÉÉÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÝÝÝÞÞÞßßßàààâââäääèèèéééêêêìììíííïïïðððñññóóóôôôõõõööö÷÷÷ùùùúúúûûûüüüýýýþþþÿÿÿÓ€o‚ƒ„oi…ˆ‰‚8%4mŠYE‚C=eo_JoH"#N‰K5‚Q7Goa $‡…L 6ˆ_ !œˆA:Ã…<DÍVX˜„cfÍ‚V-(I˜O)+\Íd&R‚>&&IÍSC‚Z,/gÍ`'UÕˆSjÌh­š(7v@K$$H¢.,hÑ0Œ Ó€M…‰!Ê /ƒ>0J¢6dýÈDЀ ùçƒ&!6nþ Ú"´¨Ñ;webcit-9.01-dfsg/static/webcit_icons/up_pointer.gif000066400000000000000000000002451254743150300224600ustar00rootroot00000000000000GIF89a óJZRkc{c{kŒ{œ)s„)sŒ1„œ1”­BŒ¥R¥µR¥½ÿÿÿÿÿÿ!ù, Rð½÷Þ{ï½÷Þƒï½÷Þ{ï½÷|¼÷Þ{ï= ï½÷ÞÁ0Á{ï=ŠQMøÞ¡cTSàAÄ %­•x€÷Þ{ð½÷Þ{/;webcit-9.01-dfsg/static/webcit_icons/yahoo-32x32.gif000066400000000000000000000024771254743150300222030ustar00rootroot00000000000000GIF89a çšl…m†œu Ž€ž y ”‚ Ÿz”„¡vŽ~˜†£y}•}–ˆ¤… Š¦ƒ›ˆ¢„‰¤¨Š¤‹¦‡" ƒ$›ª!§ˆ$¡Ž"©‘"¬Œ%¥$ª‘&«”&®’'­“)®ˆ/ž–*±”+¯–,±“.¬—.²–/¯™.³‘2¨˜/³™0´‹7Ÿš1µ™2²š2µ8¢›2µ™5±œ4¶ž5·›8³Ÿ8¸ 9¹›>²¢<»‘D¤£=¼¥A¾¨EÀœL°©GÁ¨HÀªH©IÀ¤L¹¬LÄ­MÅ®OƧT¼ X±°RǧV»¬UÁ±SȲUÉ®Yê[½´XË«]¿µYÌ®^¶[Ì­_¿¤d´¸]ι_ϳbÆ´bɹ`϶eÊ»cѽeÓ¸hÌÁkÖ¼qÎÄpÙÅsÚÇuÛÈuÜÀzÑ·ƒÃ¾€ÍÃÔÌ|àÃÒº†ÇĄӯ†ÕˆÐÀŠÌÀ‹ÍÆÔ¿’ÊÉŽ×Í›ÙÊÕÒ ÞˤÔУÛÔ¢àÔ©ßÙ²ãÕµÜÛ´åÝ·çÞ¹çÚÀàÚÁáÝÂãÝÃãàſ߯åâÆéàÇæáÇçâÉèåÌëäÐèçÒëîÚòöï÷öðøøñúøòùùòúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù ÿ, þÿý@° Áƒ üçC œ‡#Jœ(QiÆ„Ùȱ£ÇǤ!¸¦‹É“(Sª\¹† -0cÊœI³&‚f¬èÜɳ§ÏŸf’™B´¨Ñ£H“’!èå‰Ó§P£Jê… &X³jÝʵ+‚R”xx@¶lY%hÓªEkD­‚KŽŠä‘]DŒ A:·¯_¾ 8Ðpd Á"Cʼ1¤©±¦A} Á ²å† iŒˆÏ"…ˆ-&ScIDŸq̺hÇDü¤vm0˜8W¨ÝãDcJtÔ¦á˜MyôXÎ|Žã 800) { var mvCommand = "g_cmd=MOVE%20" + dupes + "|"+encodeURIComponent('Trash')+"|0"; new Ajax.Request("ajax_servcmd", { parameters: mvCommand, method: 'post', }); dupes = ""; } } } } catch (e) { window.alert(e+"|"+e.description); } var mvCommand = "g_cmd=MOVE%20" + dupes + "|"+encodeURIComponent('Trash')+"|0"; new Ajax.Request("ajax_servcmd", { parameters: mvCommand, method: 'post', }); alert ('deleted: '+dupcount+'messages'); } function TriggerLoadDupes () { // alert("bla"); // http://127.0.0.1:2000/roommsgs?room=test%20rss&startmsg=0&stopmsg=499&SortBy=Subject&SortOrder=1 roomName = getTextContent(document.getElementById("rmname")); var parameters = {'room':roomName, 'startmsg': 0, 'stopmsg': -1, 'SortBy' : 'Subject', 'SortOrder' : 1}; new Ajax.Request("roommsgs", { method: 'get', onSuccess: loadZapMessages, parameters: parameters, sanitize: false, evalJSON: false, onFailure: function(e) { alert("Failure: " + e);} }); }webcit-9.01-dfsg/subst.c000066400000000000000000002170731254743150300151630ustar00rootroot00000000000000#include "sysdep.h" #include #include #include #include #include #include #include #include #define SHOW_ME_VAPPEND_PRINTF #include "webcit.h" #include "webserver.h" extern char *static_dirs[PATH_MAX]; /* Disk representation */ HashList *TemplateCache; HashList *LocalTemplateCache; HashList *GlobalNS; HashList *Iterators; HashList *Conditionals; HashList *SortHash; HashList *Defines; int DumpTemplateI18NStrings = 0; int LoadTemplates = 0; int dbg_backtrace_template_errors = 0; WCTemplputParams NoCtx; StrBuf *I18nDump = NULL; const char EmptyStr[]=""; #define SV_GETTEXT 1 #define SV_CONDITIONAL 2 #define SV_NEG_CONDITIONAL 3 #define SV_CUST_STR_CONDITIONAL 4 #define SV_SUBTEMPL 5 #define SV_PREEVALUATED 6 /* * Dynamic content for variable substitution in templates */ typedef struct _wcsubst { ContextFilter Filter; int wcs_type; /* which type of Substitution are we */ char wcs_key[32]; /* copy of our hashkey for debugging */ StrBuf *wcs_value; /* if we're a string, keep it here */ long lvalue; /* type long? keep data here */ WCHandlerFunc wcs_function; /* funcion hook ???*/ } wcsubst; typedef struct _WCTemplate { StrBuf *Data; StrBuf *FileName; int nTokensUsed; int TokenSpace; StrBuf *MimeType; WCTemplateToken **Tokens; } WCTemplate; typedef struct _HashHandler { ContextFilter Filter; WCPreevalFunc PreEvalFunc; WCHandlerFunc HandlerFunc; }HashHandler; typedef enum _estate { eNext, eSkipTilEnd } TemplState; void *load_template(StrBuf *Target, WCTemplate *NewTemplate); int EvaluateConditional(StrBuf *Target, int Neg, int state, WCTemplputParams **TPP); typedef struct _SortStruct { StrBuf *Name; StrBuf *PrefPrepend; CompareFunc Forward; CompareFunc Reverse; CompareFunc GroupChange; CtxType ContextType; }SortStruct; HashList *CtxList = NULL; static CtxType CtxCounter = CTX_NONE; CtxType CTX_STRBUF = CTX_NONE; CtxType CTX_STRBUFARR = CTX_NONE; CtxType CTX_LONGVECTOR = CTX_NONE; CtxType CTX_ITERATE = CTX_NONE; CtxType CTX_TAB = CTX_NONE; void HFreeContextType(void *pCtx) { CtxTypeStruct *FreeStruct = (CtxTypeStruct *) pCtx; FreeStrBuf(&FreeStruct->Name); free(FreeStruct); } void PutContextType(const char *name, long len, CtxType TheCtx) { CtxTypeStruct *NewStruct; NewStruct = (CtxTypeStruct*) malloc(sizeof(CtxTypeStruct)); NewStruct->Name = NewStrBufPlain(name, len); NewStruct->Type = TheCtx; Put(CtxList, IKEY(NewStruct->Type), NewStruct, HFreeContextType); } void RegisterContextType(const char *name, long len, CtxType *TheCtx) { if (*TheCtx != CTX_NONE) return; *TheCtx = ++CtxCounter; PutContextType(name, len, *TheCtx); } CtxTypeStruct *GetContextType(CtxType Type) { void *pv = NULL; GetHash(CtxList, IKEY(Type), &pv); return pv; } const char *UnknownContext = "CTX_UNKNOWN"; const char *ContextName(CtxType ContextType) { CtxTypeStruct *pCtx; pCtx = GetContextType(ContextType); if (pCtx != NULL) return ChrPtr(pCtx->Name); else return UnknownContext; } void StackDynamicContext(WCTemplputParams *Super, WCTemplputParams *Sub, void *Context, CtxType ContextType, int nArgs, WCTemplateToken *Tokens, WCConditionalFunc ExitCtx, long ExitCTXID) { memset(Sub, 0, sizeof(WCTemplputParams)); if (Super != NULL) { Sub->Sub = Super->Sub; Super->Sub = Sub; } if (Sub->Sub != NULL) Sub->Sub->Super = Sub; Sub->Super = Super; Sub->Context = Context; Sub->Filter.ContextType = ContextType; Sub->nArgs = nArgs; Sub->Tokens = Tokens; Sub->ExitCtx = ExitCtx; Sub->ExitCTXID = ExitCTXID; } void UnStackContext(WCTemplputParams *Sub) { if (Sub->Super != NULL) { Sub->Super->Sub = Sub->Sub; } if (Sub->Sub != NULL) { Sub->Sub->Super = Sub->Super; } } void UnStackDynamicContext(StrBuf *Target, WCTemplputParams **TPP) { WCTemplputParams *TP = *TPP; WCTemplputParams *Super = TP->Super; TP->ExitCtx(Target, TP); *TPP = Super; } void *GetContextPayload(WCTemplputParams *TP, CtxType ContextType) { WCTemplputParams *whichTP = TP; if (ContextType == CTX_NONE) return TP->Context; while ((whichTP != NULL) && (whichTP->Filter.ContextType != ContextType)) whichTP = whichTP->Super; return whichTP->Context; } void DestroySortStruct(void *vSort) { SortStruct *Sort = (SortStruct*) vSort; FreeStrBuf(&Sort->Name); FreeStrBuf(&Sort->PrefPrepend); free (Sort); } void LogTemplateError (StrBuf *Target, const char *Type, int ErrorPos, WCTemplputParams *TP, const char *Format, ...) { wcsession *WCC; StrBuf *Error; StrBuf *Info; va_list arg_ptr; const char *Err = NULL; Info = NewStrBuf(); Error = NewStrBuf(); va_start(arg_ptr, Format); StrBufVAppendPrintf(Error, Format, arg_ptr); va_end(arg_ptr); switch (ErrorPos) { case ERR_NAME: /* the main token name... */ Err = (TP->Tokens!= NULL)? TP->Tokens->pName:""; break; default: Err = ((TP->Tokens!= NULL) && (TP->Tokens->nParameters > ErrorPos - 1))? TP->Tokens->Params[ErrorPos - 1]->Start : ""; break; } if (TP->Tokens != NULL) { syslog(LOG_WARNING, "%s [%s] (in '%s' line %ld); %s; [%s]\n", Type, Err, ChrPtr(TP->Tokens->FileName), TP->Tokens->Line, ChrPtr(Error), ChrPtr(TP->Tokens->FlatToken)); } else { syslog(LOG_WARNING, "%s: %s;\n", Type, ChrPtr(Error)); } WCC = WC; if (WCC == NULL) { FreeStrBuf(&Info); FreeStrBuf(&Error); return; } if (WCC->WFBuf == NULL) WCC->WFBuf = NewStrBuf(); if (TP->Tokens != NULL) { /* deprecated: StrBufAppendPrintf( Target, "
    \n%s [%s] (in '%s' line %ld); %s\n[%s]\n
    \n", Type, Err, ChrPtr(TP->Tokens->FileName), TP->Tokens->Line, ChrPtr(Error), ChrPtr(TP->Tokens->FlatToken)); */ StrBufPrintf(Info, "%s [%s] %s; [%s]", Type, Err, ChrPtr(Error), ChrPtr(TP->Tokens->FlatToken)); SerializeJson(WCC->WFBuf, WildFireException(SKEY(TP->Tokens->FileName), TP->Tokens->Line, Info, 1), 1); /* SerializeJson(Header, WildFireMessage(SKEY(TP->Tokens->FileName), TP->Tokens->Line, Error, eERROR), 1); */ } else { /* deprecated. StrBufAppendPrintf( Target, "
    \n%s: %s\n
    \n", Type, ChrPtr(Error)); */ StrBufPrintf(Info, "%s [%s] %s; [%s]", Type, Err, ChrPtr(Error), ChrPtr(TP->Tokens->FlatToken)); SerializeJson(WCC->WFBuf, WildFireException(HKEY(__FILE__), __LINE__, Info, 1), 1); } FreeStrBuf(&Info); FreeStrBuf(&Error); /* if (dbg_backtrace_template_errors) wc_backtrace(LOG_DEBUG); */ } void LogError (StrBuf *Target, const char *Type, const char *Format, ...) { wcsession *WCC; StrBuf *Error; StrBuf *Info; va_list arg_ptr; Info = NewStrBuf(); Error = NewStrBuf(); va_start(arg_ptr, Format); StrBufVAppendPrintf(Error, Format, arg_ptr); va_end(arg_ptr); syslog(LOG_WARNING, "%s", ChrPtr(Error)); WCC = WC; if (WCC->WFBuf == NULL) WCC->WFBuf = NewStrBuf(); SerializeJson(WCC->WFBuf, WildFireException(Type, strlen(Type), 0, Info, 1), 1); FreeStrBuf(&Info); FreeStrBuf(&Error); /* if (dbg_backtrace_template_errors) wc_backtrace(LOG_DEBUG); */ } void RegisterNS(const char *NSName, long len, int nMinArgs, int nMaxArgs, WCHandlerFunc HandlerFunc, WCPreevalFunc PreevalFunc, CtxType ContextRequired) { HashHandler *NewHandler; NewHandler = (HashHandler*) malloc(sizeof(HashHandler)); memset(NewHandler, 0, sizeof(HashHandler)); NewHandler->Filter.nMinArgs = nMinArgs; NewHandler->Filter.nMaxArgs = nMaxArgs; NewHandler->Filter.ContextType = ContextRequired; NewHandler->PreEvalFunc = PreevalFunc; NewHandler->HandlerFunc = HandlerFunc; Put(GlobalNS, NSName, len, NewHandler, NULL); } int CheckContext(StrBuf *Target, ContextFilter *Need, WCTemplputParams *TP, const char *ErrType) { WCTemplputParams *TPP = TP; if ((Need != NULL) && (Need->ContextType != CTX_NONE) && (Need->ContextType != TPP->Filter.ContextType)) { while ((TPP != NULL) && (Need->ContextType != TPP->Filter.ContextType)) { TPP = TPP->Super; } if (TPP != NULL) return 1; LogTemplateError( Target, ErrType, ERR_NAME, TP, " WARNING: requires Context: [%s], have [%s]!", ContextName(Need->ContextType), ContextName(TP->Filter.ContextType)); return 0; } /* if (TP->Tokens->nParameters < Need->nMinArgs) { LogTemplateError(Target, ErrType, ERR_NAME, TP, "needs at least %ld params, have %ld", Need->nMinArgs, TP->Tokens->nParameters); return 0; } else if (TP->Tokens->nParameters > Need->nMaxArgs) { LogTemplateError(Target, ErrType, ERR_NAME, TP, "just needs %ld params, you gave %ld", Need->nMaxArgs, TP->Tokens->nParameters); return 0; } */ return 1; } void FreeToken(WCTemplateToken **Token) { int i; FreeStrBuf(&(*Token)->FlatToken); if ((*Token)->HaveParameters) for (i = 0; i < (*Token)->nParameters; i++) free((*Token)->Params[i]); free(*Token); *Token = NULL; } void FreeWCTemplate(void *vFreeMe) { int i; WCTemplate *FreeMe = (WCTemplate*)vFreeMe; if (FreeMe->TokenSpace > 0) { for (i = 0; i < FreeMe->nTokensUsed; i ++) { FreeToken(&FreeMe->Tokens[i]); } free(FreeMe->Tokens); } FreeStrBuf(&FreeMe->FileName); FreeStrBuf(&FreeMe->Data); FreeStrBuf(&FreeMe->MimeType); free(FreeMe); } int HaveTemplateTokenString(StrBuf *Target, WCTemplputParams *TP, int N, const char **Value, long *len) { if (N >= TP->Tokens->nParameters) { return 0; } switch (TP->Tokens->Params[N]->Type) { case TYPE_INTDEFINE: case TYPE_STR: case TYPE_BSTR: case TYPE_PREFSTR: case TYPE_ROOMPREFSTR: case TYPE_GETTEXT: case TYPE_SUBTEMPLATE: return 1; case TYPE_LONG: case TYPE_PREFINT: default: return 0; } } void GetTemplateTokenString(StrBuf *Target, WCTemplputParams *TP, int N, const char **Value, long *len) { StrBuf *Buf; if (N >= TP->Tokens->nParameters) { LogTemplateError(Target, "TokenParameter", N, TP, "invalid token %d. this shouldn't have come till here.\n", N); *Value = ""; *len = 0; return; } switch (TP->Tokens->Params[N]->Type) { case TYPE_INTDEFINE: case TYPE_STR: *Value = TP->Tokens->Params[N]->Start; *len = TP->Tokens->Params[N]->len; break; case TYPE_BSTR: if (TP->Tokens->Params[N]->len == 0) { LogTemplateError(Target, "TokenParameter", N, TP, "Requesting parameter %d; of type BSTR, empty lookup string not admitted.", N); *len = 0; *Value = EmptyStr; break; } Buf = (StrBuf*) SBstr(TKEY(N)); *Value = ChrPtr(Buf); *len = StrLength(Buf); break; case TYPE_PREFSTR: if (TP->Tokens->Params[N]->len == 0) { LogTemplateError(Target, "TokenParameter", N, TP, "Requesting parameter %d; of type PREFSTR, empty lookup string not admitted.", N); *len = 0; *Value = EmptyStr; break; } get_PREFERENCE(TKEY(N), &Buf); *Value = ChrPtr(Buf); *len = StrLength(Buf); break; case TYPE_ROOMPREFSTR: if (TP->Tokens->Params[N]->len == 0) { LogTemplateError(Target, "TokenParameter", N, TP, "Requesting parameter %d; of type PREFSTR, empty lookup string not admitted.", N); *len = 0; *Value = EmptyStr; break; } Buf = get_ROOM_PREFS(TKEY(N)); *Value = ChrPtr(Buf); *len = StrLength(Buf); break; case TYPE_LONG: LogTemplateError(Target, "TokenParameter", N, TP, "Requesting parameter %d; of type LONG, want string.", N); break; case TYPE_PREFINT: LogTemplateError(Target, "TokenParameter", N, TP, "Requesting parameter %d; of type PREFINT, want string.", N); break; case TYPE_GETTEXT: *Value = _(TP->Tokens->Params[N]->Start); *len = strlen(*Value); break; case TYPE_SUBTEMPLATE: if (TP->Tokens->Params[N]->len == 0) { LogTemplateError(Target, "TokenParameter", N, TP, "Requesting parameter %d; of type SUBTEMPLATE, empty lookup string not admitted.", N); *len = 0; *Value = EmptyStr; break; } Buf = NewStrBuf(); DoTemplate(TKEY(N), Buf, TP); *Value = ChrPtr(Buf); *len = StrLength(Buf); /* we can't free it here, so we put it into the subst so its discarded later on. */ PutRequestLocalMem(Buf, HFreeStrBuf); break; default: LogTemplateError(Target, "TokenParameter", N, TP, "unknown param type %d; [%d]", N, TP->Tokens->Params[N]->Type); break; } } long GetTemplateTokenNumber(StrBuf *Target, WCTemplputParams *TP, int N, long dflt) { long Ret; if (N >= TP->Tokens->nParameters) { LogTemplateError(Target, "TokenParameter", N, TP, "invalid token %d. this shouldn't have come till here.\n", N); wc_backtrace(LOG_DEBUG); return 0; } switch (TP->Tokens->Params[N]->Type) { case TYPE_STR: return atol(TP->Tokens->Params[N]->Start); break; case TYPE_BSTR: if (TP->Tokens->Params[N]->len == 0) { LogTemplateError(Target, "TokenParameter", N, TP, "Requesting parameter %d; of type BSTR, empty lookup string not admitted.", N); return 0; } return LBstr(TKEY(N)); break; case TYPE_PREFSTR: LogTemplateError(Target, "TokenParameter", N, TP, "requesting a prefstring in param %d want a number", N); if (TP->Tokens->Params[N]->len == 0) { LogTemplateError(Target, "TokenParameter", N, TP, "Requesting parameter %d; of type PREFSTR, empty lookup string not admitted.", N); return 0; } if (get_PREF_LONG(TKEY(N), &Ret, dflt)) return Ret; return 0; case TYPE_ROOMPREFSTR: LogTemplateError(Target, "TokenParameter", N, TP, "requesting a prefstring in param %d want a number", N); if (TP->Tokens->Params[N]->len == 0) { LogTemplateError(Target, "TokenParameter", N, TP, "Requesting parameter %d; of type PREFSTR, empty lookup string not admitted.", N); return 0; } if (get_ROOM_PREFS_LONG(TKEY(N), &Ret, dflt)) return Ret; return 0; case TYPE_INTDEFINE: case TYPE_LONG: return TP->Tokens->Params[N]->lvalue; case TYPE_PREFINT: if (TP->Tokens->Params[N]->len == 0) { LogTemplateError(Target, "TokenParameter", N, TP, "Requesting parameter %d; of type PREFINT, empty lookup string not admitted.", N); return 0; } if (get_PREF_LONG(TKEY(N), &Ret, dflt)) return Ret; return 0; case TYPE_GETTEXT: LogTemplateError(Target, "TokenParameter", N, TP, "requesting a I18N string in param %d; want a number", N); return 0; case TYPE_SUBTEMPLATE: LogTemplateError(Target, "TokenParameter", N, TP, "requesting a subtemplate in param %d; not supported for numbers", N); return 0; default: LogTemplateError(Target, "TokenParameter", N, TP, "unknown param type %d; [%d]", N, TP->Tokens->Params[N]->Type); return 0; } } /* * puts string into the template and computes which escape methon we should use * Source = the string we should put into the template * FormatTypeIndex = where should we look for escape types if? */ void StrBufAppendTemplate(StrBuf *Target, WCTemplputParams *TP, const StrBuf *Source, int FormatTypeIndex) { const char *pFmt = NULL; char EscapeAs = ' '; if ((FormatTypeIndex < TP->Tokens->nParameters) && (TP->Tokens->Params[FormatTypeIndex]->Type == TYPE_STR) && (TP->Tokens->Params[FormatTypeIndex]->len >= 1)) { pFmt = TP->Tokens->Params[FormatTypeIndex]->Start; EscapeAs = *pFmt; } switch(EscapeAs) { case 'H': StrEscAppend(Target, Source, NULL, 0, 2); break; case 'X': StrEscAppend(Target, Source, NULL, 0, 0); break; case 'J': StrECMAEscAppend(Target, Source, NULL); break; case 'K': StrHtmlEcmaEscAppend(Target, Source, NULL, 0, 0); break; case 'U': StrBufUrlescAppend(Target, Source, NULL); break; case 'F': if (pFmt != NULL) pFmt++; else pFmt = "JUSTIFY"; if (*pFmt == '\0') pFmt = "JUSTIFY"; FmOut(Target, pFmt, Source); break; default: StrBufAppendBuf(Target, Source, 0); } } /* * puts string into the template and computes which escape methon we should use * Source = the string we should put into the template * FormatTypeIndex = where should we look for escape types if? */ void StrBufAppendTemplateStr(StrBuf *Target, WCTemplputParams *TP, const char *Source, int FormatTypeIndex) { const char *pFmt = NULL; char EscapeAs = ' '; if ((FormatTypeIndex < TP->Tokens->nParameters) && (TP->Tokens->Params[FormatTypeIndex]->Type == TYPE_STR) && (TP->Tokens->Params[FormatTypeIndex]->len >= 1)) { pFmt = TP->Tokens->Params[FormatTypeIndex]->Start; EscapeAs = *pFmt; } switch(EscapeAs) { case 'H': StrEscAppend(Target, NULL, Source, 0, 2); break; case 'X': StrEscAppend(Target, NULL, Source, 0, 0); break; case 'J': StrECMAEscAppend(Target, NULL, Source); break; case 'K': StrHtmlEcmaEscAppend(Target, NULL, Source, 0, 0); break; case 'U': StrBufUrlescAppend(Target, NULL, Source); break; /* case 'F': if (pFmt != NULL) pFmt++; else pFmt = "JUSTIFY"; if (*pFmt == '\0') pFmt = "JUSTIFY"; FmOut(Target, pFmt, Source); break; */ default: StrBufAppendBufPlain(Target, Source, -1, 0); } } void PutNewToken(WCTemplate *Template, WCTemplateToken *NewToken) { if (Template->nTokensUsed + 1 >= Template->TokenSpace) { if (Template->TokenSpace <= 0) { Template->Tokens = (WCTemplateToken**)malloc( sizeof(WCTemplateToken*) * 10); memset(Template->Tokens, 0, sizeof(WCTemplateToken*) * 10); Template->TokenSpace = 10; } else { WCTemplateToken **NewTokens; NewTokens= (WCTemplateToken**) malloc( sizeof(WCTemplateToken*) * Template->TokenSpace * 2); memset(NewTokens, 0, sizeof(WCTemplateToken*) * Template->TokenSpace * 2); memcpy(NewTokens, Template->Tokens, sizeof(WCTemplateToken*) * Template->nTokensUsed); free(Template->Tokens); Template->TokenSpace *= 2; Template->Tokens = NewTokens; } } Template->Tokens[(Template->nTokensUsed)++] = NewToken; } int GetNextParameter(StrBuf *Buf, const char **pCh, const char *pe, WCTemplateToken *Tokens, WCTemplate *pTmpl, WCTemplputParams *TP, TemplateParam **pParm) { const char *pch = *pCh; const char *pchs, *pche; TemplateParam *Parm; char quote = '\0'; int ParamBrace = 0; *pParm = Parm = (TemplateParam *) malloc(sizeof(TemplateParam)); memset(Parm, 0, sizeof(TemplateParam)); Parm->Type = TYPE_STR; /* Skip leading whitespaces */ while ((*pch == ' ' )|| (*pch == '\t')|| (*pch == '\r')|| (*pch == '\n')) pch ++; if (*pch == ':') { Parm->Type = TYPE_PREFSTR; pch ++; if (*pch == '(') { pch ++; ParamBrace = 1; } } else if (*pch == '.') { Parm->Type = TYPE_ROOMPREFSTR; pch ++; if (*pch == '(') { pch ++; ParamBrace = 1; } } else if (*pch == ';') { Parm->Type = TYPE_PREFINT; pch ++; if (*pch == '(') { pch ++; ParamBrace = 1; } } else if (*pch == '#') { Parm->Type = TYPE_INTDEFINE; pch ++; } else if (*pch == '_') { Parm->Type = TYPE_GETTEXT; pch ++; if (*pch == '(') { pch ++; ParamBrace = 1; } } else if (*pch == 'B') { Parm->Type = TYPE_BSTR; pch ++; if (*pch == '(') { pch ++; ParamBrace = 1; } } else if (*pch == '=') { Parm->Type = TYPE_SUBTEMPLATE; pch ++; if (*pch == '(') { pch ++; ParamBrace = 1; } } if (*pch == '"') quote = '"'; else if (*pch == '\'') quote = '\''; if (quote != '\0') { pch ++; pchs = pch; while (pch <= pe && ((*pch != quote) || ( (pch > pchs) && (*(pch - 1) == '\\')) )) { pch ++; } pche = pch; if (*pch != quote) { syslog(LOG_WARNING, "Error (in '%s' line %ld); " "evaluating template param [%s] in Token [%s]\n", ChrPtr(pTmpl->FileName), Tokens->Line, ChrPtr(Tokens->FlatToken), *pCh); pch ++; free(Parm); *pParm = NULL; return 0; } else { StrBufPeek(Buf, pch, -1, '\0'); if (LoadTemplates > 1) { syslog(LOG_DEBUG, "DBG: got param [%s] "SIZE_T_FMT" "SIZE_T_FMT"\n", pchs, pche - pchs, strlen(pchs) ); } Parm->Start = pchs; Parm->len = pche - pchs; pch ++; /* move after trailing quote */ if (ParamBrace && (*pch == ')')) { pch ++; } } } else { Parm->Type = TYPE_LONG; pchs = pch; while ((pch <= pe) && (isdigit(*pch) || (*pch == '+') || (*pch == '-'))) pch ++; pch ++; if (pch - pchs > 1){ StrBufPeek(Buf, pch, -1, '\0'); Parm->lvalue = atol(pchs); Parm->Start = pchs; pch++; } else { Parm->lvalue = 0; /* TODO whUT? syslog(LOG_DEBUG, "Error (in '%s' line %ld); " "evaluating long template param [%s] in Token [%s]\n", ChrPtr(pTmpl->FileName), Tokens->Line, ChrPtr(Tokens->FlatToken), *pCh); */ free(Parm); *pParm = NULL; return 0; } } while ((*pch == ' ' )|| (*pch == '\t')|| (*pch == '\r')|| (*pch == ',' )|| (*pch == '\n')) pch ++; switch (Parm->Type) { case TYPE_GETTEXT: if (DumpTemplateI18NStrings) { StrBufAppendPrintf(I18nDump, "_(\"%s\");\n", Parm->Start); } break; case TYPE_INTDEFINE: { void *vPVal; if (GetHash(Defines, Parm->Start, Parm->len, &vPVal) && (vPVal != NULL)) { long *PVal; PVal = (long*) vPVal; Parm->lvalue = *PVal; } else if (strchr(Parm->Start, '|') != NULL) { const char *Pos; StrBuf *pToken; StrBuf *Match; Parm->MaskBy = eOR; pToken = NewStrBufPlain (Parm->Start, Parm->len); Match = NewStrBufPlain (NULL, Parm->len); Pos = ChrPtr(pToken); while ((Pos != NULL) && (Pos != StrBufNOTNULL)) { StrBufExtract_NextToken(Match, pToken, &Pos, '|'); StrBufTrim(Match); if (StrLength (Match) > 0) { if (GetHash(Defines, SKEY(Match), &vPVal) && (vPVal != NULL)) { long *PVal; PVal = (long*) vPVal; Parm->lvalue |= *PVal; } else { LogTemplateError(NULL, "Define", Tokens->nParameters, TP, "%s isn't known!!", ChrPtr(Match)); } } } FreeStrBuf(&pToken); FreeStrBuf(&Match); } else if (strchr(Parm->Start, '&') != NULL) { const char *Pos; StrBuf *pToken; StrBuf *Match; Parm->MaskBy = eAND; pToken = NewStrBufPlain (Parm->Start, Parm->len); Match = NewStrBufPlain (NULL, Parm->len); Pos = ChrPtr(pToken); while ((Pos != NULL) && (Pos != StrBufNOTNULL)) { StrBufExtract_NextToken(Match, pToken, &Pos, '&'); StrBufTrim(Match); if (StrLength (Match) > 0) { if (GetHash(Defines, SKEY(Match), &vPVal) && (vPVal != NULL)) { long *PVal; PVal = (long*) vPVal; Parm->lvalue |= *PVal; } else { LogTemplateError(NULL, "Define", Tokens->nParameters, TP, "%s isn't known!!", ChrPtr(Match)); } } } FreeStrBuf(&Match); FreeStrBuf(&pToken); } else { LogTemplateError(NULL, "Define", Tokens->nParameters, TP, "%s isn't known!!", Parm->Start); }} break; case TYPE_SUBTEMPLATE:{ void *vTmpl; /* well, we don't check the mobile stuff here... */ if (!GetHash(LocalTemplateCache, Parm->Start, Parm->len, &vTmpl) && !GetHash(TemplateCache, Parm->Start, Parm->len, &vTmpl)) { LogTemplateError(NULL, "SubTemplate", Tokens->nParameters, TP, "referenced here doesn't exist"); }} break; } *pCh = pch; return 1; } WCTemplateToken *NewTemplateSubstitute(StrBuf *Buf, const char *pStart, const char *pTokenStart, const char *pTokenEnd, long Line, WCTemplate *pTmpl) { void *vVar; const char *pch; WCTemplateToken *NewToken; WCTemplputParams TP; NewToken = (WCTemplateToken*)malloc(sizeof(WCTemplateToken)); memset(NewToken, 0, sizeof(WCTemplateToken)); TP.Tokens = NewToken; NewToken->FileName = pTmpl->FileName; /* to print meaningfull log messages... */ NewToken->Flags = 0; NewToken->Line = Line + 1; NewToken->pTokenStart = pTokenStart; NewToken->TokenStart = pTokenStart - pStart; NewToken->TokenEnd = (pTokenEnd - pStart) - NewToken->TokenStart; NewToken->pTokenEnd = pTokenEnd; NewToken->NameEnd = NewToken->TokenEnd - 2; NewToken->PreEval = NULL; NewToken->FlatToken = NewStrBufPlain(pTokenStart + 2, pTokenEnd - pTokenStart - 2); StrBufShrinkToFit(NewToken->FlatToken, 1); StrBufPeek(Buf, pTokenStart, + 1, '\0'); StrBufPeek(Buf, pTokenEnd, -1, '\0'); pch = NewToken->pName = pTokenStart + 2; NewToken->HaveParameters = 0;; NewToken->nParameters = 0; while (pch < pTokenEnd - 1) { if (*pch == '(') { StrBufPeek(Buf, pch, -1, '\0'); NewToken->NameEnd = pch - NewToken->pName; pch ++; if (*(pTokenEnd - 1) != ')') { LogTemplateError( NULL, "Parseerror", ERR_NAME, &TP, "Warning, Non welformed Token; missing right parenthesis"); } while (pch < pTokenEnd - 1) { NewToken->nParameters++; if (GetNextParameter(Buf, &pch, pTokenEnd - 1, NewToken, pTmpl, &TP, &NewToken->Params[NewToken->nParameters - 1])) { NewToken->HaveParameters = 1; if (NewToken->nParameters >= MAXPARAM) { LogTemplateError( NULL, "Parseerror", ERR_NAME, &TP, "only [%d] Params allowed in Tokens", MAXPARAM); FreeToken(&NewToken); return NULL; } } else break; } if((NewToken->NameEnd == 1) && (NewToken->HaveParameters == 1)) { if (*(NewToken->pName) == '_') NewToken->Flags = SV_GETTEXT; else if (*(NewToken->pName) == '=') NewToken->Flags = SV_SUBTEMPL; else if (*(NewToken->pName) == '%') NewToken->Flags = SV_CUST_STR_CONDITIONAL; else if (*(NewToken->pName) == '?') NewToken->Flags = SV_CONDITIONAL; else if (*(NewToken->pName) == '!') NewToken->Flags = SV_NEG_CONDITIONAL; } } else pch ++; } switch (NewToken->Flags) { case 0: /* If we're able to find out more about the token, do it now while its fresh. */ pch = NewToken->pName; while (pch < NewToken->pName + NewToken->NameEnd) { if (((*pch >= 'A') && (*pch <= 'Z')) || ((*pch >= '0') && (*pch <= '9')) || (*pch == ':') || (*pch == '-') || (*pch == '_')) pch ++; else { LogTemplateError( NULL, "Token Name", ERR_NAME, &TP, "contains illegal char: '%c'", *pch); pch++; } } if (GetHash(GlobalNS, NewToken->pName, NewToken->NameEnd, &vVar)) { HashHandler *Handler; Handler = (HashHandler*) vVar; if ((NewToken->nParameters < Handler->Filter.nMinArgs) || (NewToken->nParameters > Handler->Filter.nMaxArgs)) { LogTemplateError( NULL, "Token", ERR_NAME, &TP, "doesn't work with %d params", NewToken->nParameters); } else { NewToken->PreEval = Handler; NewToken->Flags = SV_PREEVALUATED; if (Handler->PreEvalFunc != NULL) Handler->PreEvalFunc(NewToken); } } else { LogTemplateError( NULL, "Token ", ERR_NAME, &TP, " isn't known to us."); } break; case SV_GETTEXT: if ((NewToken->nParameters < 1) || (NewToken->nParameters > 2)) { LogTemplateError( NULL, "Gettext", ERR_NAME, &TP, "requires 1 or 2 parameter, you gave %d params", NewToken->nParameters); NewToken->Flags = 0; break; } if (DumpTemplateI18NStrings) { StrBufAppendPrintf(I18nDump, "_(\"%s\");\n", NewToken->Params[0]->Start); } break; case SV_SUBTEMPL: if (NewToken->nParameters != 1) { LogTemplateError( NULL, "Subtemplates", ERR_NAME, &TP, "require exactly 1 parameter, you gave %d params", NewToken->nParameters); break; } else { void *vTmpl; /* well, we don't check the mobile stuff here... */ if (!GetHash(LocalTemplateCache, NewToken->Params[0]->Start, NewToken->Params[0]->len, &vTmpl) && !GetHash(TemplateCache, NewToken->Params[0]->Start, NewToken->Params[0]->len, &vTmpl)) { LogTemplateError( NULL, "SubTemplate", ERR_PARM1, &TP, "doesn't exist"); } } break; case SV_CUST_STR_CONDITIONAL: case SV_CONDITIONAL: case SV_NEG_CONDITIONAL: if (NewToken->nParameters <2) { LogTemplateError( NULL, "Conditional", ERR_PARM1, &TP, "require at least 2 parameters, you gave %d params", NewToken->nParameters); NewToken->Flags = 0; break; } if (NewToken->Params[1]->lvalue == 0) { LogTemplateError( NULL, "Conditional", ERR_PARM1, &TP, "Conditional ID (Parameter 1) mustn't be 0!"); NewToken->Flags = 0; break; } if (!GetHash(Conditionals, NewToken->Params[0]->Start, NewToken->Params[0]->len, &vVar) || (vVar == NULL)) { if ((NewToken->Params[0]->len == 1) && (NewToken->Params[0]->Start[0] == 'X')) break; LogTemplateError( NULL, "Conditional", ERR_PARM1, &TP, "Not found!"); /* NewToken->Error = NewStrBuf(); StrBufAppendPrintf( NewToken->Error, "
    \nConditional [%s] (in '%s' line %ld); Not found!\n[%s]\n
    \n", NewToken->Params[0]->Start, ChrPtr(pTmpl->FileName), NewToken->Line, ChrPtr(NewToken->FlatToken)); */ } else { NewToken->PreEval = vVar; } break; } return NewToken; } /** * \brief Display a variable-substituted template * \param templatename template file to load */ void *prepare_template(StrBuf *filename, StrBuf *Key, HashList *PutThere) { WCTemplate *NewTemplate; NewTemplate = (WCTemplate *) malloc(sizeof(WCTemplate)); memset(NewTemplate, 0, sizeof(WCTemplate)); NewTemplate->Data = NULL; NewTemplate->FileName = NewStrBufDup(filename); StrBufShrinkToFit(NewTemplate->FileName, 1); NewTemplate->nTokensUsed = 0; NewTemplate->TokenSpace = 0; NewTemplate->Tokens = NULL; NewTemplate->MimeType = NewStrBufPlain(GuessMimeByFilename (SKEY(NewTemplate->FileName)), -1); if (strstr(ChrPtr(NewTemplate->MimeType), "text") != NULL) { StrBufAppendBufPlain(NewTemplate->MimeType, HKEY("; charset=utf-8"), 0); } if (strstr(ChrPtr(NewTemplate->MimeType), "text") != NULL) { StrBufAppendBufPlain(NewTemplate->MimeType, HKEY("; charset=utf-8"), 0); } Put(PutThere, ChrPtr(Key), StrLength(Key), NewTemplate, FreeWCTemplate); return NewTemplate; } /** * \brief Display a variable-substituted template * \param templatename template file to load */ void *duplicate_template(WCTemplate *OldTemplate) { WCTemplate *NewTemplate; NewTemplate = (WCTemplate *) malloc(sizeof(WCTemplate)); memset(NewTemplate, 0, sizeof(WCTemplate)); NewTemplate->Data = NULL; NewTemplate->FileName = NewStrBufDup(OldTemplate->FileName); StrBufShrinkToFit(NewTemplate->FileName, 1); NewTemplate->nTokensUsed = 0; NewTemplate->TokenSpace = 0; NewTemplate->Tokens = NULL; NewTemplate->MimeType = NewStrBufDup(OldTemplate->MimeType); return NewTemplate; } void SanityCheckTemplate(StrBuf *Target, WCTemplate *CheckMe) { int i = 0; int j; int FoundConditionalEnd; for (i = 0; i < CheckMe->nTokensUsed; i++) { switch(CheckMe->Tokens[i]->Flags) { case SV_CONDITIONAL: case SV_NEG_CONDITIONAL: FoundConditionalEnd = 0; if ((CheckMe->Tokens[i]->Params[0]->len == 1) && (CheckMe->Tokens[i]->Params[0]->Start[0] == 'X')) break; for (j = i + 1; j < CheckMe->nTokensUsed; j++) { if (((CheckMe->Tokens[j]->Flags == SV_CONDITIONAL) || (CheckMe->Tokens[j]->Flags == SV_NEG_CONDITIONAL)) && (CheckMe->Tokens[i]->Params[1]->lvalue == CheckMe->Tokens[j]->Params[1]->lvalue)) { FoundConditionalEnd = 1; break; } } if (!FoundConditionalEnd) { WCTemplputParams TP; memset(&TP, 0, sizeof(WCTemplputParams)); TP.Tokens = CheckMe->Tokens[i]; LogTemplateError( Target, "Token", ERR_PARM1, &TP, "Conditional without Endconditional" ); } break; default: break; } } } /** * \brief Display a variable-substituted template * \param templatename template file to load */ void *load_template(StrBuf *Target, WCTemplate *NewTemplate) { int fd; struct stat statbuf; const char *pS, *pE, *pch, *Err; long Line; fd = open(ChrPtr(NewTemplate->FileName), O_RDONLY); if (fd <= 0) { syslog(LOG_WARNING, "ERROR: could not open template '%s' - %s\n", ChrPtr(NewTemplate->FileName), strerror(errno)); return NULL; } if (fstat(fd, &statbuf) == -1) { syslog(LOG_WARNING, "ERROR: could not stat template '%s' - %s\n", ChrPtr(NewTemplate->FileName), strerror(errno)); return NULL; } NewTemplate->Data = NewStrBufPlain(NULL, statbuf.st_size + 1); if (StrBufReadBLOB(NewTemplate->Data, &fd, 1, statbuf.st_size, &Err) < 0) { close(fd); syslog(LOG_WARNING, "ERROR: reading template '%s' - %s
    \n", ChrPtr(NewTemplate->FileName), strerror(errno)); return NULL; } close(fd); Line = 0; StrBufShrinkToFit(NewTemplate->Data, 1); StrBufShrinkToFit(NewTemplate->MimeType, 1); pS = pch = ChrPtr(NewTemplate->Data); pE = pS + StrLength(NewTemplate->Data); while (pch < pE) { const char *pts, *pte; char InQuotes = '\0'; void *pv; /** Find one */ for (; pch < pE; pch ++) { if ((*pch=='<')&&(*(pch + 1)=='?') && !((pch == pS) && /* we must ommit a = pE) continue; pts = pch; /** Found one? parse it. */ for (; pch <= pE - 1; pch ++) { if ((!InQuotes) && ((*pch == '\'') || (*pch == '"'))) { InQuotes = *pch; } else if (InQuotes && (InQuotes == *pch)) { InQuotes = '\0'; } else if ((InQuotes) && (*pch == '\\') && (*(pch + 1) == InQuotes)) { pch++; } else if ((!InQuotes) && (*pch == '>')) { break; } } if (pch + 1 > pE) continue; pte = pch; pv = NewTemplateSubstitute(NewTemplate->Data, pS, pts, pte, Line, NewTemplate); if (pv != NULL) { PutNewToken(NewTemplate, pv); pch ++; } } SanityCheckTemplate(NULL, NewTemplate); return NewTemplate; } const char* PrintTemplate(void *vSubst) { WCTemplate *Tmpl = vSubst; return ChrPtr(Tmpl->FileName); } int LoadTemplateDir(const StrBuf *DirName, HashList *big, const StrBuf *BaseKey) { int Toplevel; StrBuf *FileName; StrBuf *Key; StrBuf *SubKey; StrBuf *SubDirectory; DIR *filedir = NULL; struct dirent *filedir_entry; struct dirent *d; int d_type = 0; int d_namelen; int d_without_ext; d = (struct dirent *)malloc(offsetof(struct dirent, d_name) + PATH_MAX + 1); if (d == NULL) { return 0; } filedir = opendir (ChrPtr(DirName)); if (filedir == NULL) { free(d); return 0; } Toplevel = StrLength(BaseKey) == 0; SubDirectory = NewStrBuf(); SubKey = NewStrBuf(); FileName = NewStrBufPlain(NULL, PATH_MAX); Key = NewStrBuf(); while ((readdir_r(filedir, d, &filedir_entry) == 0) && (filedir_entry != NULL)) { char *MinorPtr; #ifdef _DIRENT_HAVE_D_NAMLEN d_namelen = filedir_entry->d_namlen; #else d_namelen = strlen(filedir_entry->d_name); #endif #ifdef _DIRENT_HAVE_D_TYPE d_type = filedir_entry->d_type; #else #ifndef DT_UNKNOWN #define DT_UNKNOWN 0 #define DT_DIR 4 #define DT_REG 8 #define DT_LNK 10 #define IFTODT(mode) (((mode) & 0170000) >> 12) #define DTTOIF(dirtype) ((dirtype) << 12) #endif d_type = DT_UNKNOWN; #endif d_without_ext = d_namelen; if ((d_namelen > 1) && filedir_entry->d_name[d_namelen - 1] == '~') continue; /* Ignore backup files... */ if ((d_namelen == 1) && (filedir_entry->d_name[0] == '.')) continue; if ((d_namelen == 2) && (filedir_entry->d_name[0] == '.') && (filedir_entry->d_name[1] == '.')) continue; if (d_type == DT_UNKNOWN) { struct stat s; char path[PATH_MAX]; snprintf(path, PATH_MAX, "%s/%s", ChrPtr(DirName), filedir_entry->d_name); if (lstat(path, &s) == 0) { d_type = IFTODT(s.st_mode); } } switch (d_type) { case DT_DIR: /* Skip directories we are not interested in... */ if (strcmp(filedir_entry->d_name, ".svn") == 0) continue; FlushStrBuf(SubKey); if (!Toplevel) { /* If we're not toplevel, the upper dirs count as foo_bar_*/ StrBufAppendBuf(SubKey, BaseKey, 0); StrBufAppendBufPlain(SubKey, HKEY("_"), 0); } StrBufAppendBufPlain(SubKey, filedir_entry->d_name, d_namelen, 0); FlushStrBuf(SubDirectory); StrBufAppendBuf(SubDirectory, DirName, 0); if (ChrPtr(SubDirectory)[StrLength(SubDirectory) - 1] != '/') StrBufAppendBufPlain(SubDirectory, HKEY("/"), 0); StrBufAppendBufPlain(SubDirectory, filedir_entry->d_name, d_namelen, 0); LoadTemplateDir(SubDirectory, big, SubKey); break; case DT_LNK: case DT_REG: while ((d_without_ext > 0) && (filedir_entry->d_name[d_without_ext] != '.')) d_without_ext --; if ((d_without_ext == 0) || (d_namelen < 3)) continue; if (((d_namelen > 1) && filedir_entry->d_name[d_namelen - 1] == '~') || (strcmp(&filedir_entry->d_name[d_without_ext], ".orig") == 0) || (strcmp(&filedir_entry->d_name[d_without_ext], ".swp") == 0)) continue; /* Ignore backup files... */ StrBufPrintf(FileName, "%s/%s", ChrPtr(DirName), filedir_entry->d_name); MinorPtr = strchr(filedir_entry->d_name, '.'); if (MinorPtr != NULL) *MinorPtr = '\0'; FlushStrBuf(Key); if (!Toplevel) { /* If we're not toplevel, the upper dirs count as foo_bar_*/ StrBufAppendBuf(Key, BaseKey, 0); StrBufAppendBufPlain(Key, HKEY("_"), 0); } StrBufAppendBufPlain(Key, filedir_entry->d_name, MinorPtr - filedir_entry->d_name, 0); if (LoadTemplates >= 1) syslog(LOG_DEBUG, "%s %s\n", ChrPtr(FileName), ChrPtr(Key)); prepare_template(FileName, Key, big); default: break; } } free(d); closedir(filedir); FreeStrBuf(&FileName); FreeStrBuf(&Key); FreeStrBuf(&SubDirectory); FreeStrBuf(&SubKey); return 1; } void InitTemplateCache(void) { int i; StrBuf *Key; StrBuf *Dir; HashList *Templates[2]; Dir = NewStrBuf(); Key = NewStrBuf(); /* Primary Template set... */ StrBufPrintf(Dir, "%s/t", static_dirs[0]); LoadTemplateDir(Dir, TemplateCache, Key); /* User local Template set */ StrBufPrintf(Dir, "%s/t", static_dirs[1]); LoadTemplateDir(Dir, LocalTemplateCache, Key); /* Debug Templates, just to be loaded while debugging. */ StrBufPrintf(Dir, "%s/dbg", static_dirs[0]); LoadTemplateDir(Dir, TemplateCache, Key); Templates[0] = TemplateCache; Templates[1] = LocalTemplateCache; if (LoadTemplates == 0) for (i=0; i < 2; i++) { const char *Key; long KLen; HashPos *At; void *vTemplate; At = GetNewHashPos(Templates[i], 0); while (GetNextHashPos(Templates[i], At, &KLen, &Key, &vTemplate) && (vTemplate != NULL)) { load_template(NULL, (WCTemplate *)vTemplate); } DeleteHashPos(&At); } FreeStrBuf(&Dir); FreeStrBuf(&Key); } /*----------------------------------------------------------------------------- * Filling & processing Templates */ /** * \brief executes one token * \param Target buffer to append to * \param Token da to process. * \param Template we're iterating * \param Context Contextpoointer to pass in * \param state are we in conditional state? * \param ContextType what type of information does context giv us? */ int EvaluateToken(StrBuf *Target, int state, WCTemplputParams **TPP) { const char *AppendMe; long AppendMeLen; HashHandler *Handler; void *vVar; WCTemplputParams *TP = *TPP; /* much output, since pName is not terminated... syslog(LOG_DEBUG,"Doing token: %s\n",Token->pName); */ switch (TP->Tokens->Flags) { case SV_GETTEXT: TmplGettext(Target, TP); break; case SV_CONDITIONAL: /** Forward conditional evaluation */ Handler = (HashHandler*) TP->Tokens->PreEval; if (!CheckContext(Target, &Handler->Filter, TP, "Conditional")) { return 0; } return EvaluateConditional(Target, 1, state, TPP); break; case SV_NEG_CONDITIONAL: /** Reverse conditional evaluation */ Handler = (HashHandler*) TP->Tokens->PreEval; if (!CheckContext(Target, &Handler->Filter, TP, "Conditional")) { return 0; } return EvaluateConditional(Target, 0, state, TPP); break; case SV_CUST_STR_CONDITIONAL: /** Conditional put custom strings from params */ Handler = (HashHandler*) TP->Tokens->PreEval; if (!CheckContext(Target, &Handler->Filter, TP, "Conditional")) { return 0; } if (TP->Tokens->nParameters >= 6) { if (EvaluateConditional(Target, 0, state, TPP)) { GetTemplateTokenString(Target, TP, 5, &AppendMe, &AppendMeLen); StrBufAppendBufPlain(Target, AppendMe, AppendMeLen, 0); } else{ GetTemplateTokenString(Target, TP, 4, &AppendMe, &AppendMeLen); StrBufAppendBufPlain(Target, AppendMe, AppendMeLen, 0); } if (*TPP != TP) { UnStackDynamicContext(Target, TPP); } } else { LogTemplateError( Target, "Conditional", ERR_NAME, TP, "needs at least 6 Params!"); } break; case SV_SUBTEMPL: if (TP->Tokens->nParameters == 1) DoTemplate(TKEY(0), Target, TP); break; case SV_PREEVALUATED: Handler = (HashHandler*) TP->Tokens->PreEval; if (!CheckContext(Target, &Handler->Filter, TP, "Token")) { return 0; } Handler->HandlerFunc(Target, TP); break; default: if (GetHash(GlobalNS, TP->Tokens->pName, TP->Tokens->NameEnd, &vVar)) { Handler = (HashHandler*) vVar; if (!CheckContext(Target, &Handler->Filter, TP, "Token")) { return 0; } else { Handler->HandlerFunc(Target, TP); } } else { LogTemplateError( Target, "Token UNKNOWN", ERR_NAME, TP, "You've specified a token that isn't known to webcit.!"); } } return 0; } const StrBuf *ProcessTemplate(WCTemplate *Tmpl, StrBuf *Target, WCTemplputParams *CallingTP) { WCTemplate *pTmpl = Tmpl; int done = 0; int i; TemplState state; const char *pData, *pS; long len; WCTemplputParams TP; WCTemplputParams *TPtr = &TP; memset(TPtr, 0, sizeof(WCTemplputParams)); memcpy(&TP.Filter, &CallingTP->Filter, sizeof(ContextFilter)); TP.Context = CallingTP->Context; TP.Sub = CallingTP->Sub; TP.Super = CallingTP->Super; if (LoadTemplates != 0) { if (LoadTemplates > 1) syslog(LOG_DEBUG, "DBG: ----- loading: [%s] ------ \n", ChrPtr(Tmpl->FileName)); pTmpl = duplicate_template(Tmpl); if(load_template(Target, pTmpl) == NULL) { StrBufAppendPrintf( Target, "
    \nError loading Template [%s]\n See Logfile for details\n
    \n", ChrPtr(Tmpl->FileName)); FreeWCTemplate(pTmpl); return NULL; } } pS = pData = ChrPtr(pTmpl->Data); len = StrLength(pTmpl->Data); i = 0; state = eNext; while (!done) { if (i >= pTmpl->nTokensUsed) { StrBufAppendBufPlain(Target, pData, len - (pData - pS), 0); done = 1; } else { int TokenRc = 0; StrBufAppendBufPlain( Target, pData, pTmpl->Tokens[i]->pTokenStart - pData, 0); TPtr->Tokens = pTmpl->Tokens[i]; TPtr->nArgs = pTmpl->Tokens[i]->nParameters; TokenRc = EvaluateToken(Target, TokenRc, &TPtr); if (TokenRc > 0) { state = eSkipTilEnd; } else if (TokenRc < 0) { if ((TPtr != &TP) && (TPtr->ExitCTXID == -TokenRc)) { UnStackDynamicContext(Target, &TPtr); } TokenRc = 0; } while ((state != eNext) && (i+1 < pTmpl->nTokensUsed)) { /* condition told us to skip till its end condition */ i++; TPtr->Tokens = pTmpl->Tokens[i]; TPtr->nArgs = pTmpl->Tokens[i]->nParameters; if ((pTmpl->Tokens[i]->Flags == SV_CONDITIONAL) || (pTmpl->Tokens[i]->Flags == SV_NEG_CONDITIONAL)) { int rc; rc = EvaluateConditional( Target, pTmpl->Tokens[i]->Flags, TokenRc, &TPtr); if (-rc == TokenRc) { TokenRc = 0; state = eNext; if ((TPtr != &TP) && (TPtr->ExitCTXID == - rc)) { UnStackDynamicContext(Target, &TPtr); } } } } pData = pTmpl->Tokens[i++]->pTokenEnd + 1; if (i > pTmpl->nTokensUsed) done = 1; } } if (LoadTemplates != 0) { FreeWCTemplate(pTmpl); } return Tmpl->MimeType; } /** * \brief Display a variable-substituted template * \param templatename template file to load * \returns the mimetype of the template its doing */ const StrBuf *DoTemplate(const char *templatename, long len, StrBuf *Target, WCTemplputParams *TP) { WCTemplputParams LocalTP; HashList *Static; HashList *StaticLocal; void *vTmpl; if (Target == NULL) Target = WC->WBuf; if (TP == NULL) { memset(&LocalTP, 0, sizeof(WCTemplputParams)); TP = &LocalTP; } Static = TemplateCache; StaticLocal = LocalTemplateCache; if (len == 0) { syslog(LOG_WARNING, "Can't to load a template with empty name!\n"); StrBufAppendPrintf(Target, "
    \nCan't to load a template with empty name!\n
    "); return NULL; } if (!GetHash(StaticLocal, templatename, len, &vTmpl) && !GetHash(Static, templatename, len, &vTmpl)) { syslog(LOG_WARNING, "didn't find Template [%s] %ld %ld\n", templatename, len , (long)strlen(templatename)); StrBufAppendPrintf(Target, "
    \ndidn't find Template [%s] %ld %ld\n
    ", templatename, len, (long)strlen(templatename)); #if 0 dbg_PrintHash(Static, PrintTemplate, NULL); PrintHash(Static, VarPrintTransition, PrintTemplate); #endif return NULL; } if (vTmpl == NULL) return NULL; return ProcessTemplate(vTmpl, Target, TP); } void tmplput_Comment(StrBuf *Target, WCTemplputParams *TP) { if (LoadTemplates != 0) { StrBuf *Comment; const char *pch; long len; GetTemplateTokenString(Target, TP, 0, &pch, &len); Comment = NewStrBufPlain(pch, len); StrBufAppendBufPlain(Target, HKEY(""), 0); FreeStrBuf(&Comment); } } /*----------------------------------------------------------------------------- * Iterators */ typedef struct _HashIterator { HashList *StaticList; int AdditionalParams; CtxType ContextType; CtxType XPectContextType; int Flags; RetrieveHashlistFunc GetHash; HashDestructorFunc Destructor; SubTemplFunc DoSubTemplate; } HashIterator; void RegisterITERATOR(const char *Name, long len, int AdditionalParams, HashList *StaticList, RetrieveHashlistFunc GetHash, SubTemplFunc DoSubTempl, HashDestructorFunc Destructor, CtxType ContextType, CtxType XPectContextType, int Flags) { HashIterator *It; It = (HashIterator*)malloc(sizeof(HashIterator)); memset(It, 0, sizeof(HashIterator)); It->StaticList = StaticList; It->AdditionalParams = AdditionalParams; It->GetHash = GetHash; It->DoSubTemplate = DoSubTempl; It->Destructor = Destructor; It->ContextType = ContextType; It->XPectContextType = XPectContextType; It->Flags = Flags; Put(Iterators, Name, len, It, NULL); } typedef struct _iteratestruct { int GroupChange; int oddeven; const char *Key; long KeyLen; int n; int LastN; }IterateStruct; int preeval_iterate(WCTemplateToken *Token) { WCTemplputParams TPP; WCTemplputParams *TP; void *vTmpl; void *vIt; HashIterator *It; memset(&TPP, 0, sizeof(WCTemplputParams)); TP = &TPP; TP->Tokens = Token; if (!GetHash(Iterators, TKEY(0), &vIt)) { LogTemplateError( NULL, "Iterator", ERR_PARM1, TP, "not found"); return 0; } if (TP->Tokens->Params[1]->Type != TYPE_SUBTEMPLATE) { LogTemplateError(NULL, "Iterator", ERR_PARM1, TP, "Need token with type Subtemplate as param 1, have %s", TP->Tokens->Params[1]->Start); } /* well, we don't check the mobile stuff here... */ if (!GetHash(LocalTemplateCache, TKEY(1), &vTmpl) && !GetHash(TemplateCache, TKEY(1), &vTmpl)) { LogTemplateError(NULL, "SubTemplate", ERR_PARM1, TP, "referenced here doesn't exist"); } Token->Preeval2 = vIt; It = (HashIterator *) vIt; if (TP->Tokens->nParameters < It->AdditionalParams + 2) { LogTemplateError( NULL, "Iterator", ERR_PARM1, TP, "doesn't work with %d params", TP->Tokens->nParameters); } return 1; } void tmpl_iterate_subtmpl(StrBuf *Target, WCTemplputParams *TP) { HashIterator *It; HashList *List; HashPos *it; SortStruct *SortBy = NULL; void *vSortBy; int DetectGroupChange = 0; int nMembersUsed; void *vContext; void *vLastContext = NULL; StrBuf *SubBuf; WCTemplputParams IterateTP; WCTemplputParams SubTP; IterateStruct Status; long StartAt = 0; long StepWidth = 0; long StopAt = -1; memset(&Status, 0, sizeof(IterateStruct)); It = (HashIterator*) TP->Tokens->Preeval2; if (It == NULL) { LogTemplateError( Target, "Iterator", ERR_PARM1, TP, "Unknown!"); return; } if (TP->Tokens->nParameters < It->AdditionalParams + 2) { LogTemplateError( Target, "Iterator", ERR_PARM1, TP, "doesn't work with %d params", TP->Tokens->nParameters - 1); return; } if ((It->XPectContextType != CTX_NONE) && (It->XPectContextType != TP->Filter.ContextType)) { LogTemplateError( Target, "Iterator", ERR_PARM1, TP, "requires context of type %s, have %s", ContextName(It->XPectContextType), ContextName(TP->Filter.ContextType)); return ; } if (It->StaticList == NULL) List = It->GetHash(Target, TP); else List = It->StaticList; DetectGroupChange = (It->Flags & IT_FLAG_DETECT_GROUPCHANGE) != 0; if (DetectGroupChange) { const StrBuf *BSort; DetectGroupChange = 0; if (havebstr("SortBy")) { BSort = sbstr("SortBy"); if (GetHash(SortHash, SKEY(BSort), &vSortBy) && (vSortBy != NULL)) { SortBy = (SortStruct*)vSortBy; /* first check whether its intended for us... */ if ((SortBy->ContextType == It->ContextType)&& /** Ok, its us, lets see in which direction we should sort... */ (havebstr("SortOrder"))) { int SortOrder; SortOrder = LBSTR("SortOrder"); if (SortOrder != 0) DetectGroupChange = 1; } } } } nMembersUsed = GetCount(List); StackContext (TP, &IterateTP, &Status, CTX_ITERATE, 0, TP->Tokens); { SubBuf = NewStrBuf(); if (HAVE_PARAM(2)) { StartAt = GetTemplateTokenNumber(Target, TP, 2, 0); } if (HAVE_PARAM(3)) { StepWidth = GetTemplateTokenNumber(Target, TP, 3, 0); } if (HAVE_PARAM(4)) { StopAt = GetTemplateTokenNumber(Target, TP, 4, -1); } it = GetNewHashPos(List, StepWidth); if (StopAt < 0) { StopAt = GetCount(List); } while (GetNextHashPos(List, it, &Status.KeyLen, &Status.Key, &vContext)) { if ((Status.n >= StartAt) && (Status.n <= StopAt)) { if (DetectGroupChange && Status.n > 0) { Status.GroupChange = SortBy->GroupChange(vContext, vLastContext); } Status.LastN = (Status.n + 1) == nMembersUsed; StackContext(&IterateTP, &SubTP, vContext, It->ContextType, 0, NULL); { if (It->DoSubTemplate != NULL) It->DoSubTemplate(SubBuf, &SubTP); DoTemplate(TKEY(1), SubBuf, &SubTP); StrBufAppendBuf(Target, SubBuf, 0); FlushStrBuf(SubBuf); } UnStackContext(&SubTP); Status.oddeven = ! Status.oddeven; vLastContext = vContext; } Status.n++; } } UnStackContext(&IterateTP); FreeStrBuf(&SubBuf); DeleteHashPos(&it); if (It->Destructor != NULL) It->Destructor(&List); } int conditional_ITERATE_ISGROUPCHANGE(StrBuf *Target, WCTemplputParams *TP) { IterateStruct *Ctx = CTX(CTX_ITERATE); if (TP->Tokens->nParameters < 3) return Ctx->GroupChange; return TP->Tokens->Params[2]->lvalue == Ctx->GroupChange; } void tmplput_ITERATE_ODDEVEN(StrBuf *Target, WCTemplputParams *TP) { IterateStruct *Ctx = CTX(CTX_ITERATE); if (Ctx->oddeven) StrBufAppendBufPlain(Target, HKEY("odd"), 0); else StrBufAppendBufPlain(Target, HKEY("even"), 0); } void tmplput_ITERATE_KEY(StrBuf *Target, WCTemplputParams *TP) { IterateStruct *Ctx = CTX(CTX_ITERATE); StrBufAppendBufPlain(Target, Ctx->Key, Ctx->KeyLen, 0); } void tmplput_ITERATE_LASTN(StrBuf *Target, WCTemplputParams *TP) { IterateStruct *Ctx = CTX(CTX_ITERATE); StrBufAppendPrintf(Target, "%d", Ctx->n); } int conditional_ITERATE_FIRSTN(StrBuf *Target, WCTemplputParams *TP) { IterateStruct *Ctx = CTX(CTX_ITERATE); return Ctx->n == 0; } int conditional_ITERATE_LASTN(StrBuf *Target, WCTemplputParams *TP) { IterateStruct *Ctx = CTX(CTX_ITERATE); return Ctx->LastN; } /*----------------------------------------------------------------------------- * Conditionals */ int EvaluateConditional(StrBuf *Target, int Neg, int state, WCTemplputParams **TPP) { ConditionalStruct *Cond; int rc = 0; int res; WCTemplputParams *TP = *TPP; if ((TP->Tokens->Params[0]->len == 1) && (TP->Tokens->Params[0]->Start[0] == 'X')) { return - (TP->Tokens->Params[1]->lvalue); } Cond = (ConditionalStruct *) TP->Tokens->PreEval; if (Cond == NULL) { LogTemplateError( Target, "Conditional", ERR_PARM1, TP, "unknown!"); return 0; } if (!CheckContext(Target, &Cond->Filter, TP, "Conditional")) { return 0; } res = Cond->CondF(Target, TP); if (res == Neg) rc = TP->Tokens->Params[1]->lvalue; if (LoadTemplates > 5) syslog(LOG_DEBUG, "<%s> : %d %d==%d\n", ChrPtr(TP->Tokens->FlatToken), rc, res, Neg); if (TP->Sub != NULL) { *TPP = TP->Sub; } return rc; } void RegisterContextConditional(const char *Name, long len, int nParams, WCConditionalFunc CondF, WCConditionalFunc ExitCtxCond, int ContextRequired) { ConditionalStruct *Cond; Cond = (ConditionalStruct*)malloc(sizeof(ConditionalStruct)); memset(Cond, 0, sizeof(ConditionalStruct)); Cond->PlainName = Name; Cond->Filter.nMaxArgs = nParams; Cond->Filter.nMinArgs = nParams; Cond->CondF = CondF; Cond->CondExitCtx = ExitCtxCond; Cond->Filter.ContextType = ContextRequired; Put(Conditionals, Name, len, Cond, NULL); } void RegisterTokenParamDefine(const char *Name, long len, long Value) { long *PVal; PVal = (long*)malloc(sizeof(long)); *PVal = Value; Put(Defines, Name, len, PVal, NULL); } long GetTokenDefine(const char *Name, long len, long DefValue) { void *vPVal; if (GetHash(Defines, Name, len, &vPVal) && (vPVal != NULL)) { return *(long*) vPVal; } else { return DefValue; } } void tmplput_DefStr(StrBuf *Target, WCTemplputParams *TP) { const char *Str; long len; GetTemplateTokenString(Target, TP, 2, &Str, &len); StrBufAppendBufPlain(Target, Str, len, 0); } void tmplput_DefVal(StrBuf *Target, WCTemplputParams *TP) { int val; val = GetTemplateTokenNumber(Target, TP, 0, 0); StrBufAppendPrintf(Target, "%d", val); } HashList *Defines; /*----------------------------------------------------------------------------- * Context Strings */ void tmplput_ContextString(StrBuf *Target, WCTemplputParams *TP) { StrBufAppendTemplate(Target, TP, (StrBuf*)CTX(CTX_STRBUF), 0); } int ConditionalContextStr(StrBuf *Target, WCTemplputParams *TP) { StrBuf *TokenText = (StrBuf*) CTX((CTX_STRBUF)); const char *CompareToken; long len; GetTemplateTokenString(Target, TP, 2, &CompareToken, &len); return strcmp(ChrPtr(TokenText), CompareToken) == 0; } void tmplput_ContextStringArray(StrBuf *Target, WCTemplputParams *TP) { HashList *Arr = (HashList*) CTX(CTX_STRBUFARR); void *pV; int val; val = GetTemplateTokenNumber(Target, TP, 0, 0); if (GetHash(Arr, IKEY(val), &pV) && (pV != NULL)) { StrBufAppendTemplate(Target, TP, (StrBuf*)pV, 1); } } int ConditionalContextStrinArray(StrBuf *Target, WCTemplputParams *TP) { HashList *Arr = (HashList*) CTX(CTX_STRBUFARR); void *pV; int val; const char *CompareToken; long len; GetTemplateTokenString(Target, TP, 2, &CompareToken, &len); val = GetTemplateTokenNumber(Target, TP, 0, 0); if (GetHash(Arr, IKEY(val), &pV) && (pV != NULL)) { return strcmp(ChrPtr((StrBuf*)pV), CompareToken) == 0; } else return 0; } /*----------------------------------------------------------------------------- * Boxed-API */ void tmpl_do_boxed(StrBuf *Target, WCTemplputParams *TP) { WCTemplputParams SubTP; StrBuf *Headline = NULL; if (TP->Tokens->nParameters == 2) { if (TP->Tokens->Params[1]->Type == TYPE_STR) { Headline = NewStrBuf(); DoTemplate(TKEY(1), Headline, TP); } else { const char *Ch; long len; GetTemplateTokenString(Target, TP, 1, &Ch, &len); Headline = NewStrBufPlain(Ch, len); } } /* else TODO error? logging? */ StackContext (TP, &SubTP, Headline, CTX_STRBUF, 0, NULL); { DoTemplate(HKEY("box_begin"), Target, &SubTP); } UnStackContext(&SubTP); DoTemplate(TKEY(0), Target, TP); DoTemplate(HKEY("box_end"), Target, TP); FreeStrBuf(&Headline); } /*----------------------------------------------------------------------------- * Tabbed-API */ typedef struct _tab_struct { long CurrentTab; StrBuf *TabTitle; } tab_struct; int preeval_do_tabbed(WCTemplateToken *Token) { WCTemplputParams TPP; WCTemplputParams *TP; const char *Ch; long len; int i, nTabs; memset(&TPP, 0, sizeof(WCTemplputParams)); TP = &TPP; TP->Tokens = Token; nTabs = TP->Tokens->nParameters / 2 - 1; if (TP->Tokens->nParameters % 2 != 0) { LogTemplateError(NULL, "TabbedApi", ERR_PARM1, TP, "need even number of arguments"); return 0; } else for (i = 0; i < nTabs; i++) { if (!HaveTemplateTokenString(NULL, TP, i * 2, &Ch, &len) || (TP->Tokens->Params[i * 2]->len == 0)) { LogTemplateError(NULL, "TabbedApi", ERR_PARM1, TP, "Tab-Subject %d needs to be able to produce a string, have %s", i, TP->Tokens->Params[i * 2]->Start); return 0; } if (!HaveTemplateTokenString(NULL, TP, i * 2 + 1, &Ch, &len) || (TP->Tokens->Params[i * 2 + 1]->len == 0)) { LogTemplateError(NULL, "TabbedApi", ERR_PARM1, TP, "Tab-Content %d needs to be able to produce a string, have %s", i, TP->Tokens->Params[i * 2 + 1]->Start); return 0; } } if (!HaveTemplateTokenString(NULL, TP, i * 2 + 1, &Ch, &len) || (TP->Tokens->Params[i * 2 + 1]->len == 0)) { LogTemplateError(NULL, "TabbedApi", ERR_PARM1, TP, "Tab-Content %d needs to be able to produce a string, have %s", i, TP->Tokens->Params[i * 2 + 1]->Start); return 0; } return 1; } void tmpl_do_tabbed(StrBuf *Target, WCTemplputParams *TP) { StrBuf **TabNames; int i, ntabs, nTabs; tab_struct TS; WCTemplputParams SubTP; memset(&TS, 0, sizeof(tab_struct)); nTabs = ntabs = TP->Tokens->nParameters / 2; TabNames = (StrBuf **) malloc(ntabs * sizeof(StrBuf*)); memset(TabNames, 0, ntabs * sizeof(StrBuf*)); for (i = 0; i < ntabs; i++) { if ((TP->Tokens->Params[i * 2]->Type == TYPE_STR) && (TP->Tokens->Params[i * 2]->len > 0)) { TabNames[i] = NewStrBuf(); DoTemplate(TKEY(i * 2), TabNames[i], TP); } else if (TP->Tokens->Params[i * 2]->Type == TYPE_GETTEXT) { const char *Ch; long len; GetTemplateTokenString(Target, TP, i * 2, &Ch, &len); TabNames[i] = NewStrBufPlain(Ch, -1); } else { /** A Tab without subject? we can't count that, add it as silent */ nTabs --; } } StackContext (TP, &SubTP, &TS, CTX_TAB, 0, NULL); { StrTabbedDialog(Target, nTabs, TabNames); for (i = 0; i < ntabs; i++) { memset(&TS, 0, sizeof(tab_struct)); TS.CurrentTab = i; TS.TabTitle = TabNames[i]; StrBeginTab(Target, i, nTabs, TabNames); DoTemplate(TKEY(i * 2 + 1), Target, &SubTP); StrEndTab(Target, i, nTabs); } for (i = 0; i < ntabs; i++) FreeStrBuf(&TabNames[i]); free(TabNames); } UnStackContext(&SubTP); } void tmplput_TAB_N(StrBuf *Target, WCTemplputParams *TP) { tab_struct *Ctx = CTX(CTX_TAB); StrBufAppendPrintf(Target, "%d", Ctx->CurrentTab); } void tmplput_TAB_TITLE(StrBuf *Target, WCTemplputParams *TP) { tab_struct *Ctx = CTX(CTX_TAB); StrBufAppendTemplate(Target, TP, Ctx->TabTitle, 0); } /*----------------------------------------------------------------------------- * Sorting-API */ void RegisterSortFunc(const char *name, long len, const char *prepend, long preplen, CompareFunc Forward, CompareFunc Reverse, CompareFunc GroupChange, CtxType ContextType) { SortStruct *NewSort; NewSort = (SortStruct*) malloc(sizeof(SortStruct)); memset(NewSort, 0, sizeof(SortStruct)); NewSort->Name = NewStrBufPlain(name, len); if (prepend != NULL) NewSort->PrefPrepend = NewStrBufPlain(prepend, preplen); else NewSort->PrefPrepend = NULL; NewSort->Forward = Forward; NewSort->Reverse = Reverse; NewSort->GroupChange = GroupChange; NewSort->ContextType = ContextType; if (ContextType == CTX_NONE) { syslog(LOG_WARNING, "sorting requires a context. CTX_NONE won't make it.\n"); exit(1); } Put(SortHash, name, len, NewSort, DestroySortStruct); } CompareFunc RetrieveSort(WCTemplputParams *TP, const char *OtherPrefix, long OtherPrefixLen, const char *Default, long ldefault, long DefaultDirection) { const StrBuf *BSort = NULL; SortStruct *SortBy; void *vSortBy; long SortOrder = -1; if (havebstr("SortBy")) { BSort = sbstr("SortBy"); if (OtherPrefix == NULL) { set_room_pref("sort", NewStrBufDup(BSort), 0); } else { set_X_PREFS(HKEY("sort"), OtherPrefix, OtherPrefixLen, NewStrBufDup(BSort), 0); } } else { /** Try to fallback to our remembered values... */ if (OtherPrefix == NULL) { BSort = get_room_pref("sort"); } else { BSort = get_X_PREFS(HKEY("sort"), OtherPrefix, OtherPrefixLen); } if (BSort != NULL) putbstr("SortBy", NewStrBufDup(BSort)); else { StrBuf *Buf; BSort = Buf = NewStrBufPlain(Default, ldefault); putbstr("SortBy", Buf); } } if (!GetHash(SortHash, SKEY(BSort), &vSortBy) || (vSortBy == NULL)) { if (!GetHash(SortHash, Default, ldefault, &vSortBy) || (vSortBy == NULL)) { LogTemplateError( NULL, "Sorting", ERR_PARM1, TP, "Illegal default sort: [%s]", Default); wc_backtrace(LOG_WARNING); } } SortBy = (SortStruct*)vSortBy; if (SortBy->ContextType != TP->Filter.ContextType) return NULL; /** Ok, its us, lets see in which direction we should sort... */ if (havebstr("SortOrder")) { SortOrder = LBSTR("SortOrder"); } else { /** Try to fallback to our remembered values... */ StrBuf *Buf = NULL; if (SortBy->PrefPrepend == NULL) { Buf = get_room_pref("SortOrder"); SortOrder = StrTol(Buf); } else { BSort = get_X_PREFS(HKEY("SortOrder"), OtherPrefix, OtherPrefixLen); } if (Buf == NULL) SortOrder = DefaultDirection; Buf = NewStrBufPlain(NULL, 64); StrBufPrintf(Buf, "%ld", SortOrder); putbstr("SortOrder", Buf); } switch (SortOrder) { default: case 0: return NULL; case 1: return SortBy->Forward; case 2: return SortBy->Reverse; } } enum { eNO_SUCH_SORT, eNOT_SPECIFIED, eINVALID_PARAM, eFOUND }; ConstStr SortIcons[] = { {HKEY("static/webcit_icons/sort_none.gif")}, {HKEY("static/webcit_icons/up_pointer.gif")}, {HKEY("static/webcit_icons/down_pointer.gif")}, }; ConstStr SortNextOrder[] = { {HKEY("1")}, {HKEY("2")}, {HKEY("0")}, }; int GetSortMetric(WCTemplputParams *TP, SortStruct **Next, SortStruct **Param, long *SortOrder, int N) { int bSortError = eNOT_SPECIFIED; const StrBuf *BSort; void *vSort; *SortOrder = 0; *Next = NULL; if (!GetHash(SortHash, TKEY(0), &vSort) || (vSort == NULL)) return eNO_SUCH_SORT; *Param = (SortStruct*) vSort; if (havebstr("SortBy")) { BSort = sbstr("SortBy"); bSortError = eINVALID_PARAM; if ((*Param)->PrefPrepend == NULL) { set_room_pref("sort", NewStrBufDup(BSort), 0); } else { set_X_PREFS(HKEY("sort"), TKEY(N), NewStrBufDup(BSort), 0); } } else { /** Try to fallback to our remembered values... */ if ((*Param)->PrefPrepend == NULL) { BSort = get_room_pref("sort"); } else { BSort = get_X_PREFS(HKEY("sort"), TKEY(N)); } } if (!GetHash(SortHash, SKEY(BSort), &vSort) || (vSort == NULL)) return bSortError; *Next = (SortStruct*) vSort; /** Ok, its us, lets see in which direction we should sort... */ if (havebstr("SortOrder")) { *SortOrder = LBSTR("SortOrder"); } else { /** Try to fallback to our remembered values... */ if ((*Param)->PrefPrepend == NULL) { *SortOrder = StrTol(get_room_pref("SortOrder")); } else { *SortOrder = StrTol(get_X_PREFS(HKEY("SortOrder"), TKEY(N))); } } if (*SortOrder > 2) *SortOrder = 0; return eFOUND; } void tmplput_SORT_ICON(StrBuf *Target, WCTemplputParams *TP) { long SortOrder; SortStruct *Next; SortStruct *Param; const ConstStr *SortIcon; switch (GetSortMetric(TP, &Next, &Param, &SortOrder, 2)){ case eNO_SUCH_SORT: LogTemplateError( Target, "Sorter", ERR_PARM1, TP, " Sorter [%s] unknown!", TP->Tokens->Params[0]->Start); break; case eINVALID_PARAM: LogTemplateError(NULL, "Sorter", ERR_PARM1, TP, " Sorter specified by BSTR 'SortBy' [%s] unknown!", bstr("SortBy")); case eNOT_SPECIFIED: case eFOUND: if (Next == Param) { SortIcon = &SortIcons[SortOrder]; } else { /** Not Us... */ SortIcon = &SortIcons[0]; } StrBufAppendBufPlain(Target, SortIcon->Key, SortIcon->len, 0); } } void tmplput_SORT_NEXT(StrBuf *Target, WCTemplputParams *TP) { long SortOrder; SortStruct *Next; SortStruct *Param; switch (GetSortMetric(TP, &Next, &Param, &SortOrder, 2)){ case eNO_SUCH_SORT: LogTemplateError( Target, "Sorter", ERR_PARM1, TP, " Sorter [%s] unknown!", TP->Tokens->Params[0]->Start); break; case eINVALID_PARAM: LogTemplateError( NULL, "Sorter", ERR_PARM1, TP, " Sorter specified by BSTR 'SortBy' [%s] unknown!", bstr("SortBy")); case eNOT_SPECIFIED: case eFOUND: StrBufAppendBuf(Target, Param->Name, 0); } } void tmplput_SORT_ORDER(StrBuf *Target, WCTemplputParams *TP) { long SortOrder; const ConstStr *SortOrderStr; SortStruct *Next; SortStruct *Param; switch (GetSortMetric(TP, &Next, &Param, &SortOrder, 2)){ case eNO_SUCH_SORT: LogTemplateError( Target, "Sorter", ERR_PARM1, TP, " Sorter [%s] unknown!", TP->Tokens->Params[0]->Start); break; case eINVALID_PARAM: LogTemplateError( NULL, "Sorter", ERR_PARM1, TP, " Sorter specified by BSTR 'SortBy' [%s] unknown!", bstr("SortBy")); case eNOT_SPECIFIED: case eFOUND: if (Next == Param) { SortOrderStr = &SortNextOrder[SortOrder]; } else { /** Not Us... */ SortOrderStr = &SortNextOrder[0]; } StrBufAppendBufPlain(Target, SortOrderStr->Key, SortOrderStr->len, 0); } } void tmplput_long_vector(StrBuf *Target, WCTemplputParams *TP) { long *LongVector = (long*) CTX(CTX_LONGVECTOR); if ((TP->Tokens->Params[0]->Type == TYPE_LONG) && (TP->Tokens->Params[0]->lvalue <= LongVector[0])) { StrBufAppendPrintf(Target, "%ld", LongVector[TP->Tokens->Params[0]->lvalue]); } else { if (TP->Tokens->Params[0]->Type != TYPE_LONG) { LogTemplateError( Target, "Longvector", ERR_NAME, TP, "needs a numerical Parameter!"); } else { LogTemplateError( Target, "LongVector", ERR_PARM1, TP, "doesn't have %ld Parameters, its just the size of %ld!", TP->Tokens->Params[0]->lvalue, LongVector[0]); } } } void dbg_print_longvector(long *LongVector) { StrBuf *Buf = NewStrBufPlain(HKEY("Longvector: [")); int nItems = LongVector[0]; int i; for (i = 0; i < nItems; i++) { if (i + 1 < nItems) StrBufAppendPrintf(Buf, "%d: %ld | ", i, LongVector[i]); else StrBufAppendPrintf(Buf, "%d: %ld]\n", i, LongVector[i]); } syslog(LOG_DEBUG, "%s", ChrPtr(Buf)); FreeStrBuf(&Buf); } int ConditionalLongVector(StrBuf *Target, WCTemplputParams *TP) { long *LongVector = (long*) CTX(CTX_LONGVECTOR); if ((TP->Tokens->Params[2]->Type == TYPE_LONG) && (TP->Tokens->Params[2]->lvalue <= LongVector[0])&& (TP->Tokens->Params[3]->Type == TYPE_LONG) && (TP->Tokens->Params[3]->lvalue <= LongVector[0])) { return LongVector[TP->Tokens->Params[2]->lvalue] == LongVector[TP->Tokens->Params[3]->lvalue]; } else { if ((TP->Tokens->Params[2]->Type == TYPE_LONG) || (TP->Tokens->Params[2]->Type == TYPE_LONG)) { LogTemplateError( Target, "ConditionalLongvector", ERR_PARM1, TP, "needs two long Parameter!"); } else { LogTemplateError( Target, "Longvector", ERR_PARM1, TP, "doesn't have %ld / %ld Parameters, its just the size of %ld!", TP->Tokens->Params[2]->lvalue, TP->Tokens->Params[3]->lvalue, LongVector[0]); } } return 0; } void tmplput_CURRENT_FILE(StrBuf *Target, WCTemplputParams *TP) { StrBufAppendTemplate(Target, TP, TP->Tokens->FileName, 0); } void InitModule_SUBST (void) { RegisterCTX(CTX_TAB); RegisterCTX(CTX_ITERATE); memset(&NoCtx, 0, sizeof(WCTemplputParams)); RegisterNamespace("--", 0, 2, tmplput_Comment, NULL, CTX_NONE); RegisterNamespace("SORT:ICON", 1, 2, tmplput_SORT_ICON, NULL, CTX_NONE); RegisterNamespace("SORT:ORDER", 1, 2, tmplput_SORT_ORDER, NULL, CTX_NONE); RegisterNamespace("SORT:NEXT", 1, 2, tmplput_SORT_NEXT, NULL, CTX_NONE); RegisterNamespace("CONTEXTSTR", 0, 1, tmplput_ContextString, NULL, CTX_STRBUF); RegisterNamespace("CONTEXTSTRARR", 1, 2, tmplput_ContextStringArray, NULL, CTX_STRBUFARR); RegisterNamespace("ITERATE", 2, 100, tmpl_iterate_subtmpl, preeval_iterate, CTX_NONE); RegisterNamespace("DOBOXED", 1, 2, tmpl_do_boxed, NULL, CTX_NONE); RegisterNamespace("DOTABBED", 2, 100, tmpl_do_tabbed, preeval_do_tabbed, CTX_NONE); RegisterNamespace("TAB:N", 0, 0, tmplput_TAB_N, NULL, CTX_TAB); RegisterNamespace("TAB:SUBJECT", 0, 1, tmplput_TAB_TITLE, NULL, CTX_TAB); RegisterNamespace("LONGVECTOR", 1, 1, tmplput_long_vector, NULL, CTX_LONGVECTOR); RegisterConditional("COND:CONTEXTSTR", 3, ConditionalContextStr, CTX_STRBUF); RegisterConditional("COND:CONTEXTSTRARR", 4, ConditionalContextStrinArray, CTX_STRBUFARR); RegisterConditional("COND:LONGVECTOR", 4, ConditionalLongVector, CTX_LONGVECTOR); RegisterConditional("COND:ITERATE:ISGROUPCHANGE", 2, conditional_ITERATE_ISGROUPCHANGE, CTX_ITERATE); RegisterConditional("COND:ITERATE:LASTN", 2, conditional_ITERATE_LASTN, CTX_ITERATE); RegisterConditional("COND:ITERATE:FIRSTN", 2, conditional_ITERATE_FIRSTN, CTX_ITERATE); RegisterNamespace("ITERATE:ODDEVEN", 0, 0, tmplput_ITERATE_ODDEVEN, NULL, CTX_ITERATE); RegisterNamespace("ITERATE:KEY", 0, 0, tmplput_ITERATE_KEY, NULL, CTX_ITERATE); RegisterNamespace("ITERATE:N", 0, 0, tmplput_ITERATE_LASTN, NULL, CTX_ITERATE); RegisterNamespace("CURRENTFILE", 0, 1, tmplput_CURRENT_FILE, NULL, CTX_NONE); RegisterNamespace("DEF:STR", 1, 1, tmplput_DefStr, NULL, CTX_NONE); RegisterNamespace("DEF:VAL", 1, 1, tmplput_DefVal, NULL, CTX_NONE); } void ServerStartModule_SUBST (void) { LocalTemplateCache = NewHash(1, NULL); TemplateCache = NewHash(1, NULL); GlobalNS = NewHash(1, NULL); Iterators = NewHash(1, NULL); Conditionals = NewHash(1, NULL); SortHash = NewHash(1, NULL); Defines = NewHash(1, NULL); CtxList = NewHash(1, NULL); PutContextType(HKEY("CTX_NONE"), 0); RegisterCTX(CTX_STRBUF); RegisterCTX(CTX_STRBUFARR); RegisterCTX(CTX_LONGVECTOR); } void FinalizeModule_SUBST (void) { } void ServerShutdownModule_SUBST (void) { DeleteHash(&TemplateCache); DeleteHash(&LocalTemplateCache); DeleteHash(&GlobalNS); DeleteHash(&Iterators); DeleteHash(&Conditionals); DeleteHash(&SortHash); DeleteHash(&Defines); DeleteHash(&CtxList); } void SessionNewModule_SUBST (wcsession *sess) { } void SessionAttachModule_SUBST (wcsession *sess) { } void SessionDetachModule_SUBST (wcsession *sess) { FreeStrBuf(&sess->WFBuf); } void SessionDestroyModule_SUBST (wcsession *sess) { } webcit-9.01-dfsg/subst.h000066400000000000000000000330641254743150300151640ustar00rootroot00000000000000/* * Copyright (c) 1996-2013 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. * * subst template processing functions */ extern HashList *Conditionals; extern HashList *GlobalNS; extern HashList *Iterators; extern HashList *WirelessTemplateCache; extern HashList *WirelessLocalTemplateCache; extern HashList *TemplateCache; extern HashList *LocalTemplateCache; #define TYPE_STR 1 #define TYPE_LONG 2 #define TYPE_PREFSTR 3 #define TYPE_ROOMPREFSTR 4 #define TYPE_PREFINT 5 #define TYPE_GETTEXT 6 #define TYPE_BSTR 7 #define TYPE_SUBTEMPLATE 8 #define TYPE_INTDEFINE 9 #define MAXPARAM 25 #define IS_NUMBER(a) ((a == TYPE_LONG) || (a == TYPE_PREFINT) || (a == TYPE_INTDEFINE)) /* * \brief Values for wcs_type */ enum { WCS_STRING, /* its a string */ WCS_FUNCTION, /* its a function callback */ WCS_SERVCMD, /* its a command to send to the citadel server */ WCS_STRBUF, /* its a strbuf we own */ WCS_STRBUF_REF, /* its a strbuf we mustn't free */ WCS_LONG /* its an integer */ }; #define CTX_NONE 0 typedef int CtxType; typedef struct __CtxTypeStruct { CtxType Type; StrBuf *Name; } CtxTypeStruct; CtxTypeStruct *GetContextType(CtxType Type); void RegisterContextType(const char *name, long len, CtxType *TheCtx); #define RegisterCTX(a) RegisterContextType(#a, sizeof(#a) - 1, &a) extern CtxType CTX_STRBUF; extern CtxType CTX_STRBUFARR; extern CtxType CTX_LONGVECTOR; /** * @ingroup subst * ContextFilter resembles our RTTI information. With this structure * we can make shure a tmplput function can live with the environment * we call it in. * if not, we will log/print an error and refuse to call it. */ typedef struct _contexts { CtxType ContextType; /* do we require a User Context ? */ int nMinArgs; /* How many arguments do we need at least? */ int nMaxArgs; /* up to how many arguments can we handle? */ } ContextFilter; /* Forward declarations... */ typedef struct WCTemplateToken WCTemplateToken; typedef struct WCTemplputParams WCTemplputParams; /* this is the signature of a tmplput function */ typedef void (*WCHandlerFunc)(StrBuf *Target, WCTemplputParams *TP); /* if you want to pre-evaluate parts of your token, or do additional syntax, use this. */ typedef int (*WCPreevalFunc)(WCTemplateToken *Token); /* make a template token a lookup key: */ #define TKEY(a) TP->Tokens->Params[a]->Start, TP->Tokens->Params[a]->len void *GetContextPayload(WCTemplputParams *TP, CtxType ContextType); #define CTX(a) GetContextPayload(TP, a) /** * @ingroup subst * this is the signature of a conditional function * Note: Target is just passed in for error messages; don't write onto it in regular cases. */ typedef int (*WCConditionalFunc)(StrBuf *Target, WCTemplputParams *TP); typedef enum _eBitMask { eNO = 0, eOR, eAND }eBitMask; typedef struct _TemplateParam { /* are we a string or a number? */ int Type; /* string data: */ const char *Start; long len; /* if we're a number: */ long lvalue; eBitMask MaskBy; } TemplateParam; /** * @ingroup subst * Representation of a token; everything thats inbetween */ struct WCTemplateToken { /* Reference to the filename we're in to print error messages; not to be freed */ const StrBuf *FileName; /* Raw copy of our original token; for error printing */ StrBuf *FlatToken; /* Which line did the template parser pick us up in? For error printing */ long Line; /* our position in the template cache buffer */ const char *pTokenStart; /* our token length */ size_t TokenStart; size_t TokenEnd; /* point after us */ const char *pTokenEnd; /* just our token name: */ const char *pName; size_t NameEnd; /* stuff the pre-evaluater finds out: */ int Flags; /* pointer to our runntime evaluator; so we can cache this and save hash-lookups */ void *PreEval; void *Preeval2; /* if we have parameters here we go: */ /* do we have parameters or not? */ int HaveParameters; /* How many of them? */ int nParameters; /* the parameters */ TemplateParam *Params[MAXPARAM]; }; struct WCTemplputParams { ContextFilter Filter; void *Context; int nArgs; WCTemplateToken *Tokens; WCTemplputParams *Sub, *Super; WCConditionalFunc ExitCtx; long ExitCTXID; }; typedef struct _ConditionalStruct { ContextFilter Filter; const char *PlainName; WCConditionalFunc CondF; WCConditionalFunc CondExitCtx; } ConditionalStruct; typedef void (*SubTemplFunc)(StrBuf *TemplBuffer, WCTemplputParams *TP); typedef HashList *(*RetrieveHashlistFunc)(StrBuf *Target, WCTemplputParams *TP); typedef void (*HashDestructorFunc) (HashList **KillMe); extern WCTemplputParams NoCtx; #define HAVE_PARAM(a) (TP->Tokens->nParameters > a) #define ERR_NAME 0 #define ERR_PARM1 1 #define ERR_PARM2 2 /** * @ingroup subst * @brief log an error while evaluating a token; print it to the actual template * @param Target your Target Buffer to print the error message next to the log * @param Type What sort of thing are we talking about? Tokens? Conditionals? * @param TP grab our set of default information here * @param Format for the custom error message */ void LogTemplateError (StrBuf *Target, const char *Type, int ErrorPos, WCTemplputParams *TP, const char *Format, ...)__attribute__((__format__(__printf__,5,6))); /** * @ingroup subst * @brief log an error while in global context; print it to Wildfire / Target * @param Target your Target Buffer to print the error message next to the log * @param Type What sort of thing are we talking about? Tokens? Conditionals? * @param Format for the custom error message */ void LogError (StrBuf *Target, const char *Type, const char *Format, ...); /** * @ingroup subst * @brief get the actual value of a token parameter * in your tmplputs or conditionals use this function to access parameters that can also be * retrieved from dynamic facilities: * _ -> Gettext; retrieve this token from the i18n facilities * : -> lookup a setting of that name * B -> bstr; an URL-Parameter * = -> subtemplate; parse a template by this name, and treat its content as this tokens value * * @param N which token do you want to lookup? * @param Value reference to the string of the token; don't free me. * @param len the length of Value */ void GetTemplateTokenString(StrBuf *Target, WCTemplputParams *TP, int N, const char **Value, long *len); /** * @ingroup subst * @return whether @ref GetTemplateTokenString would be able to give you a string */ int HaveTemplateTokenString(StrBuf *Target, WCTemplputParams *TP, int N, const char **Value, long *len); /** * @ingroup subst * @brief get the actual integer value of a token parameter * in your tmplputs or conditionals use this function to access parameters that can also be * retrieved from dynamic facilities: * _ -> Gettext; retrieve this token from the i18n facilities * : -> lookup a setting of that name * B -> bstr; an URL-Parameter * = -> subtemplate; parse a template by this name, and treat its content as this tokens value * * @param N which token do you want to lookup? * @param dflt default value to be retrieved if not found in preferences * \returns the long value */ long GetTemplateTokenNumber(StrBuf *Target, WCTemplputParams *TP, int N, long dflt); /** * @brief put a token value into the template * use this function to append your strings into a Template. * it can escape your string according to the token at FormattypeIndex: * H: de-QP and utf8-ify * X: escapize for HTML * J: JSON Escapize * @param Target the destination buffer * @param TP the template token information * @param Source string to append * @param FormatTypeIndex which parameter contains the escaping functionality? * if this token doesn't have as much parameters, plain append is done. */ void StrBufAppendTemplate(StrBuf *Target, WCTemplputParams *TP, const StrBuf *Source, int FormatTypeIndex); void StrBufAppendTemplateStr(StrBuf *Target, WCTemplputParams *TP, const char *Source, int FormatTypeIndex); #define RegisterNamespace(a, b, c, d, e, f) RegisterNS(a, sizeof(a)-1, b, c, d, e, f) /** * @ingroup subst * @brief register a template token handler * call this function in your InitModule_MODULENAME which will be called at the server start * @param nMinArgs how much parameters does your token require at least? * @param nMaxArgs how many parameters does your token accept? * @param HandlerFunc your callback when the template is rendered and your token is there * @param PreEvalFunc is called when the template is parsed; you can do additional * syntax checks here or pre-evaluate stuff for better performance * @param ContextRequired if your token requires a specific context, else say CTX_NONE here. */ void RegisterNS(const char *NSName, long len, int nMinArgs, int nMaxArgs, WCHandlerFunc HandlerFunc, WCPreevalFunc PreEvalFunc, int ContextRequired); /** * @ingroup subst * @brief register a conditional token handler * call this function in your InitModule_MODULENAME which will be called at the server start * conditionals can be ? or ! with a pair or % similar to an implicit if * @param Name whats the name of your conditional? should start with COND: * @param len the token length so we don't have to measure it. * @param nParams how many parameters does your conditional need on top of the default conditional parameters * @param CondF your Callback to be called when the template is evaluated at runtime; return 0 or 1 to us please. * @param ExitCtxCond if non-NULL, will be called after the area of the conditional is left behind. * @param ContextRequired if your token requires a specific context, else say CTX_NONE here. */ void RegisterContextConditional(const char *Name, long len, int nParams, WCConditionalFunc CondF, WCConditionalFunc ExitCtxCond, int ContextRequired); #define RegisterCtxConditional(Name, nParams, CondF, ExitCtxCond, ContextRequired) \ RegisterContextConditional(Name, sizeof(Name) -1, nParams, CondF, ExitCtxCond, ContextRequired) #define RegisterConditional(Name, nParams, CondF, ContextRequired) \ RegisterContextConditional(Name, sizeof(Name) -1, nParams, CondF, NULL, ContextRequired) /** * @ingroup subst * @brief register a string that will represent a long value * this will allow to resolve to Value; that way * plain strings can be used an lexed in templates without having the * lookup overhead at runtime. * @param Name The name of the define * @param len length of Name * @param Value the value to associate with Name */ void RegisterTokenParamDefine(const char *Name, long len, long Value); /** * teh r0x0r! forward your favourite define from C to the templates with one easy call! */ #define REGISTERTokenParamDefine(a) RegisterTokenParamDefine(#a, sizeof(#a) - 1, a); /** * @ingroup subst * @brief retrieve the long value of a registered string define * @param Name The name of the define * @param len length of Name * @param Value the value to return if not found */ long GetTokenDefine(const char *Name, long len, long DefValue); #define IT_NOFLAG 0 #define IT_FLAG_DETECT_GROUPCHANGE (1<<0) #define RegisterIterator(a, b, c, d, e, f, g, h, i) RegisterITERATOR(a, sizeof(a)-1, b, c, d, e, f, g, h, i) void RegisterITERATOR(const char *Name, long len, /* Our identifier */ int AdditionalParams, /* doe we use more parameters? */ HashList *StaticList, /* pointer to webcit lifetime hashlists */ RetrieveHashlistFunc GetHash, /* else retrieve the hashlist by calling this function */ SubTemplFunc DoSubTempl, /* call this function on each iteration for svput & friends */ HashDestructorFunc Destructor, /* use this function to shut down the hash; NULL if its a reference */ CtxType ContextType, /* which context do we provide to the subtemplate? */ CtxType XPectContextType, /* which context do we expct to be called in? */ int Flags); void StackDynamicContext(WCTemplputParams *Super, WCTemplputParams *Sub, void *Context, CtxType ContextType, int nArgs, WCTemplateToken *Tokens, WCConditionalFunc ExitCtx, long ExitCTXID); #define StackContext(Super, Sub, Context, ContextType, nArgs, Tokens) \ StackDynamicContext(Super, Sub, Context, ContextType, nArgs, Tokens, NULL, 0) void UnStackContext(WCTemplputParams *Sub); CompareFunc RetrieveSort(WCTemplputParams *TP, const char *OtherPrefix, long OtherPrefixLen, const char *Default, long ldefault, long DefaultDirection); void RegisterSortFunc(const char *name, long len, const char *prepend, long preplen, CompareFunc Forward, CompareFunc Reverse, CompareFunc GroupChange, CtxType ContextType); void dbg_print_longvector(long *LongVector); #define do_template(a) DoTemplate(a, sizeof(a) -1, NULL, &NoCtx) const StrBuf *DoTemplate(const char *templatename, long len, StrBuf *Target, WCTemplputParams *TP); void url_do_template(void); int CompareSubstToToken(TemplateParam *ParamToCompare, TemplateParam *ParamToLookup); int CompareSubstToStrBuf(StrBuf *Compare, TemplateParam *ParamToLookup); webcit-9.01-dfsg/summary.c000066400000000000000000000113451254743150300155120ustar00rootroot00000000000000/* * Displays the "Summary Page" * * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "calendar.h" extern int calendar_summary_view(void); /* * Display today's date in a friendly format */ void output_date(void) { struct tm tm; time_t now; char buf[128]; time(&now); localtime_r(&now, &tm); wc_strftime(buf, 32, "%A, %x", &tm); wc_printf("%s", buf); } void tmplput_output_date(StrBuf *Target, WCTemplputParams *TP) { struct tm tm; time_t now; char buf[128]; size_t n; time(&now); localtime_r(&now, &tm); n = wc_strftime(buf, 32, "%A, %x", &tm); StrBufAppendBufPlain(Target, buf, n, 0); } /* * New messages section */ void new_messages_section(void) { char buf[SIZ]; char room[SIZ]; int i; int number_of_rooms_to_check; char *rooms_to_check = "Mail|Lobby"; number_of_rooms_to_check = num_tokens(rooms_to_check, '|'); if (number_of_rooms_to_check == 0) return; wc_printf("\n"); for (i=0; i\n", extract_int(&buf[4], 1), extract_int(&buf[4], 2) ); } } wc_printf("
    "); escputs(room); wc_printf("%d/%d
    \n"); } /* * Task list section */ void tasks_section(void) { int num_msgs = 0; HashPos *at; const char *HashKey; long HKLen; void *vMsg; message_summary *Msg; wcsession *WCC = WC; StrBuf *Buf; SharedMessageStatus Stat; memset(&Stat, 0, sizeof(SharedMessageStatus)); Stat.maxload = 10000; Stat.lowest_found = (-1); Stat.highest_found = (-1); Buf = NewStrBufPlain(HKEY("_TASKS_")); gotoroom(Buf); FreeStrBuf(&Buf); if (WCC->CurRoom.view != VIEW_TASKS) { num_msgs = 0; } else { num_msgs = load_msg_ptrs("MSGS ALL", NULL, &Stat, NULL); } if (num_msgs > 0) { at = GetNewHashPos(WCC->summ, 0); while (GetNextHashPos(WCC->summ, at, &HKLen, &HashKey, &vMsg)) { Msg = (message_summary*) vMsg; tasks_LoadMsgFromServer(NULL, NULL, Msg, 0, 0); } DeleteHashPos(&at); } if (calendar_summary_view() < 1) { wc_printf(""); wc_printf(_("(None)")); wc_printf("
    \n"); } } /* * Calendar section */ void calendar_section(void) { char cmd[SIZ]; char filter[SIZ]; int num_msgs = 0; HashPos *at; const char *HashKey; long HKLen; void *vMsg; message_summary *Msg; wcsession *WCC = WC; StrBuf *Buf; void *v = NULL; SharedMessageStatus Stat; memset(&Stat, 0, sizeof(SharedMessageStatus)); Stat.maxload = 10000; Stat.lowest_found = (-1); Stat.highest_found = (-1); Buf = NewStrBufPlain(HKEY("_CALENDAR_")); gotoroom(Buf); FreeStrBuf(&Buf); if ( (WC->CurRoom.view != VIEW_CALENDAR) && (WC->CurRoom.view != VIEW_CALBRIEF) ) { num_msgs = 0; } else { num_msgs = load_msg_ptrs("MSGS ALL", NULL, &Stat, NULL); } calendar_GetParamsGetServerCall(&Stat, &v, readnew, cmd, sizeof(cmd), filter, sizeof(filter)); if (num_msgs > 0) { at = GetNewHashPos(WCC->summ, 0); while (GetNextHashPos(WCC->summ, at, &HKLen, &HashKey, &vMsg)) { Msg = (message_summary*) vMsg; calendar_LoadMsgFromServer(NULL, &v, Msg, 0, 0); } DeleteHashPos(&at); } if (calendar_summary_view() < 1) { wc_printf(""); wc_printf(_("(Nothing)")); wc_printf("
    \n"); } __calendar_Cleanup(&v); } void tmplput_new_messages_section(StrBuf *Target, WCTemplputParams *TP) { new_messages_section(); } void tmplput_tasks_section(StrBuf *Target, WCTemplputParams *TP) { tasks_section(); } void tmplput_calendar_section(StrBuf *Target, WCTemplputParams *TP) { calendar_section(); } /* * summary page */ void display_summary_page(void) { output_headers(1, 1, 1, 0, 0, 0); do_template("summary_page"); wDumpContent(1); } void InitModule_SUMMARY (void) { RegisterNamespace("TIME:NOW", 0, 0, tmplput_output_date, NULL, CTX_NONE); WebcitAddUrlHandler(HKEY("summary"), "", 0, display_summary_page, ANONYMOUS); WebcitAddUrlHandler(HKEY("new_messages_html"), "", 0, new_messages_section, AJAX); WebcitAddUrlHandler(HKEY("tasks_inner_html"), "", 0, tasks_section, AJAX); WebcitAddUrlHandler(HKEY("calendar_inner_html"), "", 0, calendar_section, AJAX); } webcit-9.01-dfsg/sysdep.c000066400000000000000000000344411254743150300153260ustar00rootroot00000000000000/* * WebCit "system dependent" code. * * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software; you can redistribute it and/or modify * it under the terms of the GNU General Public License, version 3. * * 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. */ #include "sysdep.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef HAVE_PTHREAD_H #include #endif #include "webcit.h" #include "sysdep.h" #ifdef HAVE_SYS_SELECT_H #include #endif #include "webserver.h" #include "modules_init.h" #if HAVE_BACKTRACE #include #endif pthread_mutex_t Critters[MAX_SEMAPHORES]; /* Things needing locking */ pthread_key_t MyConKey; /* TSD key for MyContext() */ pthread_key_t MyReq; /* TSD key for MyReq() */ int msock; /* master listening socket */ int time_to_die = 0; /* Nonzero if server is shutting down */ extern void *context_loop(ParsedHttpHdrs *Hdr); extern void *housekeeping_loop(void); extern void do_housekeeping(void); char ctdl_key_dir[PATH_MAX]=SSL_DIR; char file_crpt_file_key[PATH_MAX]=""; char file_crpt_file_csr[PATH_MAX]=""; char file_crpt_file_cer[PATH_MAX]=""; char file_etc_mimelist[PATH_MAX]=""; const char editor_absolut_dir[PATH_MAX]=EDITORDIR; /* nailed to what configure gives us. */ const char markdown_editor_absolutedir[]=MARKDOWNEDITORDIR; char etc_dir[PATH_MAX]; char static_dir[PATH_MAX]; /* calculated on startup */ char static_local_dir[PATH_MAX]; /* calculated on startup */ char static_icon_dir[PATH_MAX]; /* where should we find our mime icons? */ char *static_dirs[]={ /* needs same sort order as the web mapping */ (char*)static_dir, /* our templates on disk */ (char*)static_local_dir, /* user provided templates disk */ (char*)editor_absolut_dir, /* the editor on disk */ (char*)static_icon_dir, /* our icons... */ (char*)markdown_editor_absolutedir }; int ExitPipe[2]; HashList *GZMimeBlackList = NULL; /* mimetypes which shouldn't be gzip compressed */ void LoadMimeBlacklist(void) { StrBuf *MimeBlackLine; IOBuffer IOB; eReadState state; memset(&IOB, 0, sizeof(IOBuffer)); IOB.fd = open(file_etc_mimelist, O_RDONLY); IOB.Buf = NewStrBuf(); MimeBlackLine = NewStrBuf(); GZMimeBlackList = NewHash(1, NULL); do { state = StrBufChunkSipLine(MimeBlackLine, &IOB); switch (state) { case eMustReadMore: if (StrBuf_read_one_chunk_callback(IOB.fd, 0, &IOB) <= 0) state = eReadFail; break; case eReadSuccess: if ((StrLength(MimeBlackLine) > 1) && (*ChrPtr(MimeBlackLine) != '#')) { Put(GZMimeBlackList, SKEY(MimeBlackLine), (void*) 1, reference_free_handler); } FlushStrBuf(MimeBlackLine); break; case eReadFail: break; case eBufferNotEmpty: break; } } while (state != eReadFail); close(IOB.fd); FreeStrBuf(&IOB.Buf); FreeStrBuf(&MimeBlackLine); } void CheckGZipCompressionAllowed(const char *MimeType, long MLen) { void *v; wcsession *WCC = WC; if (WCC->Hdr->HR.gzip_ok) WCC->Hdr->HR.gzip_ok = GetHash(GZMimeBlackList, MimeType, MLen, &v) == 0; } void InitialiseSemaphores(void) { int i; /* Set up a bunch of semaphores to be used for critical sections */ for (i=0; i 0) && (ssock < 0) && (time_to_die == 0)); if ((msock == -1)||(time_to_die)) {/* ok, we're going down. */ int shutdown = 0; /* The first thread to get here will have to do the cleanup. * Make sure it's really just one. */ begin_critical_section(S_SHUTDOWN); if (msock == -1) { msock = -2; shutdown = 1; } end_critical_section(S_SHUTDOWN); if (shutdown == 1) {/* we're the one to cleanup the mess. */ http_destroy_modules(&Hdr); syslog(LOG_DEBUG, "I'm master shutdown: tagging sessions to be killed.\n"); shutdown_sessions(); syslog(LOG_DEBUG, "master shutdown: waiting for others\n"); sleeeeeeeeeep(1); /* wait so some others might finish... */ syslog(LOG_DEBUG, "master shutdown: cleaning up sessions\n"); do_housekeeping(); syslog(LOG_DEBUG, "master shutdown: cleaning up libical\n"); ShutDownWebcit(); syslog(LOG_DEBUG, "master shutdown exiting.\n"); exit(0); } break; } if (ssock < 0 ) continue; check_thread_pool_size(); /* Now do something. */ if (msock < 0) { if (ssock > 0) close (ssock); syslog(LOG_DEBUG, "in between."); pthread_exit(NULL); } else { /* Got it? do some real work! */ /* Set the SO_REUSEADDR socket option */ i = 1; setsockopt(ssock, SOL_SOCKET, SO_REUSEADDR, &i, sizeof(i)); /* If we are an HTTPS server, go crypto now. */ #ifdef HAVE_OPENSSL if (is_https) { if (starttls(ssock) != 0) { fail_this_transaction = 1; close(ssock); } } else #endif { int fdflags; fdflags = fcntl(ssock, F_GETFL); if (fdflags < 0) syslog(LOG_WARNING, "unable to get server socket flags! %s \n", strerror(errno)); fdflags = fdflags | O_NONBLOCK; if (fcntl(ssock, F_SETFL, fdflags) < 0) syslog(LOG_WARNING, "unable to set server socket nonblocking flags! %s \n", strerror(errno)); } if (fail_this_transaction == 0) { Hdr.http_sock = ssock; /* Perform an HTTP transaction... */ context_loop(&Hdr); /* Shut down SSL/TLS if required... */ #ifdef HAVE_OPENSSL if (is_https) { endtls(); } #endif /* ...and close the socket. */ if (Hdr.http_sock > 0) { lingering_close(ssock); } http_detach_modules(&Hdr); } } } while (!time_to_die); http_destroy_modules(&Hdr); syslog(LOG_DEBUG, "Thread exiting.\n"); pthread_exit(NULL); } /* * Shut us down the regular way. * signum is the signal we want to forward */ pid_t current_child; void graceful_shutdown_watcher(int signum) { syslog(LOG_INFO, "Watcher thread exiting.\n"); write(ExitPipe[0], HKEY(" ")); kill(current_child, signum); if (signum != SIGHUP) exit(0); } /* * Shut us down the regular way. * signum is the signal we want to forward */ pid_t current_child; void graceful_shutdown(int signum) { FILE *FD; int fd; syslog(LOG_INFO, "WebCit is being shut down on signal %d.\n", signum); fd = msock; msock = -1; time_to_die = 1; FD=fdopen(fd, "a+"); fflush (FD); fclose (FD); close(fd); write(ExitPipe[0], HKEY(" ")); } /* * Start running as a daemon. */ void start_daemon(char *pid_file) { int status = 0; pid_t child = 0; FILE *fp; int do_restart = 0; current_child = 0; /* Close stdin/stdout/stderr and replace them with /dev/null. * We don't just call close() because we don't want these fd's * to be reused for other files. */ chdir("/"); signal(SIGHUP, SIG_IGN); signal(SIGINT, SIG_IGN); signal(SIGQUIT, SIG_IGN); child = fork(); if (child != 0) { exit(0); } setsid(); umask(0); freopen("/dev/null", "r", stdin); freopen("/dev/null", "w", stdout); freopen("/dev/null", "w", stderr); signal(SIGTERM, graceful_shutdown_watcher); signal(SIGHUP, graceful_shutdown_watcher); do { current_child = fork(); if (current_child < 0) { perror("fork"); ShutDownLibCitadel (); exit(errno); } else if (current_child == 0) { /* child process */ signal(SIGHUP, graceful_shutdown); return; /* continue starting webcit. */ } else { /* watcher process */ if (pid_file) { fp = fopen(pid_file, "w"); if (fp != NULL) { fprintf(fp, "%d\n", getpid()); fclose(fp); } } waitpid(current_child, &status, 0); } do_restart = 0; /* Did the main process exit with an actual exit code? */ if (WIFEXITED(status)) { /* Exit code 0 means the watcher should exit */ if (WEXITSTATUS(status) == 0) { do_restart = 0; } /* Exit code 101-109 means the watcher should exit */ else if ( (WEXITSTATUS(status) >= 101) && (WEXITSTATUS(status) <= 109) ) { do_restart = 0; } /* Any other exit code means we should restart. */ else { do_restart = 1; } } /* Any other type of termination (signals, etc.) should also restart. */ else { do_restart = 1; } } while (do_restart); if (pid_file) { unlink(pid_file); } ShutDownLibCitadel (); exit(WEXITSTATUS(status)); } /* * Spawn an additional worker thread into the pool. */ void spawn_another_worker_thread() { pthread_t SessThread; /* Thread descriptor */ pthread_attr_t attr; /* Thread attributes */ int ret; ++num_threads_existing; ++num_threads_executing; /* set attributes for the new thread */ pthread_attr_init(&attr); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); /* * Our per-thread stacks need to be bigger than the default size, * otherwise the MIME parser crashes on FreeBSD. */ if ((ret = pthread_attr_setstacksize(&attr, 1024 * 1024))) { syslog(LOG_WARNING, "pthread_attr_setstacksize: %s\n", strerror(ret)); pthread_attr_destroy(&attr); } /* now create the thread */ if (pthread_create(&SessThread, &attr, (void *(*)(void *)) worker_entry, NULL) != 0) { syslog(LOG_WARNING, "Can't create thread: %s\n", strerror(errno)); } /* free up the attributes */ pthread_attr_destroy(&attr); } void webcit_calc_dirs_n_files(int relh, const char *basedir, int home, char *webcitdir, char *relhome) { char dirbuffer[PATH_MAX]=""; /* calculate all our path on a central place */ /* where to keep our config */ #define COMPUTE_DIRECTORY(SUBDIR) memcpy(dirbuffer,SUBDIR, sizeof dirbuffer);\ snprintf(SUBDIR,sizeof SUBDIR, "%s%s%s%s%s%s%s", \ (home&!relh)?webcitdir:basedir, \ ((basedir!=webcitdir)&(home&!relh))?basedir:"/", \ ((basedir!=webcitdir)&(home&!relh))?"/":"", \ relhome, \ (relhome[0]!='\0')?"/":"",\ dirbuffer,\ (dirbuffer[0]!='\0')?"/":""); basedir=RUNDIR; COMPUTE_DIRECTORY(socket_dir); basedir=WWWDIR "/static"; COMPUTE_DIRECTORY(static_dir); basedir=WWWDIR "/static/icons"; COMPUTE_DIRECTORY(static_icon_dir); basedir=WWWDIR "/static.local"; COMPUTE_DIRECTORY(static_local_dir); StripSlashes(static_dir, 1); StripSlashes(static_icon_dir, 1); StripSlashes(static_local_dir, 1); snprintf(file_crpt_file_key, sizeof file_crpt_file_key, "%s/citadel.key", ctdl_key_dir); snprintf(file_crpt_file_csr, sizeof file_crpt_file_csr, "%s/citadel.csr", ctdl_key_dir); snprintf(file_crpt_file_cer, sizeof file_crpt_file_cer, "%s/citadel.cer", ctdl_key_dir); basedir=ETCDIR; COMPUTE_DIRECTORY(etc_dir); StripSlashes(etc_dir, 1); snprintf(file_etc_mimelist, sizeof file_etc_mimelist, "%s/nogz-mimetypes.txt", etc_dir); /* we should go somewhere we can leave our coredump, if enabled... */ syslog(LOG_INFO, "Changing directory to %s\n", socket_dir); if (chdir(webcitdir) != 0) { perror("chdir"); } } void drop_root(uid_t UID) { struct passwd pw, *pwp = NULL; #ifdef HAVE_GETPWUID_R char pwbuf[SIZ]; #endif /* * Now that we've bound the sockets, change to the Citadel user id and its * corresponding group ids */ if (UID != -1) { #ifdef HAVE_GETPWUID_R #ifdef SOLARIS_GETPWUID pwp = getpwuid_r(UID, &pw, pwbuf, sizeof(pwbuf)); #else /* SOLARIS_GETPWUID */ getpwuid_r(UID, &pw, pwbuf, sizeof(pwbuf), &pwp); #endif /* SOLARIS_GETPWUID */ #else /* HAVE_GETPWUID_R */ pwp = NULL; #endif /* HAVE_GETPWUID_R */ if (pwp == NULL) syslog(LOG_CRIT, "WARNING: getpwuid(%d): %s\n" "Group IDs will be incorrect.\n", UID, strerror(errno)); else { initgroups(pw.pw_name, pw.pw_gid); if (setgid(pw.pw_gid)) syslog(LOG_CRIT, "setgid(%ld): %s\n", (long)pw.pw_gid, strerror(errno)); } syslog(LOG_INFO, "Changing uid to %ld\n", (long)UID); if (setuid(UID) != 0) { syslog(LOG_CRIT, "setuid() failed: %s\n", strerror(errno)); } #if defined (HAVE_SYS_PRCTL_H) && defined (PR_SET_DUMPABLE) prctl(PR_SET_DUMPABLE, 1); #endif } } /* * print the actual stack frame. */ void wc_backtrace(long LogLevel) { #ifdef HAVE_BACKTRACE void *stack_frames[50]; size_t size, i; char **strings; size = backtrace(stack_frames, sizeof(stack_frames) / sizeof(void*)); strings = backtrace_symbols(stack_frames, size); for (i = 0; i < size; i++) { if (strings != NULL) syslog(LogLevel, "%s\n", strings[i]); else syslog(LogLevel, "%p\n", stack_frames[i]); } free(strings); #endif } webcit-9.01-dfsg/sysdep.h.in000066400000000000000000000130771254743150300157420ustar00rootroot00000000000000/* sysdep.h.in. Generated from configure.ac by autoheader. */ /* define, if the user suplied a data-directory to use. */ #undef DATADIR /* where to find our mail editor */ #undef EDITORDIR /* whether we have NLS support */ #undef ENABLE_NLS /* whether we should compile the test-suite */ #undef ENABLE_TESTS /* where to find our configs */ #undef ETCDIR /* whats the matching format string for pid_t? */ #undef F_PID_T /* whats the matching format string for uid_t? */ #undef F_UID_T /* whats the matching format string for xpid_t? */ #undef F_XPID_T /* Define to 1 if you have the `backtrace' function. */ #undef HAVE_BACKTRACE /* Define to 1 if you have the `connect' function. */ #undef HAVE_CONNECT /* Define to 1 if you have the `crypt' function. */ #undef HAVE_CRYPT /* Define to 1 if you have the header file. */ #undef HAVE_FCNTL_H /* Define to 1 if you have the `flock' function. */ #undef HAVE_FLOCK /* Define to 1 if you have the `gethostbyname' function. */ #undef HAVE_GETHOSTBYNAME /* Define to 1 if you have the `getloadavg' function. */ #undef HAVE_GETLOADAVG /* Define to 1 if you have the `getpwnam_r' function. */ #undef HAVE_GETPWNAM_R /* Define to 1 if you have the `getpwuid_r' function. */ #undef HAVE_GETPWUID_R /* Define to 1 if you have the `gettext' function. */ #undef HAVE_GETTEXT /* whether we have iconv for charset conversion */ #undef HAVE_ICONV /* Define to 1 if you have the header file. */ #undef HAVE_ICONV_H /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the `pthread' library (-lpthread). */ #undef HAVE_LIBPTHREAD /* Define to 1 if you have the `pthreads' library (-lpthreads). */ #undef HAVE_LIBPTHREADS /* Define to 1 if you have the header file. */ #undef HAVE_LIMITS_H /* whether we have markdown message rendering */ #undef HAVE_MARKDOWN /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* whethe we have openssl */ #undef HAVE_OPENSSL /* should we put our non volatile files elsewhere? */ #undef HAVE_RUN_DIR /* Define to 1 if you have the `snprintf' function. */ #undef HAVE_SNPRINTF /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the `strftime_l' function. */ #undef HAVE_STRFTIME_L /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if you have the `uselocale' function. */ #undef HAVE_USELOCALE /* Define to 1 if you have the header file. */ #undef HAVE_XLOCALE_H /* where to find our pot files */ #undef LOCALEDIR /* where to find our markdown editor */ #undef MARKDOWNEDITORDIR /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Program dirs */ #undef PROG_SUBDIRS /* Define as the return type of signal handlers (`int' or `void'). */ #undef RETSIGTYPE /* define, where the config should go in unix style */ #undef RUNDIR /* The size of `char', as computed by sizeof. */ #undef SIZEOF_CHAR /* The size of `int', as computed by sizeof. */ #undef SIZEOF_INT /* The size of `long', as computed by sizeof. */ #undef SIZEOF_LONG /* The size of `long unsigned int', as computed by sizeof. */ #undef SIZEOF_LONG_UNSIGNED_INT /* The size of `short', as computed by sizeof. */ #undef SIZEOF_SHORT /* The size of `size_t', as computed by sizeof. */ #undef SIZEOF_SIZE_T /* do we need to use solaris call syntax? */ #undef SOLARIS_GETPWUID /* do we need to use soralis call syntax? */ #undef SOLARIS_LOCALTIME_R /* were should we put our keys? */ #undef SSL_DIR /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* whether we need to undefine memcpy */ #undef UNDEF_MEMCPY /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # undef _TANDEM_SOURCE #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # undef __EXTENSIONS__ #endif /* define this to the Citadel home directory */ #undef WEBCITDIR /* where to find our templates and pics */ #undef WWWDIR /* Define to 1 if on MINIX. */ #undef _MINIX /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ #undef _POSIX_1_SOURCE /* Define to 1 if you need to in order for `stat' and other things to work. */ #undef _POSIX_SOURCE /* Define to empty if `const' does not conform to ANSI C. */ #undef const /* Define to `long int' if does not define. */ #undef off_t /* Define to `unsigned int' if does not define. */ #undef size_t webcit-9.01-dfsg/sysmsgs.c000066400000000000000000000073061254743150300155270ustar00rootroot00000000000000/* * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" /** * display the form for editing something (room info, bio, etc) * description the descriptive text for the box * check_cmd command to check???? * read_cmd read answer from citadel server??? * save_cmd save comand to the citadel server?? * with_room_banner should we bisplay a room banner? */ void display_edit(char *description, char *check_cmd, char *read_cmd, char *save_cmd, int with_room_banner) { StrBuf *Line; serv_puts(check_cmd); Line = NewStrBuf(); StrBuf_ServGetln(Line); if (GetServerStatusMsg(Line, NULL, 1, 2) != 2) { FreeStrBuf(&Line); display_main_menu(); FreeStrBuf(&Line); return; } if (with_room_banner) { output_headers(1, 1, 1, 0, 0, 0); } else { output_headers(1, 1, 0, 0, 0, 0); } do_template("box_begin_1"); StrBufAppendPrintf (WC->WBuf, _("Edit %s"), description); do_template("box_begin_2"); wc_printf(_("Enter %s below. Text is formatted to the reader's browser." " A newline is forced by preceding the next line by a blank."), description); wc_printf("
    \n", save_cmd); wc_printf("\n", WC->nonce); wc_printf("
    \n"); wc_printf("", _("Save changes")); wc_printf(" "); wc_printf("
    \n", _("Cancel")); wc_printf("
    \n"); do_template("box_end"); wDumpContent(1); FreeStrBuf(&Line); } /** * save a screen which was displayed with display_edit() * description the window title??? * enter_cmd which command to enter at the citadel server??? * regoto should we go to that room again after executing that command? */ void save_edit(char *description, char *enter_cmd, int regoto) { StrBuf *Line; if (!havebstr("save_button")) { AppendImportantMessage(_("Cancelled. %s was not saved."), -1); display_main_menu(); return; } Line = NewStrBuf(); serv_puts(enter_cmd); StrBuf_ServGetln(Line); if (GetServerStatusMsg(Line, NULL, 1, 0) != 4) { FreeStrBuf(&Line); display_main_menu(); return; } FreeStrBuf(&Line); text_to_server(bstr("msgtext")); serv_puts("000"); if (regoto) { smart_goto(WC->CurRoom.name); } else { AppendImportantMessage(description, -1); AppendImportantMessage(_(" has been saved."), -1); display_main_menu(); return; } } void display_editinfo(void){ display_edit(_("Room info"), "EINF 0", "RINF", "editinfo", 1);} void editinfo(void) {save_edit(_("Room info"), "EINF 1", 1);} void display_editbio(void) { char buf[SIZ]; snprintf(buf, SIZ, "RBIO %s", ChrPtr(WC->wc_fullname)); display_edit(_("Your bio"), "NOOP", buf, "editbio", 3); } void editbio(void) { save_edit(_("Your bio"), "EBIO", 0); } void InitModule_SYSMSG (void) { WebcitAddUrlHandler(HKEY("display_editinfo"), "", 0, display_editinfo, 0); WebcitAddUrlHandler(HKEY("editinfo"), "", 0, editinfo, 0); WebcitAddUrlHandler(HKEY("display_editbio"), "", 0, display_editbio, 0); WebcitAddUrlHandler(HKEY("editbio"), "", 0, editbio, 0); } webcit-9.01-dfsg/tabs.c000066400000000000000000000114411254743150300147430ustar00rootroot00000000000000#include #define SHOW_ME_VAPPEND_PRINTF #include "webcit.h" /* * print tabbed dialog */ void tabbed_dialog(int num_tabs, char *tabnames[]) { int i; StrBufAppendPrintf(WC->trailing_javascript, "var previously_selected_tab = '0'; \n" "function tabsel(which_tab) { \n" " if (which_tab == previously_selected_tab) { \n" " return; \n" " } \n" " $('tabdiv'+previously_selected_tab).style.display = 'none'; \n" " $('tabdiv'+which_tab).style.display = 'block'; \n" " $('tabtd'+previously_selected_tab).className = 'tab_cell_edit'; \n" " $('tabtd'+which_tab).className = 'tab_cell_label'; \n" " previously_selected_tab = which_tab; \n" "} \n" ); wc_printf("" "" ); for (i=0; i", i, ( (i==0) ? "tab_cell_label" : "tab_cell_edit" ), i ); wc_printf("%s", tabnames[i]); wc_printf(""); wc_printf("\n"); } wc_printf("
      
    \n"); } /* * print the tab-header * * tabnum: number of the tab to print * num_tabs: total number oftabs to be printed * */ void begin_tab(int tabnum, int num_tabs) { if (tabnum == num_tabs) { wc_printf("\n"); wc_printf("
    "); } else { wc_printf("\n", tabnum, num_tabs); wc_printf("
    ", tabnum, ( (tabnum == 0) ? "block" : "none" ) ); } } /* * print the tab-footer * tabnum: number of the tab to print * num_tabs: total number of tabs to be printed * */ void end_tab(int tabnum, int num_tabs) { if (tabnum == num_tabs) { wc_printf("
    \n"); wc_printf("\n"); } else { wc_printf("
    \n"); wc_printf("\n", tabnum, num_tabs); } } /* * print tabbed dialog */ void StrTabbedDialog(StrBuf *Target, int num_tabs, StrBuf *tabnames[]) { int i; StrBufAppendBufPlain( Target, HKEY( " \n" ), 0); StrBufAppendBufPlain( Target, HKEY( "" "" ), 0); for (i=0; i", i, ( (i==0) ? "tab_cell_label" : "tab_cell_edit" ), i ); StrBufAppendBuf(Target, tabnames[i], 0); StrBufAppendBufPlain( Target, HKEY( "" "\n"), 0); } StrBufAppendBufPlain( Target, HKEY("
      
    \n"), 0); } /* * print the tab-header * * tabnum: number of the tab to print * num_tabs: total number oftabs to be printed * */ void StrBeginTab(StrBuf *Target, int tabnum, int num_tabs, StrBuf **Names) { if (tabnum == num_tabs) { StrBufAppendBufPlain( Target, HKEY("\n
    "), 0); } else { StrBufAppendBufPlain( Target, HKEY("\n
    ", tabnum, ( (tabnum == 0) ? "block" : "none" ) ); } } /* * print the tab-footer * tabnum: number of the tab to print * num_tabs: total number of tabs to be printed * */ void StrEndTab(StrBuf *Target, int tabnum, int num_tabs) { if (tabnum == num_tabs) { StrBufAppendBufPlain( Target, HKEY( "
    \n" "\n"), 0); } else { StrBufAppendPrintf( Target, "
    \n", "\n", tabnum, num_tabs ); } if (HAVEBSTR("last_tabsel")) { StrBufAppendPrintf(Target, "", BSTR("last_tabsel")); } } webcit-9.01-dfsg/tasks.c000066400000000000000000000501671254743150300151470ustar00rootroot00000000000000#include "webcit.h" #include "calendar.h" #include "webserver.h" /* * qsort filter to move completed tasks to bottom of task list */ int task_completed_cmp(const void *vtask1, const void *vtask2) { disp_cal * Task1 = (disp_cal *)GetSearchPayload(vtask1); /* disp_cal * Task2 = (disp_cal *)GetSearchPayload(vtask2); */ icalproperty_status t1 = icalcomponent_get_status((Task1)->cal); /* icalproperty_status t2 = icalcomponent_get_status(((struct disp_cal *)task2)->cal); */ if (t1 == ICAL_STATUS_COMPLETED) return 1; return 0; } /* * Helper function for do_tasks_view(). Returns the due date/time of a vtodo. */ time_t get_task_due_date(icalcomponent *vtodo, int *is_date) { icalproperty *p; if (vtodo == NULL) { return(0L); } /* * If we're looking at a fully encapsulated VCALENDAR * rather than a VTODO component, recurse into the data * structure until we get a VTODO. */ if (icalcomponent_isa(vtodo) == ICAL_VCALENDAR_COMPONENT) { return get_task_due_date( icalcomponent_get_first_component( vtodo, ICAL_VTODO_COMPONENT ), is_date ); } p = icalcomponent_get_first_property(vtodo, ICAL_DUE_PROPERTY); if (p != NULL) { struct icaltimetype t = icalproperty_get_due(p); if (is_date) *is_date = t.is_date; return(icaltime_as_timet(t)); } else { return(0L); } } /* * Compare the due dates of two tasks (this is for sorting) */ int task_due_cmp(const void *vtask1, const void *vtask2) { disp_cal * Task1 = (disp_cal *)GetSearchPayload(vtask1); disp_cal * Task2 = (disp_cal *)GetSearchPayload(vtask2); time_t t1; time_t t2; t1 = get_task_due_date(Task1->cal, NULL); t2 = get_task_due_date(Task2->cal, NULL); if (t1 < t2) return(-1); if (t1 > t2) return(1); return(0); } /* * do the whole task view stuff */ int tasks_RenderView_or_Tail(SharedMessageStatus *Stat, void **ViewSpecific, long oper) { long hklen; const char *HashKey; void *vCal; disp_cal *Cal; HashPos *Pos; int nItems; time_t due; char buf[SIZ]; icalproperty *p; wcsession *WCC = WC; wc_printf("\n\n\n", _("Show All")); nItems = GetCount(WC->disp_cal_items); /* Sort them if necessary if (nItems > 1) { SortByPayload(WC->disp_cal_items, task_due_cmp); } * this shouldn't be neccessary, since we sort by the start time. */ /* And then again, by completed */ if (nItems > 1) { SortByPayload(WC->disp_cal_items, task_completed_cmp); } Pos = GetNewHashPos(WCC->disp_cal_items, 0); while (GetNextHashPos(WCC->disp_cal_items, Pos, &hklen, &HashKey, &vCal)) { icalproperty_status todoStatus; int is_date; Cal = (disp_cal*)vCal; wc_printf("\n"); due = get_task_due_date(Cal->cal, &is_date); wc_printf(""); wc_printf(""); wc_printf(""); } wc_printf("
    "); wc_printf(_("Completed?")); wc_printf(""); wc_printf(_("Name of task")); wc_printf(""); wc_printf(_("Date due")); wc_printf(""); wc_printf(_("Category")); wc_printf(" ()
    "); todoStatus = icalcomponent_get_status(Cal->cal); wc_printf("\n"); p = icalcomponent_get_first_property(Cal->cal, ICAL_SUMMARY_PROPERTY); wc_printf("cal_msgnum); urlescputs(ChrPtr(WC->CurRoom.name)); wc_printf("\">"); /* wc_printf(" "); */ if (p != NULL) { escputs((char *)icalproperty_get_comment(p)); } wc_printf("\n"); wc_printf(" 0) { webcit_fmt_date(buf, SIZ, due, is_date ? DATEFMT_RAWDATE : DATEFMT_FULL); wc_printf(">%s",buf); } else { wc_printf(">"); } wc_printf(""); p = icalcomponent_get_first_property(Cal->cal, ICAL_CATEGORIES_PROPERTY); if (p != NULL) { escputs((char *)icalproperty_get_categories(p)); } wc_printf("
    \n"); /* Free the list */ DeleteHash(&WC->disp_cal_items); DeleteHashPos(&Pos); return 0; } /* * Display a task by itself (for editing) */ void display_edit_individual_task(icalcomponent *supplied_vtodo, long msgnum, char *from, int unread, calview *calv) { wcsession *WCC = WC; icalcomponent *vtodo; icalproperty *p; struct icaltimetype IcalTime; int created_new_vtodo = 0; icalproperty_status todoStatus; if (supplied_vtodo != NULL) { vtodo = supplied_vtodo; /* * It's safe to convert to UTC here because there are no recurrences to worry about. */ ical_dezonify(vtodo); /* * If we're looking at a fully encapsulated VCALENDAR * rather than a VTODO component, attempt to use the first * relevant VTODO subcomponent. If there is none, the * NULL returned by icalcomponent_get_first_component() will * tell the next iteration of this function to create a * new one. */ if (icalcomponent_isa(vtodo) == ICAL_VCALENDAR_COMPONENT) { display_edit_individual_task( icalcomponent_get_first_component( vtodo, ICAL_VTODO_COMPONENT ), msgnum, from, unread, calv ); return; } } else { vtodo = icalcomponent_new(ICAL_VTODO_COMPONENT); created_new_vtodo = 1; } /* TODO: Can we take all this and move it into a template? */ output_headers(1, 1, 1, 0, 0, 0); wc_printf(""); p = icalcomponent_get_first_property(vtodo, ICAL_SUMMARY_PROPERTY); /* Get summary early for title */ wc_printf("
    \n"); wc_printf("
    "); wc_printf(_("Edit task")); wc_printf("- "); if (p != NULL) { escputs((char *)icalproperty_get_comment(p)); } wc_printf("
    "); wc_printf("
    \n"); wc_printf("
    \n"); wc_printf("
    \n "); wc_printf("WBuf, WCC->CurRoom.name, NULL, 0, 0); wc_printf("\">\n"); wc_printf("\n", WC->nonce); wc_printf("\n", msgnum); wc_printf("\n", ibstr("return_to_summary")); wc_printf("
    "); wc_printf("
    "); wc_printf("\n"); wc_printf("\n"); wc_printf("\n"); wc_printf("\n"); todoStatus = icalcomponent_get_status(vtodo); wc_printf(""); /* start category field */ p = icalcomponent_get_first_property(vtodo, ICAL_CATEGORIES_PROPERTY); wc_printf("\n "); /* end category field */ wc_printf("
    "); wc_printf(_("Summary:")); wc_printf("" "
    "); wc_printf(_("Start date:")); wc_printf(""); p = icalcomponent_get_first_property(vtodo, ICAL_DTSTART_PROPERTY); wc_printf(""); wc_printf(_("No date")); wc_printf(" "); wc_printf(""); wc_printf(_("or")); wc_printf(" "); if (p != NULL) { IcalTime = icalproperty_get_dtstart(p); } else IcalTime = icaltime_current_time_with_zone(get_default_icaltimezone()); display_icaltimetype_as_webform(&IcalTime, "dtstart", 0); wc_printf(""); wc_printf(_("Time associated")); wc_printf("
    "); wc_printf(_("Due date:")); wc_printf(""); p = icalcomponent_get_first_property(vtodo, ICAL_DUE_PROPERTY); wc_printf(""); wc_printf(_("No date")); wc_printf(" "); wc_printf("\n"); wc_printf(_("or")); wc_printf(" "); if (p != NULL) { IcalTime = icalproperty_get_due(p); } else IcalTime = icaltime_current_time_with_zone(get_default_icaltimezone()); display_icaltimetype_as_webform(&IcalTime, "due", 0); wc_printf(""); wc_printf(_("Time associated")); wc_printf("
    \n"); wc_printf(_("Completed:")); wc_printf(""); wc_printf(""); wc_printf("
    "); wc_printf(_("Category:")); wc_printf(""); wc_printf(""); wc_printf("
    "); wc_printf(_("Description:")); wc_printf(""); wc_printf("
    \n"); wc_printf("" "" "  " "\n" "  " "\n" "\n", _("Save"), _("Delete"), _("Cancel") ); wc_printf("
    "); wc_printf("
    \n"); wc_printf("
    \n"); wc_printf(""); wDumpContent(1); if (created_new_vtodo) { icalcomponent_free(vtodo); } } /* * Save an edited task * * supplied_vtodo the task to save * msgnum number of the mesage in our db */ void save_individual_task(icalcomponent *supplied_vtodo, long msgnum, char* from, int unread, calview *calv) { char buf[SIZ]; int delete_existing = 0; icalproperty *prop; icalcomponent *vtodo, *encaps; int created_new_vtodo = 0; int i; int sequence = 0; struct icaltimetype t; if (supplied_vtodo != NULL) { vtodo = supplied_vtodo; /** * If we're looking at a fully encapsulated VCALENDAR * rather than a VTODO component, attempt to use the first * relevant VTODO subcomponent. If there is none, the * NULL returned by icalcomponent_get_first_component() will * tell the next iteration of this function to create a * new one. */ if (icalcomponent_isa(vtodo) == ICAL_VCALENDAR_COMPONENT) { save_individual_task( icalcomponent_get_first_component( vtodo, ICAL_VTODO_COMPONENT), msgnum, from, unread, calv ); return; } } else { vtodo = icalcomponent_new(ICAL_VTODO_COMPONENT); created_new_vtodo = 1; } if (havebstr("save_button")) { /** Replace values in the component with ones from the form */ while (prop = icalcomponent_get_first_property(vtodo, ICAL_SUMMARY_PROPERTY), prop != NULL) { icalcomponent_remove_property(vtodo, prop); icalproperty_free(prop); } if (havebstr("summary")) { icalcomponent_add_property(vtodo, icalproperty_new_summary(bstr("summary"))); } else { icalcomponent_add_property(vtodo, icalproperty_new_summary(_("Untitled Task"))); } while (prop = icalcomponent_get_first_property(vtodo, ICAL_DESCRIPTION_PROPERTY), prop != NULL) { icalcomponent_remove_property(vtodo, prop); icalproperty_free(prop); } if (havebstr("description")) { icalcomponent_add_property(vtodo, icalproperty_new_description(bstr("description"))); } while (prop = icalcomponent_get_first_property(vtodo, ICAL_DTSTART_PROPERTY), prop != NULL) { icalcomponent_remove_property(vtodo, prop); icalproperty_free(prop); } if (IsEmptyStr(bstr("nodtstart"))) { if (yesbstr("dtstart_time")) { icaltime_from_webform(&t, "dtstart"); } else { icaltime_from_webform_dateonly(&t, "dtstart"); } icalcomponent_add_property(vtodo, icalproperty_new_dtstart(t) ); } while(prop = icalcomponent_get_first_property(vtodo, ICAL_STATUS_PROPERTY), prop != NULL) { icalcomponent_remove_property(vtodo,prop); icalproperty_free(prop); } while(prop = icalcomponent_get_first_property(vtodo, ICAL_PERCENTCOMPLETE_PROPERTY), prop != NULL) { icalcomponent_remove_property(vtodo,prop); icalproperty_free(prop); } if (havebstr("status")) { icalproperty_status taskStatus = icalproperty_string_to_status(bstr("status")); icalcomponent_set_status(vtodo, taskStatus); icalcomponent_add_property(vtodo, icalproperty_new_percentcomplete( (strcasecmp(bstr("status"), "completed") ? 0 : 100) ) ); } else { icalcomponent_add_property(vtodo, icalproperty_new_percentcomplete(0)); } while (prop = icalcomponent_get_first_property(vtodo, ICAL_CATEGORIES_PROPERTY), prop != NULL) { icalcomponent_remove_property(vtodo,prop); icalproperty_free(prop); } if (!IsEmptyStr(bstr("category"))) { prop = icalproperty_new_categories(bstr("category")); icalcomponent_add_property(vtodo,prop); } while (prop = icalcomponent_get_first_property(vtodo, ICAL_DUE_PROPERTY), prop != NULL) { icalcomponent_remove_property(vtodo, prop); icalproperty_free(prop); } if (IsEmptyStr(bstr("nodue"))) { if (yesbstr("due_time")) { icaltime_from_webform(&t, "due"); } else { icaltime_from_webform_dateonly(&t, "due"); } icalcomponent_add_property(vtodo, icalproperty_new_due(t) ); } /** Give this task a UID if it doesn't have one. */ syslog(LOG_DEBUG, "Give this task a UID if it doesn't have one.\n"); if (icalcomponent_get_first_property(vtodo, ICAL_UID_PROPERTY) == NULL) { generate_uuid(buf); icalcomponent_add_property(vtodo, icalproperty_new_uid(buf) ); } /* Increment the sequence ID */ syslog(LOG_DEBUG, "Increment the sequence ID\n"); while (prop = icalcomponent_get_first_property(vtodo, ICAL_SEQUENCE_PROPERTY), (prop != NULL) ) { i = icalproperty_get_sequence(prop); syslog(LOG_DEBUG, "Sequence was %d\n", i); if (i > sequence) sequence = i; icalcomponent_remove_property(vtodo, prop); icalproperty_free(prop); } ++sequence; syslog(LOG_DEBUG, "New sequence is %d. Adding...\n", sequence); icalcomponent_add_property(vtodo, icalproperty_new_sequence(sequence) ); /* * Encapsulate event into full VCALENDAR component. Clone it first, * for two reasons: one, it's easier to just free the whole thing * when we're done instead of unbundling, but more importantly, we * can't encapsulate something that may already be encapsulated * somewhere else. */ syslog(LOG_DEBUG, "Encapsulating into a full VCALENDAR component\n"); encaps = ical_encapsulate_subcomponent(icalcomponent_new_clone(vtodo)); /* Serialize it and save it to the message base */ serv_puts("ENT0 1|||4"); serv_getln(buf, sizeof buf); if (buf[0] == '4') { serv_puts("Content-type: text/calendar"); serv_puts(""); serv_puts(icalcomponent_as_ical_string(encaps)); serv_puts("000"); /* * Probably not necessary; the server will see the UID * of the object and delete the old one anyway, but * just in case... */ delete_existing = 1; } icalcomponent_free(encaps); } /** * If the user clicked 'Delete' then explicitly delete the message. */ if (havebstr("delete_button")) { delete_existing = 1; } if ( (delete_existing) && (msgnum > 0L) ) { serv_printf("DELE %ld", lbstr("msgnum")); serv_getln(buf, sizeof buf); } if (created_new_vtodo) { icalcomponent_free(vtodo); } /* Go back to wherever we came from */ if (ibstr("return_to_summary") == 1) { display_summary_page(); } else { readloop(readfwd, eUseDefault); } } /* * free memory allocated using libical */ void delete_task(void *vCal) { disp_cal *Cal = (disp_cal*) vCal; icalcomponent_free(Cal->cal); free(Cal->from); free(Cal); } /* * Load a Task into a hash table for later display. */ void load_task(icalcomponent *event, long msgnum, char *from, int unread, calview *calv) { icalproperty *ps = NULL; struct icaltimetype dtstart, dtend; wcsession *WCC = WC; disp_cal *Cal; size_t len; icalcomponent *cptr = NULL; dtstart = icaltime_null_time(); dtend = icaltime_null_time(); if (WCC->disp_cal_items == NULL) { WCC->disp_cal_items = NewHash(0, Flathash); } Cal = (disp_cal*) malloc(sizeof(disp_cal)); memset(Cal, 0, sizeof(disp_cal)); Cal->cal = icalcomponent_new_clone(event); /* Dezonify and decapsulate at the very last moment */ ical_dezonify(Cal->cal); if (icalcomponent_isa(Cal->cal) != ICAL_VTODO_COMPONENT) { cptr = icalcomponent_get_first_component(Cal->cal, ICAL_VTODO_COMPONENT); if (cptr) { cptr = icalcomponent_new_clone(cptr); icalcomponent_free(Cal->cal); Cal->cal = cptr; } } Cal->unread = unread; len = strlen(from); Cal->from = (char*)malloc(len+ 1); memcpy(Cal->from, from, len + 1); Cal->cal_msgnum = msgnum; /* Precalculate the starting date and time of this event, and store it in our top-level * structure. Later, when we are rendering the calendar, we can just peek at these values * without having to break apart every calendar item. */ ps = icalcomponent_get_first_property(Cal->cal, ICAL_DTSTART_PROPERTY); if (ps != NULL) { dtstart = icalproperty_get_dtstart(ps); Cal->event_start = icaltime_as_timet(dtstart); } /* Do the same for the ending date and time. It makes the day view much easier to render. */ ps = icalcomponent_get_first_property(Cal->cal, ICAL_DTEND_PROPERTY); if (ps != NULL) { dtend = icalproperty_get_dtend(ps); Cal->event_end = icaltime_as_timet(dtend); } /* Store it in the hash list. */ /* syslog(LOG_DEBUG, "INITIAL: %s", ctime(&Cal->event_start)); */ Put(WCC->disp_cal_items, (char*) &Cal->event_start, sizeof(Cal->event_start), Cal, delete_task ); } /* * Display task view */ int tasks_LoadMsgFromServer(SharedMessageStatus *Stat, void **ViewSpecific, message_summary* Msg, int is_new, int i) { /* Not (yet?) needed here? calview *c = (calview *) *ViewSpecific; */ load_ical_object(Msg->msgnum, is_new, ICAL_VTODO_COMPONENT, load_task, NULL, 0); return 0; } /* * Display the editor component for a task */ void display_edit_task(void) { long msgnum = 0L; /* Force change the room if we have to */ if (havebstr("taskrm")) { gotoroom(sbstr("taskrm")); } msgnum = lbstr("msgnum"); if (msgnum > 0L) { /* existing task */ load_ical_object(msgnum, 0, ICAL_VTODO_COMPONENT, display_edit_individual_task, NULL, 0 ); } else { /* new task */ display_edit_individual_task(NULL, 0L, "", 0, NULL); } } /* * save an edited task */ void save_task(void) { long msgnum = 0L; msgnum = lbstr("msgnum"); if (msgnum > 0L) { load_ical_object(msgnum, 0, ICAL_VTODO_COMPONENT, save_individual_task, NULL, 0); } else { save_individual_task(NULL, 0L, "", 0, NULL); } } int tasks_GetParamsGetServerCall(SharedMessageStatus *Stat, void **ViewSpecific, long oper, char *cmd, long len, char *filter, long flen) { strcpy(cmd, "MSGS ALL"); Stat->maxmsgs = 32767; return 200; } int tasks_Cleanup(void **ViewSpecific) { wDumpContent(1); /* Tasks doesn't need the calview struct... free (*ViewSpecific); *ViewSpecific = NULL; */ return 0; } void InitModule_TASKS (void) { RegisterReadLoopHandlerset( VIEW_TASKS, tasks_GetParamsGetServerCall, NULL, NULL, NULL, tasks_LoadMsgFromServer, tasks_RenderView_or_Tail, tasks_Cleanup); WebcitAddUrlHandler(HKEY("save_task"), "", 0, save_task, 0); } webcit-9.01-dfsg/tcp_sockets.c000066400000000000000000000701371254743150300163420ustar00rootroot00000000000000/* * Copyright (c) 1987-2012 by the citadel.org team * * This program is open source software; you can redistribute it and/or modify * it under the terms of the GNU General Public License, version 3. * * 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. */ /* * Uncomment this to log all communications with the Citadel server #define SERV_TRACE 1 */ #include "webcit.h" #include "webserver.h" long MaxRead = -1; /* should we do READ scattered or all at once? */ /* * register the timeout */ RETSIGTYPE timeout(int signum) { syslog(LOG_WARNING, "Connection timed out; unable to reach citserver\n"); /* no exit here, since we need to server the connection unreachable thing. exit(3); */ } /* * Client side - connect to a unix domain socket */ int uds_connectsock(char *sockpath) { struct sockaddr_un addr; int s; memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_UNIX; strncpy(addr.sun_path, sockpath, sizeof addr.sun_path); s = socket(AF_UNIX, SOCK_STREAM, 0); if (s < 0) { syslog(LOG_WARNING, "Can't create socket [%s]: %s\n", sockpath, strerror(errno)); return(-1); } if (connect(s, (struct sockaddr *) &addr, sizeof(addr)) < 0) { syslog(LOG_WARNING, "Can't connect [%s]: %s\n", sockpath, strerror(errno)); close(s); return(-1); } return s; } /* * TCP client - connect to a host/port */ int tcp_connectsock(char *host, char *service) { struct in6_addr serveraddr; struct addrinfo hints; struct addrinfo *res = NULL; struct addrinfo *ai = NULL; int rc = (-1); int s = (-1); if ((host == NULL) || IsEmptyStr(host)) return (-1); if ((service == NULL) || IsEmptyStr(service)) return (-1); syslog(LOG_DEBUG, "tcp_connectsock(%s,%s)\n", host, service); memset(&hints, 0x00, sizeof(hints)); hints.ai_flags = AI_NUMERICSERV; hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_STREAM; /* * Handle numeric IPv4 and IPv6 addresses */ rc = inet_pton(AF_INET, host, &serveraddr); if (rc == 1) { /* dotted quad */ hints.ai_family = AF_INET; hints.ai_flags |= AI_NUMERICHOST; } else { rc = inet_pton(AF_INET6, host, &serveraddr); if (rc == 1) { /* IPv6 address */ hints.ai_family = AF_INET6; hints.ai_flags |= AI_NUMERICHOST; } } /* Begin the connection process */ rc = getaddrinfo(host, service, &hints, &res); if (rc != 0) { syslog(LOG_DEBUG, "%s: %s\n", host, gai_strerror(rc)); freeaddrinfo(res); return(-1); } /* * Try all available addresses until we connect to one or until we run out. */ for (ai = res; ai != NULL; ai = ai->ai_next) { if (ai->ai_family == AF_INET) syslog(LOG_DEBUG, "Trying IPv4\n"); else if (ai->ai_family == AF_INET6) syslog(LOG_DEBUG, "Trying IPv6\n"); else syslog(LOG_WARNING, "This is going to fail.\n"); s = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol); if (s < 0) { syslog(LOG_WARNING, "socket() failed: %s\n", strerror(errno)); freeaddrinfo(res); return(-1); } rc = connect(s, ai->ai_addr, ai->ai_addrlen); if (rc >= 0) { int fdflags; freeaddrinfo(res); fdflags = fcntl(rc, F_GETFL); if (fdflags < 0) { syslog(LOG_ERR, "unable to get socket %d flags! %s \n", rc, strerror(errno)); close(rc); return -1; } fdflags = fdflags | O_NONBLOCK; if (fcntl(rc, F_SETFL, fdflags) < 0) { syslog(LOG_ERR, "unable to set socket %d nonblocking flags! %s \n", rc, strerror(errno)); close(s); return -1; } return(s); } else { syslog(LOG_WARNING, "connect() failed: %s\n", strerror(errno)); close(s); } } freeaddrinfo(res); return(-1); } /* * input string from pipe */ int serv_getln(char *strbuf, int bufsize) { wcsession *WCC = WC; int len; *strbuf = '\0'; StrBuf_ServGetln(WCC->MigrateReadLineBuf); len = StrLength(WCC->MigrateReadLineBuf); if (len > bufsize) len = bufsize - 1; memcpy(strbuf, ChrPtr(WCC->MigrateReadLineBuf), len); FlushStrBuf(WCC->MigrateReadLineBuf); strbuf[len] = '\0'; #ifdef SERV_TRACE syslog(LOG_DEBUG, "%3d<<<%s\n", WCC->serv_sock, strbuf); #endif return len; } int StrBuf_ServGetln(StrBuf *buf) { wcsession *WCC = WC; const char *ErrStr = NULL; int rc; if (!WCC->connected) return -1; FlushStrBuf(buf); rc = StrBufTCP_read_buffered_line_fast(buf, WCC->ReadBuf, &WCC->ReadPos, &WCC->serv_sock, 5, 1, &ErrStr); if (rc < 0) { syslog(LOG_INFO, "StrBuf_ServGetln(): Server connection broken: %s\n", (ErrStr)?ErrStr:""); wc_backtrace(LOG_INFO); if (WCC->serv_sock > 0) close(WCC->serv_sock); WCC->serv_sock = (-1); WCC->connected = 0; WCC->logged_in = 0; } #ifdef SERV_TRACE else { long pos = 0; if (WCC->ReadPos != NULL) pos = WCC->ReadPos - ChrPtr(WCC->ReadBuf); syslog(LOG_DEBUG, "%3d<<<[%ld]%s\n", WC->serv_sock, pos, ChrPtr(buf)); } #endif return rc; } int StrBuf_ServGetBLOBBuffered(StrBuf *buf, long BlobSize) { wcsession *WCC = WC; const char *ErrStr; int rc; rc = StrBufReadBLOBBuffered(buf, WCC->ReadBuf, &WCC->ReadPos, &WCC->serv_sock, 1, BlobSize, NNN_TERM, &ErrStr); if (rc < 0) { syslog(LOG_INFO, "StrBuf_ServGetBLOBBuffered(): Server connection broken: %s\n", (ErrStr)?ErrStr:""); wc_backtrace(LOG_INFO); if (WCC->serv_sock > 0) close(WCC->serv_sock); WCC->serv_sock = (-1); WCC->connected = 0; WCC->logged_in = 0; } #ifdef SERV_TRACE else syslog(LOG_DEBUG, "%3d<<serv_sock, StrLength(buf)); #endif return rc; } int StrBuf_ServGetBLOB(StrBuf *buf, long BlobSize) { wcsession *WCC = WC; const char *ErrStr; int rc; WCC->ReadPos = NULL; rc = StrBufReadBLOB(buf, &WCC->serv_sock, 1, BlobSize, &ErrStr); if (rc < 0) { syslog(LOG_INFO, "StrBuf_ServGetBLOB(): Server connection broken: %s\n", (ErrStr)?ErrStr:""); wc_backtrace(LOG_INFO); if (WCC->serv_sock > 0) close(WCC->serv_sock); WCC->serv_sock = (-1); WCC->connected = 0; WCC->logged_in = 0; } #ifdef SERV_TRACE else syslog(LOG_DEBUG, "%3d<<serv_sock, StrLength(buf)); #endif return rc; } void FlushReadBuf (void) { long len; const char *pch; const char *pche; wcsession *WCC = WC; len = StrLength(WCC->ReadBuf); if ((len > 0) && (WCC->ReadPos != NULL) && (WCC->ReadPos != StrBufNOTNULL)) { pch = ChrPtr(WCC->ReadBuf); pche = pch + len; if (WCC->ReadPos != pche) { syslog(LOG_EMERG, "ERROR: somebody didn't eat his soup! Remaing Chars: %ld [%s]\n", (long)(pche - WCC->ReadPos), pche ); syslog(LOG_EMERG, "--------------------------------------------------------------------------------\n" "Whole buf: [%s]\n" "--------------------------------------------------------------------------------\n", pch); AppendImportantMessage(HKEY("Suppenkasper alert! watch your webcit logfile and get connected to your favourite opensource Crew.")); } } FlushStrBuf(WCC->ReadBuf); WCC->ReadPos = NULL; } /* * send binary to server * buf the buffer to write to citadel server * nbytes how many bytes to send to citadel server */ int serv_write(const char *buf, int nbytes) { wcsession *WCC = WC; int bytes_written = 0; int retval; FlushReadBuf(); while (bytes_written < nbytes) { retval = write(WCC->serv_sock, &buf[bytes_written], nbytes - bytes_written); if (retval < 1) { const char *ErrStr = strerror(errno); syslog(LOG_INFO, "serv_write(): Server connection broken: %s\n", (ErrStr)?ErrStr:""); if (WCC->serv_sock > 0) close(WCC->serv_sock); WCC->serv_sock = (-1); WCC->connected = 0; WCC->logged_in = 0; return 0; } bytes_written = bytes_written + retval; } return 1; } /* * send line to server * string the line to send to the citadel server */ int serv_puts(const char *string) { #ifdef SERV_TRACE syslog(LOG_DEBUG, "%3d>>>%s\n", WC->serv_sock, string); #endif FlushReadBuf(); if (!serv_write(string, strlen(string))) return 0; return serv_write("\n", 1); } /* * send line to server * string the line to send to the citadel server */ int serv_putbuf(const StrBuf *string) { #ifdef SERV_TRACE syslog(LOG_DEBUG, "%3d>>>%s\n", WC->serv_sock, ChrPtr(string)); #endif FlushReadBuf(); if (!serv_write(ChrPtr(string), StrLength(string))) return 0; return serv_write("\n", 1); } /* * convenience function to send stuff to the server * format the formatstring * ... the entities to insert into format */ int serv_printf(const char *format,...) { va_list arg_ptr; char buf[SIZ]; size_t len; int rc; FlushReadBuf(); va_start(arg_ptr, format); vsnprintf(buf, sizeof buf, format, arg_ptr); va_end(arg_ptr); len = strlen(buf); buf[len++] = '\n'; buf[len] = '\0'; rc = serv_write(buf, len); #ifdef SERV_TRACE syslog(LOG_DEBUG, ">>>%s", buf); #endif return rc; } /* * Read binary data from server into memory using a series of server READ commands. * returns the read content as StrBuf */ int serv_read_binary(StrBuf *Ret, size_t total_len, StrBuf *Buf) { wcsession *WCC = WC; size_t bytes_read = 0; size_t this_block = 0; int rc = 6; int ServerRc = 6; if (Ret == NULL) { return -1; } while ((bytes_read < total_len) && (ServerRc == 6)) { if (WCC->serv_sock==-1) { FlushStrBuf(Ret); return -1; } serv_printf("READ "SIZE_T_FMT"|"SIZE_T_FMT, bytes_read, total_len-bytes_read); if ( (rc = StrBuf_ServGetln(Buf) > 0) && (ServerRc = GetServerStatus(Buf, NULL), ServerRc == 6) ) { if (rc < 0) return rc; StrBufCutLeft(Buf, 4); this_block = StrTol(Buf); rc = StrBuf_ServGetBLOBBuffered(Ret, this_block); if (rc < 0) { syslog(LOG_INFO, "Server connection broken during download\n"); wc_backtrace(LOG_INFO); if (WCC->serv_sock > 0) close(WCC->serv_sock); WCC->serv_sock = (-1); WCC->connected = 0; WCC->logged_in = 0; return rc; } bytes_read += rc; } } return StrLength(Ret); } int client_write(StrBuf *ThisBuf) { wcsession *WCC = WC; const char *ptr, *eptr; long count; ssize_t res = 0; fd_set wset; int fdflags; ptr = ChrPtr(ThisBuf); count = StrLength(ThisBuf); eptr = ptr + count; fdflags = fcntl(WC->Hdr->http_sock, F_GETFL); while ((ptr < eptr) && (WCC->Hdr->http_sock != -1)) { if ((fdflags & O_NONBLOCK) == O_NONBLOCK) { FD_ZERO(&wset); FD_SET(WCC->Hdr->http_sock, &wset); if (select(WCC->Hdr->http_sock + 1, NULL, &wset, NULL, NULL) == -1) { syslog(LOG_INFO, "client_write: Socket select failed (%s)\n", strerror(errno)); return -1; } } if ((WCC->Hdr->http_sock == -1) || ((res = write(WCC->Hdr->http_sock, ptr, count)), (res == -1))) { syslog(LOG_INFO, "client_write: Socket write failed (%s)\n", strerror(errno)); wc_backtrace(LOG_INFO); return -1; } count -= res; ptr += res; } return 0; } int read_serv_chunk( StrBuf *Buf, size_t total_len, size_t *bytes_read ) { int rc; int ServerRc; wcsession *WCC = WC; serv_printf("READ "SIZE_T_FMT"|"SIZE_T_FMT, *bytes_read, total_len-(*bytes_read)); if ( (rc = StrBuf_ServGetln(Buf) > 0) && (ServerRc = GetServerStatus(Buf, NULL), ServerRc == 6) ) { size_t this_block = 0; if (rc < 0) return rc; StrBufCutLeft(Buf, 4); this_block = StrTol(Buf); rc = StrBuf_ServGetBLOBBuffered(WCC->WBuf, this_block); if (rc < 0) { syslog(LOG_INFO, "Server connection broken during download\n"); wc_backtrace(LOG_INFO); if (WCC->serv_sock > 0) close(WCC->serv_sock); WCC->serv_sock = (-1); WCC->connected = 0; WCC->logged_in = 0; return rc; } *bytes_read += rc; } return 6; } static inline int send_http(StrBuf *Buf) { #ifdef HAVE_OPENSSL if (is_https) return client_write_ssl(Buf); else #endif return client_write(Buf); } /* * Read binary data from server into memory using a series of server READ commands. * returns the read content as StrBuf */ void serv_read_binary_to_http(StrBuf *MimeType, size_t total_len, int is_static, int detect_mime) { int ServerRc = 6; wcsession *WCC = WC; size_t bytes_read = 0; int first = 1; int client_con_state = 0; int chunked = 0; int is_gzip = 0; const char *Err = NULL; StrBuf *BufHeader = NULL; StrBuf *Buf; StrBuf *pBuf = NULL; vStreamT *SC = NULL; IOBuffer ReadBuffer; IOBuffer WriteBuffer; Buf = NewStrBuf(); if (WCC->Hdr->HaveRange) { WCC->Hdr->HaveRange++; WCC->Hdr->TotalBytes = total_len; /* open range? or beyound file border? correct the numbers. */ if ((WCC->Hdr->RangeTil == -1) || (WCC->Hdr->RangeTil>= total_len)) WCC->Hdr->RangeTil = total_len - 1; bytes_read = WCC->Hdr->RangeStart; total_len = WCC->Hdr->RangeTil; } else chunked = total_len > SIZ * 10; /* TODO: disallow for HTTP / 1.0 */ if (chunked) { BufHeader = NewStrBuf(); } if ((detect_mime != 0) && (bytes_read != 0)) { /* need to read first chunk to detect mime, though the client doesn't care */ size_t bytes_read = 0; const char *CT; ServerRc = read_serv_chunk( Buf, total_len, &bytes_read); if (ServerRc != 6) { FreeStrBuf(&BufHeader); FreeStrBuf(&Buf); return; } CT = GuessMimeType(SKEY(WCC->WBuf)); FlushStrBuf(WCC->WBuf); StrBufPlain(MimeType, CT, -1); CheckGZipCompressionAllowed(SKEY(MimeType)); detect_mime = 0; FreeStrBuf(&Buf); } memset(&WriteBuffer, 0, sizeof(IOBuffer)); if (chunked && !DisableGzip && WCC->Hdr->HR.gzip_ok) { is_gzip = 1; SC = StrBufNewStreamContext (eZLibEncode, &Err); if (SC == NULL) { syslog(LOG_ERR, "Error while initializing stream context: %s", Err); FreeStrBuf(&Buf); return; } memset(&ReadBuffer, 0, sizeof(IOBuffer)); ReadBuffer.Buf = WCC->WBuf; WriteBuffer.Buf = NewStrBufPlain(NULL, SIZ*2);; pBuf = WriteBuffer.Buf; } else { pBuf = WCC->WBuf; } if (!detect_mime) { http_transmit_headers(ChrPtr(MimeType), is_static, chunked, is_gzip); if (send_http(WCC->HBuf) < 0) { FreeStrBuf(&Buf); FreeStrBuf(&WriteBuffer.Buf); FreeStrBuf(&BufHeader); if (StrBufDestroyStreamContext(eZLibEncode, &SC, &Err) && Err) { syslog(LOG_ERR, "Error while destroying stream context: %s", Err); } return; } } while ((bytes_read < total_len) && (ServerRc == 6) && (client_con_state == 0)) { if (WCC->serv_sock==-1) { FlushStrBuf(WCC->WBuf); FreeStrBuf(&Buf); FreeStrBuf(&WriteBuffer.Buf); FreeStrBuf(&BufHeader); StrBufDestroyStreamContext(eZLibEncode, &SC, &Err); if (StrBufDestroyStreamContext(eZLibEncode, &SC, &Err) && Err) { syslog(LOG_ERR, "Error while destroying stream context: %s", Err); } return; } ServerRc = read_serv_chunk( Buf, total_len, &bytes_read); if (ServerRc != 6) break; if (detect_mime) { const char *CT; detect_mime = 0; CT = GuessMimeType(SKEY(WCC->WBuf)); StrBufPlain(MimeType, CT, -1); if (is_gzip) { CheckGZipCompressionAllowed(SKEY(MimeType)); is_gzip = WCC->Hdr->HR.gzip_ok; } http_transmit_headers(ChrPtr(MimeType), is_static, chunked, is_gzip); client_con_state = send_http(WCC->HBuf); } if (is_gzip) { int done = (bytes_read == total_len); while ((IOBufferStrLength(&ReadBuffer) > 0) && (client_con_state == 0)) { int rc; do { rc = StrBufStreamTranscode(eZLibEncode, &WriteBuffer, &ReadBuffer, NULL, -1, SC, done, &Err); if (StrLength (pBuf) > 0) { StrBufPrintf(BufHeader, "%s%x\r\n", (first)?"":"\r\n", StrLength (pBuf)); first = 0; client_con_state = send_http(BufHeader); if (client_con_state == 0) { client_con_state = send_http(pBuf); } FlushStrBuf(pBuf); } } while ((rc == 1) && (StrLength(pBuf) > 0)); } FlushStrBuf(WCC->WBuf); } else { if ((chunked) && (client_con_state == 0)) { StrBufPrintf(BufHeader, "%s%x\r\n", (first)?"":"\r\n", StrLength (pBuf)); first = 0; client_con_state = send_http(BufHeader); } if (client_con_state == 0) client_con_state = send_http(pBuf); FlushStrBuf(pBuf); } } if (SC && StrBufDestroyStreamContext(eZLibEncode, &SC, &Err) && Err) { syslog(LOG_ERR, "Error while destroying stream context: %s", Err); } FreeStrBuf(&WriteBuffer.Buf); if ((chunked) && (client_con_state == 0)) { StrBufPlain(BufHeader, HKEY("\r\n0\r\n\r\n")); if (send_http(BufHeader) < 0) { FreeStrBuf(&Buf); FreeStrBuf(&BufHeader); return; } } FreeStrBuf(&BufHeader); FreeStrBuf(&Buf); } int ClientGetLine(ParsedHttpHdrs *Hdr, StrBuf *Target) { const char *Error; #ifdef HAVE_OPENSSL const char *pch, *pchs; int rlen, len, retval = 0; if (is_https) { int ntries = 0; if (StrLength(Hdr->ReadBuf) > 0) { pchs = ChrPtr(Hdr->ReadBuf); pch = strchr(pchs, '\n'); if (pch != NULL) { rlen = 0; len = pch - pchs; if (len > 0 && (*(pch - 1) == '\r') ) rlen ++; StrBufSub(Target, Hdr->ReadBuf, 0, len - rlen); StrBufCutLeft(Hdr->ReadBuf, len + 1); return len - rlen; } } while (retval == 0) { pch = NULL; pchs = ChrPtr(Hdr->ReadBuf); if (*pchs != '\0') pch = strchr(pchs, '\n'); if (pch == NULL) { retval = client_read_sslbuffer(Hdr->ReadBuf, SLEEPING); pchs = ChrPtr(Hdr->ReadBuf); pch = strchr(pchs, '\n'); if (pch == NULL) retval = 0; } if (retval == 0) { sleeeeeeeeeep(1); ntries ++; } if (ntries > 10) return 0; } if ((retval > 0) && (pch != NULL)) { rlen = 0; len = pch - pchs; if (len > 0 && (*(pch - 1) == '\r') ) rlen ++; StrBufSub(Target, Hdr->ReadBuf, 0, len - rlen); StrBufCutLeft(Hdr->ReadBuf, len + 1); return len - rlen; } else return -1; } else #endif return StrBufTCP_read_buffered_line_fast(Target, Hdr->ReadBuf, &Hdr->Pos, &Hdr->http_sock, 5, 1, &Error); } /* * This is a generic function to set up a master socket for listening on * a TCP port. The server shuts down if the bind fails. (IPv4/IPv6 version) * * ip_addr IP address to bind * port_number port number to bind * queue_len number of incoming connections to allow in the queue */ int webcit_tcp_server(const char *ip_addr, int port_number, int queue_len) { const char *ipv4broadcast = "0.0.0.0"; int IsDefault = 0; struct protoent *p; struct sockaddr_in6 sin6; struct sockaddr_in sin4; int s, i, b; int ip_version = 6; retry: memset(&sin6, 0, sizeof(sin6)); memset(&sin4, 0, sizeof(sin4)); sin6.sin6_family = AF_INET6; sin4.sin_family = AF_INET; if ( (ip_addr == NULL) /* any IPv6 */ || (IsEmptyStr(ip_addr)) || (!strcmp(ip_addr, "*")) ) { IsDefault = 1; ip_version = 6; sin6.sin6_addr = in6addr_any; } else if (!strcmp(ip_addr, "0.0.0.0")) /* any IPv4 */ { ip_version = 4; sin4.sin_addr.s_addr = INADDR_ANY; } else if ((strchr(ip_addr, '.')) && (!strchr(ip_addr, ':'))) /* specific IPv4 */ { ip_version = 4; if (inet_pton(AF_INET, ip_addr, &sin4.sin_addr) <= 0) { syslog(LOG_WARNING, "Error binding to [%s] : %s\n", ip_addr, strerror(errno)); return (-WC_EXIT_BIND); } } else /* specific IPv6 */ { ip_version = 6; if (inet_pton(AF_INET6, ip_addr, &sin6.sin6_addr) <= 0) { syslog(LOG_WARNING, "Error binding to [%s] : %s\n", ip_addr, strerror(errno)); return (-WC_EXIT_BIND); } } if (port_number == 0) { syslog(LOG_WARNING, "Cannot start: no port number specified.\n"); return (-WC_EXIT_BIND); } sin6.sin6_port = htons((u_short) port_number); sin4.sin_port = htons((u_short) port_number); p = getprotobyname("tcp"); s = socket( ((ip_version == 6) ? PF_INET6 : PF_INET), SOCK_STREAM, (p->p_proto)); if (s < 0) { if (IsDefault && (errno == EAFNOSUPPORT)) { s = 0; ip_addr = ipv4broadcast; goto retry; } syslog(LOG_WARNING, "Can't create a listening socket: %s\n", strerror(errno)); return (-WC_EXIT_BIND); } /* Set some socket options that make sense. */ i = 1; setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &i, sizeof(i)); if (ip_version == 6) { b = bind(s, (struct sockaddr *) &sin6, sizeof(sin6)); } else { b = bind(s, (struct sockaddr *) &sin4, sizeof(sin4)); } if (b < 0) { syslog(LOG_EMERG, "Can't bind: %s\n", strerror(errno)); close(s); return (-WC_EXIT_BIND); } if (listen(s, queue_len) < 0) { syslog(LOG_EMERG, "Can't listen: %s\n", strerror(errno)); close(s); return (-WC_EXIT_BIND); } return (s); } /* * Create a Unix domain socket and listen on it * sockpath - file name of the unix domain socket * queue_len - Number of incoming connections to allow in the queue */ int webcit_uds_server(char *sockpath, int queue_len) { struct sockaddr_un addr; int s; int i; int actual_queue_len; actual_queue_len = queue_len; if (actual_queue_len < 5) actual_queue_len = 5; i = unlink(sockpath); if ((i != 0) && (errno != ENOENT)) { syslog(LOG_WARNING, "webcit: can't unlink %s: %s\n", sockpath, strerror(errno)); return (-WC_EXIT_BIND); } memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_UNIX; safestrncpy(addr.sun_path, sockpath, sizeof addr.sun_path); s = socket(AF_UNIX, SOCK_STREAM, 0); if (s < 0) { syslog(LOG_WARNING, "webcit: Can't create a unix domain socket: %s\n", strerror(errno)); return (-WC_EXIT_BIND); } if (bind(s, (struct sockaddr *)&addr, sizeof(addr)) < 0) { syslog(LOG_WARNING, "webcit: Can't bind: %s\n", strerror(errno)); close(s); return (-WC_EXIT_BIND); } if (listen(s, actual_queue_len) < 0) { syslog(LOG_WARNING, "webcit: Can't listen: %s\n", strerror(errno)); close(s); return (-WC_EXIT_BIND); } chmod(sockpath, 0777); return(s); } /* * Read data from the client socket. * * sock socket fd to read from * buf buffer to read into * bytes number of bytes to read * timeout Number of seconds to wait before timing out * * Possible return values: * 1 Requested number of bytes has been read. * 0 Request timed out. * -1 Connection is broken, or other error. */ int client_read_to(ParsedHttpHdrs *Hdr, StrBuf *Target, int bytes, int timeout) { const char *Error; int retval = 0; #ifdef HAVE_OPENSSL if (is_https) { long bufremain = 0; long baselen; baselen = StrLength(Target); if (Hdr->Pos == NULL) Hdr->Pos = ChrPtr(Hdr->ReadBuf); if (StrLength(Hdr->ReadBuf) > 0) { bufremain = StrLength(Hdr->ReadBuf) - (Hdr->Pos - ChrPtr(Hdr->ReadBuf)); if (bytes < bufremain) bufremain = bytes; StrBufAppendBufPlain(Target, Hdr->Pos, bufremain, 0); StrBufCutLeft(Hdr->ReadBuf, bufremain); } if (bytes > bufremain) { while ((StrLength(Hdr->ReadBuf) + StrLength(Target) < bytes + baselen) && (retval >= 0)) retval = client_read_sslbuffer(Hdr->ReadBuf, timeout); if (retval >= 0) { StrBufAppendBuf(Target, Hdr->ReadBuf, 0); /* todo: Buf > bytes? */ return 1; } else { syslog(LOG_INFO, "client_read_ssl() failed\n"); return -1; } } else return 1; } #endif retval = StrBufReadBLOBBuffered(Target, Hdr->ReadBuf, &Hdr->Pos, &Hdr->http_sock, 1, bytes, O_TERM, &Error); if (retval < 0) { syslog(LOG_INFO, "client_read() failed: %s\n", Error); wc_backtrace(LOG_DEBUG); return retval; } return 1; } /* * Begin buffering HTTP output so we can transmit it all in one write operation later. */ void begin_burst(void) { if (WC->WBuf == NULL) { WC->WBuf = NewStrBufPlain(NULL, 32768); } } /* * Finish buffering HTTP output. [Compress using zlib and] output with a Content-Length: header. */ long end_burst(void) { wcsession *WCC = WC; const char *ptr, *eptr; long count; ssize_t res = 0; fd_set wset; int fdflags; if (!DisableGzip && (WCC->Hdr->HR.gzip_ok)) { if (CompressBuffer(WCC->WBuf) > 0) hprintf("Content-encoding: gzip\r\n"); else { syslog(LOG_ALERT, "Compression failed: %d [%s] sending uncompressed\n", errno, strerror(errno)); wc_backtrace(LOG_INFO); } } if (WCC->WFBuf != NULL) { WildFireSerializePayload(WCC->WFBuf, WCC->HBuf, &WCC->Hdr->nWildfireHeaders, NULL); FreeStrBuf(&WCC->WFBuf); } if (WCC->Hdr->HR.prohibit_caching) hprintf("Pragma: no-cache\r\nCache-Control: no-store\r\nExpires:-1\r\n"); hprintf("Content-length: %d\r\n\r\n", StrLength(WCC->WBuf)); ptr = ChrPtr(WCC->HBuf); count = StrLength(WCC->HBuf); eptr = ptr + count; #ifdef HAVE_OPENSSL if (is_https) { client_write_ssl(WCC->HBuf); client_write_ssl(WCC->WBuf); return (count); } #endif if (WCC->Hdr->http_sock == -1) return -1; fdflags = fcntl(WC->Hdr->http_sock, F_GETFL); while ((ptr < eptr) && (WCC->Hdr->http_sock != -1)){ if ((fdflags & O_NONBLOCK) == O_NONBLOCK) { FD_ZERO(&wset); FD_SET(WCC->Hdr->http_sock, &wset); if (select(WCC->Hdr->http_sock + 1, NULL, &wset, NULL, NULL) == -1) { syslog(LOG_DEBUG, "client_write: Socket select failed (%s)\n", strerror(errno)); return -1; } } if ((WCC->Hdr->http_sock == -1) || (res = write(WCC->Hdr->http_sock, ptr, count)) == -1) { syslog(LOG_DEBUG, "client_write: Socket write failed (%s)\n", strerror(errno)); wc_backtrace(LOG_INFO); return res; } count -= res; ptr += res; } ptr = ChrPtr(WCC->WBuf); count = StrLength(WCC->WBuf); eptr = ptr + count; while ((ptr < eptr) && (WCC->Hdr->http_sock != -1)) { if ((fdflags & O_NONBLOCK) == O_NONBLOCK) { FD_ZERO(&wset); FD_SET(WCC->Hdr->http_sock, &wset); if (select(WCC->Hdr->http_sock + 1, NULL, &wset, NULL, NULL) == -1) { syslog(LOG_INFO, "client_write: Socket select failed (%s)\n", strerror(errno)); return -1; } } if ((WCC->Hdr->http_sock == -1) || (res = write(WCC->Hdr->http_sock, ptr, count)) == -1) { syslog(LOG_INFO, "client_write: Socket write failed (%s)\n", strerror(errno)); wc_backtrace(LOG_INFO); return res; } count -= res; ptr += res; } return StrLength(WCC->WBuf); } /* * lingering_close() a`la Apache. see * http://httpd.apache.org/docs/2.0/misc/fin_wait_2.html for rationale */ int lingering_close(int fd) { char buf[SIZ]; int i; fd_set set; struct timeval tv, start; gettimeofday(&start, NULL); if (fd == -1) return -1; shutdown(fd, 1); do { do { gettimeofday(&tv, NULL); tv.tv_sec = SLEEPING - (tv.tv_sec - start.tv_sec); tv.tv_usec = start.tv_usec - tv.tv_usec; if (tv.tv_usec < 0) { tv.tv_sec--; tv.tv_usec += 1000000; } FD_ZERO(&set); FD_SET(fd, &set); i = select(fd + 1, &set, NULL, NULL, &tv); } while (i == -1 && errno == EINTR); if (i <= 0) break; i = read(fd, buf, sizeof buf); } while (i != 0 && (i != -1 || errno == EINTR)); return close(fd); } void HttpNewModule_TCPSOCKETS (ParsedHttpHdrs *httpreq) { httpreq->ReadBuf = NewStrBufPlain(NULL, SIZ * 4); } void HttpDetachModule_TCPSOCKETS (ParsedHttpHdrs *httpreq) { FlushStrBuf(httpreq->ReadBuf); ReAdjustEmptyBuf(httpreq->ReadBuf, 4 * SIZ, SIZ); } void HttpDestroyModule_TCPSOCKETS (ParsedHttpHdrs *httpreq) { FreeStrBuf(&httpreq->ReadBuf); } void SessionNewModule_TCPSOCKETS (wcsession *sess) { sess->CLineBuf = NewStrBuf(); sess->MigrateReadLineBuf = NewStrBuf(); } void SessionDestroyModule_TCPSOCKETS (wcsession *sess) { FreeStrBuf(&sess->CLineBuf); FreeStrBuf(&sess->ReadBuf); sess->connected = 0; sess->ReadPos = NULL; FreeStrBuf(&sess->MigrateReadLineBuf); if (sess->serv_sock > 0) { syslog(LOG_DEBUG, "Closing socket %d", sess->serv_sock); close(sess->serv_sock); } sess->serv_sock = -1; } webcit-9.01-dfsg/tcp_sockets.h000066400000000000000000000036671254743150300163530ustar00rootroot00000000000000/* * Copyright (c) 1996-2013 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ int uds_connectsock(char *); int tcp_connectsock(char *, char *); int serv_getln(char *strbuf, int bufsize); int StrBuf_ServGetln(StrBuf *buf); /* * parse & check the server reply * * Line the line containing the server reply * FullState if you need more than just the major number, this is returns it. Ignored if NULL. * PutImportantMessage if you want to forward the text part of the server reply to the user, specify 1; * the result will be put into the 'Important Message' framework. * MajorOK in case of which major number not to put the ImportantMessage? 0 for all. * * returns the most significant digit of the server status */ int GetServerStatusMsg(StrBuf *Line, long* FullState, int PutImportantMessage, int MajorOK); /* * to migrate old calls.... */ #define GetServerStatus(a, b) GetServerStatusMsg(a, b, 0, 0) int serv_puts(const char *string); int serv_write(const char *buf, int nbytes); int serv_putbuf(const StrBuf *string); int serv_printf(const char *format,...)__attribute__((__format__(__printf__,1,2))); int serv_read_binary(StrBuf *Ret, size_t total_len, StrBuf *Buf); void serv_read_binary_to_http(StrBuf *MimeType, size_t total_len, int is_static, int detect_mime); int StrBuf_ServGetBLOB(StrBuf *buf, long BlobSize); int StrBuf_ServGetBLOBBuffered(StrBuf *buf, long BlobSize); int read_server_text(StrBuf *Buf, long *nLines); void text_to_server(char *ptr); void text_to_server_qp(const StrBuf *SendMeEncoded); void server_to_text(void); int lingering_close(int fd); webcit-9.01-dfsg/tests/000077500000000000000000000000001254743150300150075ustar00rootroot00000000000000webcit-9.01-dfsg/tests/Makefile.in000066400000000000000000000046471254743150300170670ustar00rootroot00000000000000prefix=@prefix@ srcdir=@srcdir@/../ VPATH=$(srcdir) AUTOCONF=@AUTOCONF@ CC=@CC@ CFLAGS=@CFLAGS@ DEFS=@DEFS@ INSTALL=@INSTALL@ LIBOBJS=@LIBOBJS@ LIBS=@LIBS@ -lcunit LDFLAGS=@LDFLAGS@ SED=@SED@ SETUP_LIBS=@SETUP_LIBS@ PTHREAD_DEFS=@PTHREAD_DEFS@ LIB_SUBDIRS= PROG_SUBDIRS=@PROG_SUBDIRS@ SUBDIRS=$(LIB_SUBDIRS) $(PROG_SUBDIRS) LOCALEDIR=@LOCALEDIR@ WWWDIR=@WWWDIR@ TEST_OBJECTS= \ ../webcit.o \ ../context_loop.o \ ../modules_init.o \ \ ../cookie_conversion.o \ \ ../locate_host.o \ ../sysdep.o \ ../utils.o \ ../decode.o \ ../html2html.o \ ../http_datestring.o \ ../fmt_date.o \ \ ../subst.o \ ../preferences.o \ ../paramhandling.o \ ../serv_func.o \ ../tcp_sockets.o \ ../crypto.o \ ../gettext.o \ ../tabs.o \ \ ../netconf.o \ ../inetconf.o \ ../siteconfig.o \ ../smtpqueue.o \ ../pushemail.o \ ../sieve.o \ \ ../static.o \ ../graphics.o \ ../downloads.o \ \ ../auth.o \ ../openid.o \ ../who.o \ ../userlist.o \ ../useredit.o \ ../sysmsgs.o \ \ ../listsub.o \ \ ../setup_wizard.o \ ../summary.o \ ../mainmenu.o \ ../iconbar.o \ \ ../floors.o \ ../roomops.o \ ../roomlist.o \ ../marchlist.o \ \ ../messages.o \ ../msg_renderers.o \ ../bbsview_renderer.o \ ../wiki.o \ \ ../paging.o \ ../roomchat.o \ \ ../vcard_edit.o \ ../addressbook_popup.o \ ../autocompletion.o \ \ ../ical_maps.o \ ../ical_subst.o \ ../ical_dezonify.o \ ../calendar.o \ ../calendar_tools.o \ ../calendar_view.o \ ../tasks.o \ ../event.o \ ../availability.o \ ../notes.o \ \ ../groupdav_main.o \ ../groupdav_get.o \ ../groupdav_propfind.o \ ../groupdav_options.o \ ../groupdav_delete.o \ ../groupdav_put.o TEST_COMMON_OBJECTS = \ test_tools.o # End of configuration section all: test .SUFFIXES: .cpp .c .o clean: rm -f $(WEBCIT_OBJECTS) test: $(TEST_OBJECTS) $(TEST_COMMON_OBJECTS) $(LIBOBJS) test_main.o $(CC) $(LDFLAGS) -o test $(LIBOBJS) test_main.o \ $(TEST_OBJECTS) $(TEST_COMMON_OBJECTS) $(LIBS) .c.o: $(CC) $(CFLAGS) -I ../ $(DEFS) -c $(PTHREAD_DEFS) $< .cpp.o: $(CC) $(CFLAGS) -I ../ $(DEFS) -c $(PTHREAD_DEFS) $< Makefile: $(srcdir)/Makefile.in $(srcdir)/config.status CONFIG_FILES=Makefile CONFIG_HEADERS= $(SHELL) $(srcdir)/config.status config.status: $(srcdir)/configure $(SHELL) $(srcdir)/config.status --recheck $(srcdir)/configure: $(srcdir)/configure.ac $(srcdir)/aclocal.m4 cd $(srcdir) && $(AUTOCONF) $(srcdir)/aclocal.m4: $(srcdir)/acinclude.m4 cd $(srcdir) && $(ACLOCAL) webcit-9.01-dfsg/tests/test_main.c000066400000000000000000000146001254743150300171370ustar00rootroot00000000000000/* * This contains a simple multithreaded TCP server manager. It sits around * waiting on the specified port for incoming HTTP connections. When a * connection is established, it calls context_loop() from context_loop.c. * * Copyright (c) 1996-2012 by the citadel.org developers. * This program is released under the terms of the GNU General Public License v3. */ #include "../webcit.h" #include "../webserver.h" #include "../modules_init.h" #include #include #include CU_EXPORT void CU_automated_run_tests(void); CU_EXPORT CU_ErrorCode CU_list_tests_to_file(void); CU_EXPORT void CU_set_output_filename(const char* szFilenameRoot); extern int msock; /* master listening socket */ extern int verbosity; /* Logging level */ extern char static_icon_dir[PATH_MAX]; /* where should we find our mime icons */ int is_https = 0; /* Nonzero if I am an HTTPS service */ int follow_xff = 0; /* Follow X-Forwarded-For: header */ int home_specified = 0; /* did the user specify a homedir? */ int DisableGzip = 0; extern pthread_mutex_t SessionListMutex; extern pthread_key_t MyConKey; extern void run_tests(void); extern int ig_tcp_server(char *ip_addr, int port_number, int queue_len); extern int ig_uds_server(char *sockpath, int queue_len); extern void webcit_calc_dirs_n_files(int relh, const char *basedir, int home, char *webcitdir, char *relhome); char socket_dir[PATH_MAX]; /* where to talk to our citadel server */ char *server_cookie = NULL; /* our Cookie connection to the client */ int http_port = PORT_NUM; /* Port to listen on */ char *ctdlhost = DEFAULT_HOST; /* our name */ char *ctdlport = DEFAULT_PORT; /* our Port */ int running_as_daemon = 0; /* should we deamonize on startup? */ char wizard_filename[PATH_MAX]; StrBuf *Username = NULL; /* the test user... */ StrBuf *Passvoid = NULL; /* the test user... */ extern int dbg_analyze_msg; extern int dbg_bactrace_template_errors; extern int DumpTemplateI18NStrings; extern StrBuf *I18nDump; void InitTemplateCache(void); extern int LoadTemplates; /* * Here's where it all begins. */ int main(int argc, char **argv) { size_t basesize = 2; /* how big should strbufs be on creation? */ pthread_attr_t attr; /* Thread attributes */ int a; /* General-purpose variables */ char tracefile[PATH_MAX]; char ip_addr[256]="0.0.0.0"; int relh=0; int home=0; int home_specified=0; char relhome[PATH_MAX]=""; char webcitdir[PATH_MAX] = DATADIR; char *hdir; const char *basedir = NULL; char uds_listen_path[PATH_MAX]; /* listen on a unix domain socket? */ FILE *rvfp = NULL; WildFireInitBacktrace(argv[0], 2); start_modules (); /* Ensure that we are linked to the correct version of libcitadel */ if (libcitadel_version_number() < LIBCITADEL_VERSION_NUMBER) { fprintf(stderr, " You are running libcitadel version %d.%02d\n", (libcitadel_version_number() / 100), (libcitadel_version_number() % 100)); fprintf(stderr, "WebCit was compiled against version %d.%02d\n", (LIBCITADEL_VERSION_NUMBER / 100), (LIBCITADEL_VERSION_NUMBER % 100)); return(1); } strcpy(uds_listen_path, ""); /* Parse command line */ while ((a = getopt(argc, argv, "h:i:p:t:T:B:x:U:P:cf:Z")) != EOF) switch (a) { case 'U': Username = NewStrBufPlain(optarg, -1); break; case 'P': Passvoid = NewStrBufPlain(optarg, -1); break; case 'h': hdir = strdup(optarg); relh=hdir[0]!='/'; if (!relh) { safestrncpy(webcitdir, hdir, sizeof webcitdir); } else { safestrncpy(relhome, relhome, sizeof relhome); } /* free(hdir); TODO: SHOULD WE DO THIS? */ home_specified = 1; home=1; break; case 'B': /* Basesize */ basesize = atoi(optarg); if (basesize > 2) StartLibCitadel(basesize); break; case 'i': safestrncpy(ip_addr, optarg, sizeof ip_addr); break; case 'p': http_port = atoi(optarg); if (http_port == 0) { safestrncpy(uds_listen_path, optarg, sizeof uds_listen_path); } break; case 't': safestrncpy(tracefile, optarg, sizeof tracefile); rvfp = freopen(tracefile, "w", stdout); rvfp = freopen(tracefile, "w", stderr); rvfp = freopen(tracefile, "r", stdin); break; case 'T': LoadTemplates = atoi(optarg); dbg_analyze_msg = (LoadTemplates && (1<<1)) != 0; dbg_bactrace_template_errors = (LoadTemplates && (1<<2)) != 0; break; case 'Z': DisableGzip = 1; break; case 'x': verbosity = atoi(optarg); break; case 'f': follow_xff = 1; break; case 'c': server_cookie = malloc(256); if (server_cookie != NULL) { safestrncpy(server_cookie, "Set-cookie: wcserver=", 256); if (gethostname (&server_cookie[strlen(server_cookie)], 200) != 0) { syslog(2, "gethostname: %s\n", strerror(errno)); free(server_cookie); } } break; default: fprintf(stderr, "usage: webcit " "[-i ip_addr] [-p http_port] " "[-t tracefile] [-c] [-f] " "[-T Templatedebuglevel] " "[-Z] [-G i18ndumpfile] " #ifdef HAVE_OPENSSL "[-s] [-S cipher_suites]" #endif "[-U Username -P Password]" "" "[remotehost [remoteport]]\n"); return 1; } if (optind < argc) { ctdlhost = argv[optind]; if (++optind < argc) ctdlport = argv[optind]; } webcit_calc_dirs_n_files(relh, basedir, home, webcitdir, relhome); LoadIconDir(static_icon_dir); /* Tell 'em who's in da house */ syslog(1, PACKAGE_STRING "\n"); syslog(1, "Copyright (C) 1996-2009 by the Citadel development team.\n" "This software is distributed under the terms of the " "GNU General Public License.\n\n" ); /* initialize the International Bright Young Thing */ initialise_modules(); initialize_viewdefs(); initialize_axdefs(); InitTemplateCache(); /* Use our own prefix on tzid's generated from system tzdata */ icaltimezone_set_tzid_prefix("/citadel.org/"); /* * Set up a place to put thread-specific data. * We only need a single pointer per thread - it points to the * wcsession struct to which the thread is currently bound. */ if (pthread_key_create(&MyConKey, NULL) != 0) { syslog(1, "Can't create TSD key: %s\n", strerror(errno)); } InitialiseSemaphores (); /* * Start up the housekeeping thread */ pthread_attr_init(&attr); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); run_tests(); ShutDownWebcit(); FreeStrBuf(&Username); FreeStrBuf(&Passvoid); return 0; } webcit-9.01-dfsg/tests/test_tools.c000066400000000000000000000155321254743150300173600ustar00rootroot00000000000000#include "webcit_test.h" #include #include #include #include "webcit.h" #include "webserver.h" #include "modules_init.h" #include wcsession *TestSessionList = NULL; ParsedHttpHdrs Hdr; wcsession *TheSession; extern StrBuf *Username; extern StrBuf *Passvoid; extern int ReadHttpSubject(ParsedHttpHdrs *Hdr, StrBuf *Line, StrBuf *Buf); extern wcsession *CreateSession(int Lockable, wcsession **wclist, ParsedHttpHdrs *Hdr, pthread_mutex_t *ListMutex); extern void groupdav_main(void); void SetUpContext(void) { memset(&Hdr, 0, sizeof(ParsedHttpHdrs)); Hdr.HR.eReqType = eGET; http_new_modules(&Hdr); Hdr.http_sock = 1; /* STDOUT */ /* Context loop */ Hdr.HR.dav_depth = 32767; /* TODO: find a general way to have non-0 defaults */ TheSession = CreateSession(1, &TestSessionList, &Hdr, NULL); TheSession->lastreq = time(NULL); /* log */ TheSession->Hdr = &Hdr; Hdr.HTTPHeaders = NewHash(1, NULL); session_attach_modules(TheSession); } int SetUpConnection(void) { StrBuf *Response; if (!GetConnected ()) { Response = NewStrBuf(); become_logged_in(Username, Passvoid, Response); return 1; } else { CU_FAIL("Establishing session failed!"); return 0; } } void SetHttpURL(ParsedHttpHdrs *Hdr, const char *Title, long tlen, StrBuf *Buf) { StrBuf *Line = NewStrBufPlain (Title, tlen); FreeStrBuf(&Line); } /* from context_loop.c: */ extern void DestroyHttpHeaderHandler(void *V); extern int ReadHttpSubject(ParsedHttpHdrs *Hdr, StrBuf *Line, StrBuf *Buf); void SetUpRequest(const char *UrlPath) { OneHttpHeader *pHdr; wcsession *WCC = WC; StrBuf *Buf; StrBuf *Line, *HeaderName; HeaderName = NewStrBuf(); Buf = NewStrBuf(); Line = NewStrBuf(); StrBufPrintf(Line, "GET %s HTTP/1.0\r\n", UrlPath); WCC->Hdr->HTTPHeaders = NewHash(1, NULL); pHdr = (OneHttpHeader*) malloc(sizeof(OneHttpHeader)); memset(pHdr, 0, sizeof(OneHttpHeader)); pHdr->Val = Line; Put(Hdr.HTTPHeaders, HKEY("GET /"), pHdr, DestroyHttpHeaderHandler); syslog(9, "%s\n", ChrPtr(Line)); if (ReadHttpSubject(&Hdr, Line, HeaderName)) CU_FAIL("Failed to parse Request line / me is bogus!"); FreeStrBuf(&Buf); } void TearDownRequest(void) { /* End Context loop */ http_detach_modules(&Hdr); } void TearDownContext(void) { http_destroy_modules(&Hdr); /* End Session Loop */ session_detach_modules(TheSession); session_destroy_modules(&TheSession); /* End Session loop */ /* now shut it down clean. */ // shutdown_sessions(); do_housekeeping(); } void test_worker_entry(StrBuf *UrlPath) { } void SetGroupdavHeaders(int DavDepth) { Hdr.HR.dav_depth = DavDepth; } void FlushHeaders(void) { } void test_groupdav_directorycommands(void) { SetUpContext(); if (SetUpConnection()) { SetUpRequest("/"); SetGroupdavHeaders(0); groupdav_main(); FlushHeaders(); TearDownRequest(); SetUpRequest("/"); SetGroupdavHeaders(1); groupdav_main(); FlushHeaders(); TearDownRequest(); SetUpRequest("/groupdav"); SetGroupdavHeaders(0); groupdav_main(); FlushHeaders(); TearDownRequest(); SetUpRequest("/groupdav"); SetGroupdavHeaders(1); groupdav_main(); FlushHeaders(); TearDownRequest(); SetUpRequest("/groupdav/"); SetGroupdavHeaders(0); groupdav_main(); FlushHeaders(); TearDownRequest(); SetUpRequest("/groupdav/"); SetGroupdavHeaders(1); groupdav_main(); FlushHeaders(); TearDownRequest(); SetUpRequest("/groupdav/My%20Folders"); SetGroupdavHeaders(0); groupdav_main(); FlushHeaders(); TearDownRequest(); SetUpRequest("/groupdav/My%20Folders"); SetGroupdavHeaders(1); groupdav_main(); FlushHeaders(); TearDownRequest(); SetUpRequest("/groupdav/My%20Folders/"); SetGroupdavHeaders(0); groupdav_main(); FlushHeaders(); TearDownRequest(); SetUpRequest("/groupdav/My%20Folders/"); SetGroupdavHeaders(1); groupdav_main(); FlushHeaders(); TearDownRequest(); SetUpRequest("/groupdav/My%20Folders/Calendar"); SetGroupdavHeaders(0); groupdav_main(); FlushHeaders(); TearDownRequest(); SetUpRequest("/groupdav/My%20Folders/Calendar"); SetGroupdavHeaders(1); groupdav_main(); FlushHeaders(); TearDownRequest(); SetUpRequest("/groupdav/My%20Folders/Calendar/"); SetGroupdavHeaders(0); groupdav_main(); FlushHeaders(); TearDownRequest(); SetUpRequest("/groupdav/My%20Folders/Calendar/"); SetGroupdavHeaders(1); groupdav_main(); FlushHeaders(); TearDownRequest(); SetUpRequest("/"); SetGroupdavHeaders(0); groupdav_main(); FlushHeaders(); TearDownRequest(); SetUpRequest("/"); SetGroupdavHeaders(1); groupdav_main(); FlushHeaders(); TearDownRequest(); } TearDownContext(); } extern void httplang_to_locale(StrBuf *LocaleString, wcsession *sess); static void test_gettext(const char *str, long len) { StrBuf *Test = NewStrBufPlain(str, len); SetUpContext(); httplang_to_locale(Test, TheSession); TearDownContext(); FreeStrBuf(&Test); } void test_gettext_headerevaluation_Opera(void) { test_gettext(HKEY("sq;q=1.0,de;q=0.9,as;q=0.8,ar;q=0.7,bn;q=0.6,zh-cn;q=0.5,kn;q=0.4,ch;q=0.3,fo;q=0.2,gn;q=0.1,ce;q=0.1,ie;q=0.1")); } void test_gettext_headerevaluation_firefox1(void) { test_gettext(HKEY("de-de,en-us;q=0.7,en;q=0.3")); } void test_gettext_headerevaluation_firefox2(void) { test_gettext(HKEY("de,en-ph;q=0.8,en-us;q=0.5,de-at;q=0.3")); } void test_gettext_headerevaluation_firefox3(void) { test_gettext(HKEY("de,en-us;q=0.9,it;q=0.9,de-de;q=0.8,en-ph;q=0.7,de-at;q=0.7,zh-cn;q=0.6,cy;q=0.5,ar-om;q=0.5,en-tt;q=0.4,xh;q=0.3,nl-be;q=0.3,cs;q=0.2,sv;q=0.1,tk;q=0.1")); } void test_gettext_headerevaluation_ie7(void) { // ie7???? // User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; FunWebProducts; FBSMTWB; GTB6.3; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30618; Seekmo 10.3.86.0) test_gettext(HKEY("en-us,x-ns1MvoLpRxbNhu,x-ns2F0f0NnyPOPN")); } static void AddTests(void) { CU_pSuite pGroup = NULL; CU_pTest pTest = NULL; /* pGroup = CU_add_suite("TestLocaleEvaluator", NULL, NULL); pTest = CU_add_test(pGroup, "Test ie7", test_gettext_headerevaluation_ie7); pTest = CU_add_test(pGroup, "Test Opera", test_gettext_headerevaluation_Opera); pTest = CU_add_test(pGroup, "Test firefox1", test_gettext_headerevaluation_firefox1); pTest = CU_add_test(pGroup, "Test firefox2", test_gettext_headerevaluation_firefox2); pTest = CU_add_test(pGroup, "Test firefox3", test_gettext_headerevaluation_firefox3); */ pGroup = CU_add_suite("TestUrlPatterns", NULL, NULL); pTest = CU_add_test(pGroup, "Test", test_groupdav_directorycommands); } void run_tests(void) { setvbuf(stdout, NULL, _IONBF, 0); CU_set_output_filename("TestAutomated"); if (CU_initialize_registry()) { printf("\nInitialize of test Registry failed."); } AddTests(); printf("\nTests completed with return value %d.\n", CU_basic_run_tests()); CU_cleanup_registry(); } webcit-9.01-dfsg/tests/webcit_test.h000066400000000000000000000005571254743150300175030ustar00rootroot00000000000000 #ifndef CUNIT_AUTOMATED_H_SEEN #define CUNIT_AUTOMATED_H_SEEN #include #include #include CU_EXPORT void CU_automated_run_tests(void); CU_EXPORT CU_ErrorCode CU_list_tests_to_file(void); CU_EXPORT void CU_set_output_filename(const char* szFilenameRoot); #endif /* CUNIT_AUTOMATED_H_SEEN */ webcit-9.01-dfsg/useredit.c000066400000000000000000000561151254743150300156450ustar00rootroot00000000000000/* * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" CtxType CTX_USERLIST = CTX_NONE; /* * show a list of available users to edit them * message the header message??? * preselect = which user should be selected in the browser */ void select_user_to_edit(const char *preselect) { output_headers(1, 0, 0, 0, 1, 0); do_template("aide_edituser_select"); end_burst(); } typedef struct _UserListEntry { int UID; int AccessLevel; int nLogons; int nPosts; StrBuf *UserName; StrBuf *Passvoid; time_t LastLogonT; /* Just available for Single users to view: */ unsigned int Flags; int DaysTillPurge; int HasBio; } UserListEntry; UserListEntry* NewUserListOneEntry(StrBuf *SerializedUser, const char *Pos) { UserListEntry *ul; if (StrLength(SerializedUser) < 8) return NULL; ul = (UserListEntry*) malloc(sizeof(UserListEntry)); ul->UserName = NewStrBuf(); ul->Passvoid = NewStrBuf(); StrBufExtract_NextToken(ul->UserName, SerializedUser, &Pos, '|'); StrBufExtract_NextToken(ul->Passvoid, SerializedUser, &Pos, '|'); ul->Flags = StrBufExtractNext_unsigned_long(SerializedUser, &Pos, '|'); ul->nLogons = StrBufExtractNext_int( SerializedUser, &Pos, '|'); ul->nPosts = StrBufExtractNext_int( SerializedUser, &Pos, '|'); ul->AccessLevel = StrBufExtractNext_int( SerializedUser, &Pos, '|'); ul->UID = StrBufExtractNext_int( SerializedUser, &Pos, '|'); ul->LastLogonT = StrBufExtractNext_long( SerializedUser, &Pos, '|'); ul->DaysTillPurge = StrBufExtractNext_int( SerializedUser, &Pos, '|'); return ul; } void DeleteUserListEntry(void *vUserList) { UserListEntry *ul = (UserListEntry*) vUserList; if (!ul) return; FreeStrBuf(&ul->UserName); FreeStrBuf(&ul->Passvoid); free(ul); } UserListEntry* NewUserListEntry(StrBuf *SerializedUserList) { const char *Pos = NULL; UserListEntry *ul; if (StrLength(SerializedUserList) < 8) return NULL; ul = (UserListEntry*) malloc(sizeof(UserListEntry)); ul->UserName = NewStrBuf(); ul->Passvoid = NewStrBuf(); StrBufExtract_NextToken(ul->UserName, SerializedUserList, &Pos, '|'); ul->AccessLevel = StrBufExtractNext_int( SerializedUserList, &Pos, '|'); ul->UID = StrBufExtractNext_int( SerializedUserList, &Pos, '|'); ul->LastLogonT = StrBufExtractNext_long(SerializedUserList, &Pos, '|'); ul->nLogons = StrBufExtractNext_int( SerializedUserList, &Pos, '|'); ul->nPosts = StrBufExtractNext_int( SerializedUserList, &Pos, '|'); StrBufExtract_NextToken(ul->Passvoid, SerializedUserList, &Pos, '|'); ul->Flags = 0; ul->HasBio = 0; ul->DaysTillPurge = -1; return ul; } /* * Sort by Username */ int CompareUserListName(const void *vUser1, const void *vUser2) { UserListEntry *u1 = (UserListEntry*) GetSearchPayload(vUser1); UserListEntry *u2 = (UserListEntry*) GetSearchPayload(vUser2); return strcmp(ChrPtr(u1->UserName), ChrPtr(u2->UserName)); } int CompareUserListNameRev(const void *vUser1, const void *vUser2) { UserListEntry *u1 = (UserListEntry*) GetSearchPayload(vUser1); UserListEntry *u2 = (UserListEntry*) GetSearchPayload(vUser2); return strcmp(ChrPtr(u2->UserName), ChrPtr(u1->UserName)); } int GroupchangeUserListName(const void *vUser1, const void *vUser2) { UserListEntry *u1 = (UserListEntry*) vUser1; UserListEntry *u2 = (UserListEntry*) vUser2; return ChrPtr(u2->UserName)[0] != ChrPtr(u1->UserName)[0]; } /* * Sort by access level */ int CompareAccessLevel(const void *vUser1, const void *vUser2) { UserListEntry *u1 = (UserListEntry*) GetSearchPayload(vUser1); UserListEntry *u2 = (UserListEntry*) GetSearchPayload(vUser2); return (u1->AccessLevel > u2->AccessLevel); } int CompareAccessLevelRev(const void *vUser1, const void *vUser2) { UserListEntry *u1 = (UserListEntry*) GetSearchPayload(vUser1); UserListEntry *u2 = (UserListEntry*) GetSearchPayload(vUser2); return (u2->AccessLevel > u1->AccessLevel); } int GroupchangeAccessLevel(const void *vUser1, const void *vUser2) { UserListEntry *u1 = (UserListEntry*) vUser1; UserListEntry *u2 = (UserListEntry*) vUser2; return u2->AccessLevel != u1->AccessLevel; } /* * Sort by UID */ int CompareUID(const void *vUser1, const void *vUser2) { UserListEntry *u1 = (UserListEntry*) GetSearchPayload(vUser1); UserListEntry *u2 = (UserListEntry*) GetSearchPayload(vUser2); return (u1->UID > u2->UID); } int CompareUIDRev(const void *vUser1, const void *vUser2) { UserListEntry *u1 = (UserListEntry*) GetSearchPayload(vUser1); UserListEntry *u2 = (UserListEntry*) GetSearchPayload(vUser2); return (u2->UID > u1->UID); } int GroupchangeUID(const void *vUser1, const void *vUser2) { UserListEntry *u1 = (UserListEntry*) vUser1; UserListEntry *u2 = (UserListEntry*) vUser2; return (u2->UID / 10) != (u1->UID / 10); } /* * Sort By Date /// TODO! */ int CompareLastLogon(const void *vUser1, const void *vUser2) { UserListEntry *u1 = (UserListEntry*) GetSearchPayload(vUser1); UserListEntry *u2 = (UserListEntry*) GetSearchPayload(vUser2); return (u1->LastLogonT > u2->LastLogonT); } int CompareLastLogonRev(const void *vUser1, const void *vUser2) { UserListEntry *u1 = (UserListEntry*) GetSearchPayload(vUser1); UserListEntry *u2 = (UserListEntry*) GetSearchPayload(vUser2); return (u2->LastLogonT > u1->LastLogonT); } int GroupchangeLastLogon(const void *vUser1, const void *vUser2) { UserListEntry *u1 = (UserListEntry*) vUser1; UserListEntry *u2 = (UserListEntry*) vUser2; return (u2->LastLogonT != u1->LastLogonT); } /* * Sort By Number of Logons */ int ComparenLogons(const void *vUser1, const void *vUser2) { UserListEntry *u1 = (UserListEntry*) GetSearchPayload(vUser1); UserListEntry *u2 = (UserListEntry*) GetSearchPayload(vUser2); return (u1->nLogons > u2->nLogons); } int ComparenLogonsRev(const void *vUser1, const void *vUser2) { UserListEntry *u1 = (UserListEntry*) GetSearchPayload(vUser1); UserListEntry *u2 = (UserListEntry*) GetSearchPayload(vUser2); return (u2->nLogons > u1->nLogons); } int GroupchangenLogons(const void *vUser1, const void *vUser2) { UserListEntry *u1 = (UserListEntry*) vUser1; UserListEntry *u2 = (UserListEntry*) vUser2; return (u2->nLogons / 100) != (u1->nLogons / 100); } /* * Sort By Number of Posts */ int ComparenPosts(const void *vUser1, const void *vUser2) { UserListEntry *u1 = (UserListEntry*) GetSearchPayload(vUser1); UserListEntry *u2 = (UserListEntry*) GetSearchPayload(vUser2); return (u1->nPosts > u2->nPosts); } int ComparenPostsRev(const void *vUser1, const void *vUser2) { UserListEntry *u1 = (UserListEntry*) GetSearchPayload(vUser1); UserListEntry *u2 = (UserListEntry*) GetSearchPayload(vUser2); return (u2->nPosts > u1->nPosts); } int GroupchangenPosts(const void *vUser1, const void *vUser2) { UserListEntry *u1 = (UserListEntry*) vUser1; UserListEntry *u2 = (UserListEntry*) vUser2; return (u2->nPosts / 100) != (u1->nPosts / 100); } HashList *iterate_load_userlist(StrBuf *Target, WCTemplputParams *TP) { int Done = 0; CompareFunc SortIt; HashList *Hash = NULL; StrBuf *Buf; UserListEntry* ul; int len; int UID; void *vData; WCTemplputParams SubTP; memset(&SubTP, 0, sizeof(WCTemplputParams)); serv_puts("LIST"); Buf = NewStrBuf(); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 1) { Hash = NewHash(1, Flathash); while (!Done) { len = StrBuf_ServGetln(Buf); if ((len <0) || ((len == 3) && !strcmp(ChrPtr(Buf), "000"))) { Done = 1; break; } ul = NewUserListEntry(Buf); if (ul == NULL) continue; Put(Hash, IKEY(ul->UID), ul, DeleteUserListEntry); } serv_puts("LBIO 1"); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 1) Done = 0; while (!Done) { len = StrBuf_ServGetln(Buf); if ((len <0) || ((len == 3) && !strcmp(ChrPtr(Buf), "000"))) { Done = 1; break; } UID = atoi(ChrPtr(Buf)); if (GetHash(Hash, IKEY(UID), &vData) && vData != 0) { ul = (UserListEntry*)vData; ul->HasBio = 1; } } SubTP.Filter.ContextType = CTX_USERLIST; SortIt = RetrieveSort(&SubTP, HKEY("USER"), HKEY("user:uid"), 0); if (SortIt != NULL) SortByPayload(Hash, SortIt); else SortByPayload(Hash, CompareUID); } FreeStrBuf(&Buf); return Hash; } void tmplput_USERLIST_UserName(StrBuf *Target, WCTemplputParams *TP) { UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST); StrBufAppendTemplate(Target, TP, ul->UserName, 0); } void tmplput_USERLIST_Password(StrBuf *Target, WCTemplputParams *TP) { UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST); StrBufAppendTemplate(Target, TP, ul->Passvoid, 0); } void tmplput_USERLIST_AccessLevelNo(StrBuf *Target, WCTemplputParams *TP) { UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST); StrBufAppendPrintf(Target, "%d", ul->AccessLevel, 0); } void tmplput_USERLIST_AccessLevelStr(StrBuf *Target, WCTemplputParams *TP) { UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST); StrBufAppendBufPlain(Target, _(axdefs[ul->AccessLevel]), -1, 0); } void tmplput_USERLIST_UID(StrBuf *Target, WCTemplputParams *TP) { UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST); StrBufAppendPrintf(Target, "%d", ul->UID, 0); } void tmplput_USERLIST_LastLogonNo(StrBuf *Target, WCTemplputParams *TP) { UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST); StrBufAppendPrintf(Target,"%ld", ul->LastLogonT, 0); } void tmplput_USERLIST_LastLogonStr(StrBuf *Target, WCTemplputParams *TP) { UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST); StrEscAppend(Target, NULL, asctime(localtime(&ul->LastLogonT)), 0, 0); } void tmplput_USERLIST_nLogons(StrBuf *Target, WCTemplputParams *TP) { UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST); StrBufAppendPrintf(Target, "%d", ul->nLogons, 0); } void tmplput_USERLIST_nPosts(StrBuf *Target, WCTemplputParams *TP) { UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST); StrBufAppendPrintf(Target, "%d", ul->nPosts, 0); } void tmplput_USERLIST_Flags(StrBuf *Target, WCTemplputParams *TP) { UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST); StrBufAppendPrintf(Target, "%d", ul->Flags, 0); } void tmplput_USERLIST_DaysTillPurge(StrBuf *Target, WCTemplputParams *TP) { UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST); StrBufAppendPrintf(Target, "%d", ul->DaysTillPurge, 0); } int ConditionalUser(StrBuf *Target, WCTemplputParams *TP) { UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST); if (havebstr("usernum")) { return ibstr("usernum") == ul->UID; } else if (havebstr("username")) { return strcmp(bstr("username"), ChrPtr(ul->UserName)) == 0; } else return 0; } int ConditionalFlagINetEmail(StrBuf *Target, WCTemplputParams *TP) { UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST); return (ul->Flags & US_INTERNET) != 0; } int ConditionalUserAccess(StrBuf *Target, WCTemplputParams *TP) { UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST); if (ul == NULL) return 0; return GetTemplateTokenNumber(Target, TP, 3, AxNewU) == ul->AccessLevel; } int ConditionalHaveBIO(StrBuf *Target, WCTemplputParams *TP) { UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST); if (ul == NULL) return 0; return ul->HasBio; } void tmplput_USER_BIO(StrBuf *Target, WCTemplputParams *TP) { int Done = 0; StrBuf *Buf; const char *who; long len; GetTemplateTokenString(Target, TP, 0, &who, &len); Buf = NewStrBuf(); serv_printf("RBIO %s", who); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 1) { StrBuf *BioBuf = NewStrBufPlain(NULL, SIZ); while (!Done && StrBuf_ServGetln(Buf)>=0) { if ( (StrLength(Buf)==3) && !strcmp(ChrPtr(Buf), "000")) Done = 1; else { StrBufAppendBuf(BioBuf, Buf, 0); StrBufAppendBufPlain(BioBuf, HKEY("\n"), 0); } } StrBufAppendTemplate(Target, TP, BioBuf, 1); FreeStrBuf(&BioBuf); } FreeStrBuf(&Buf); } int Conditional_USER_HAS_PIC(StrBuf *Target, WCTemplputParams *TP) { StrBuf *Buf; const char *who; long len; int r = 0; GetTemplateTokenString(Target, TP, 2, &who, &len); Buf = NewStrBuf(); serv_printf("OIMG _userpic_|%s", who); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) != 2) { r = 1; } else { r = 0; } serv_puts("CLOS"); StrBuf_ServGetln(Buf); GetServerStatus(Buf, NULL); FreeStrBuf(&Buf); return(r); } /* * Locate the message number of a user's vCard in the current room * Returns the message id of his vcard */ long locate_user_vcard_in_this_room(message_summary **VCMsg, wc_mime_attachment **VCAtt) { wcsession *WCC = WC; HashPos *at; HashPos *att; const char *HashKey; long HKLen; void *vMsg; message_summary *Msg; wc_mime_attachment *Att; StrBuf *Buf; long vcard_msgnum = (-1L); int already_tried_creating_one = 0; StrBuf *FoundCharset = NewStrBuf(); StrBuf *Error = NULL; SharedMessageStatus Stat; Buf = NewStrBuf(); TRYAGAIN: memset(&Stat, 0, sizeof(SharedMessageStatus)); Stat.maxload = 10000; Stat.lowest_found = (-1); Stat.highest_found = (-1); /* Search for the user's vCard */ if (load_msg_ptrs("MSGS ALL||||1", NULL, &Stat, NULL) > 0) { at = GetNewHashPos(WCC->summ, 0); while (GetNextHashPos(WCC->summ, at, &HKLen, &HashKey, &vMsg)) { Msg = (message_summary*) vMsg; Msg->MsgBody = (wc_mime_attachment*) malloc(sizeof(wc_mime_attachment)); memset(Msg->MsgBody, 0, sizeof(wc_mime_attachment)); Msg->MsgBody->msgnum = Msg->msgnum; load_message(Msg, FoundCharset, &Error); if (Msg->AllAttach != NULL) { att = GetNewHashPos(Msg->AllAttach, 0); while (GetNextHashPos(Msg->AllAttach, att, &HKLen, &HashKey, &vMsg) && (vcard_msgnum == -1)) { Att = (wc_mime_attachment*) vMsg; if ( (strcasecmp(ChrPtr(Att->ContentType), "text/x-vcard") == 0) || (strcasecmp(ChrPtr(Att->ContentType), "text/vcard") == 0) ) { *VCAtt = Att; *VCMsg = Msg; vcard_msgnum = Msg->msgnum; if (Att->Data == NULL) { MimeLoadData(Att); } } } DeleteHashPos(&att); } FreeStrBuf(&Error); /* don't care... */ } DeleteHashPos(&at); } /* If there's no vcard, create one */ if ((*VCMsg == NULL) && (already_tried_creating_one == 0)) { FlushStrBuf(Buf); already_tried_creating_one = 1; serv_puts("ENT0 1|||4"); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 4) { serv_puts("Content-type: text/x-vcard"); serv_puts(""); serv_puts("begin:vcard"); serv_puts("end:vcard"); serv_puts("000"); } else syslog(LOG_WARNING, "Error while creating user vcard: %s\n", ChrPtr(Buf)); goto TRYAGAIN; } FreeStrBuf(&Buf); FreeStrBuf(&FoundCharset); return(vcard_msgnum); } /* * Display the form for editing a user's address book entry * username the name of the user * usernum the citadel-uid of the user */ void display_edit_address_book_entry(const char *username, long usernum) { message_summary *VCMsg = NULL; wc_mime_attachment *VCAtt = NULL; StrBuf *roomname; StrBuf *Buf; long vcard_msgnum = (-1L); /* Locate the user's config room, creating it if necessary */ Buf = NewStrBuf(); roomname = NewStrBuf(); StrBufPrintf(roomname, "%010ld.%s", usernum, USERCONFIGROOM); serv_printf("GOTO %s||1", ChrPtr(roomname)); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) != 2) { serv_printf("CRE8 1|%s|5|||1|", ChrPtr(roomname)); StrBuf_ServGetln(Buf); GetServerStatus(Buf, NULL); serv_printf("GOTO %s||1", ChrPtr(roomname)); StrBuf_ServGetln(Buf); if (GetServerStatusMsg(Buf, NULL, 1, 2) != 2) { select_user_to_edit(username); FreeStrBuf(&Buf); FreeStrBuf(&roomname); return; } } FreeStrBuf(&Buf); locate_user_vcard_in_this_room(&VCMsg, &VCAtt); if (VCMsg == NULL) { AppendImportantMessage(_("An error occurred while trying to create or edit this address book entry."), -1); select_user_to_edit(username); FreeStrBuf(&roomname); return; } do_edit_vcard(vcard_msgnum, "1", VCMsg, VCAtt, "select_user_to_edit", ChrPtr(roomname)); FreeStrBuf(&roomname); } /* * burge a user * username the name of the user to remove */ void delete_user(char *username) { StrBuf *Buf; Buf = NewStrBuf(); serv_printf("ASUP %s|0|0|0|0|0|", username); StrBuf_ServGetln(Buf); GetServerStatusMsg(Buf, NULL, 1, 2); select_user_to_edit( bstr("username")); FreeStrBuf(&Buf); } void display_edituser(const char *supplied_username, int is_new) { const char *Pos; UserListEntry* UL; StrBuf *Buf; char username[256]; if (supplied_username != NULL) { safestrncpy(username, supplied_username, sizeof username); } else { safestrncpy(username, bstr("username"), sizeof username); } Buf = NewStrBuf(); serv_printf("AGUP %s", username); StrBuf_ServGetln(Buf); if (GetServerStatusMsg(Buf, NULL, 1, 2) != 2) { select_user_to_edit(username); FreeStrBuf(&Buf); return; } else { Pos = ChrPtr(Buf) + 4; UL = NewUserListOneEntry(Buf, Pos); if ((UL != NULL) && havebstr("edit_abe_button")) { display_edit_address_book_entry(username, UL->UID); } else if ((UL != NULL) && havebstr("delete_button")) { delete_user(username); } else if (UL != NULL) { WCTemplputParams SubTP; memset(&SubTP, 0, sizeof(WCTemplputParams)); SubTP.Filter.ContextType = CTX_USERLIST; SubTP.Context = UL; output_headers(1, 0, 0, 0, 1, 0); DoTemplate(HKEY("aide_edituser_detailview"), NULL, &SubTP); end_burst(); } DeleteUserListEntry(UL); } FreeStrBuf(&Buf); } /* * do the backend operation of the user edit on the server */ void edituser(void) { int is_new = 0; unsigned int flags = 0; const char *username; is_new = ibstr("is_new"); username = bstr("username"); if (!havebstr("ok_button")) { AppendImportantMessage(_("Changes were not saved."), -1); } else { StrBuf *Buf = NewStrBuf(); flags = ibstr("flags"); if (yesbstr("inetmail")) { flags |= US_INTERNET; } else { flags &= ~US_INTERNET ; } if ((havebstr("newname")) && (strcasecmp(bstr("username"), bstr("newname")))) { serv_printf("RENU %s|%s", bstr("username"), bstr("newname")); StrBuf_ServGetln(Buf); if (GetServerStatusMsg(Buf, NULL, 1, 2) != 2) { username = bstr("newname"); } } serv_printf("ASUP %s|%s|%d|%s|%s|%s|%s|%s|%s|", username, bstr("password"), flags, bstr("timescalled"), bstr("msgsposted"), bstr("axlevel"), bstr("usernum"), bstr("lastcall"), bstr("purgedays") ); StrBuf_ServGetln(Buf); GetServerStatusMsg(Buf, NULL, 1, 2); FreeStrBuf(&Buf); } /* * If we are in the middle of creating a new user, move on to * the vCard edit screen. */ if (is_new) { display_edit_address_book_entry(username, lbstr("usernum") ); } else { select_user_to_edit(username); } } /* * create a new user * take the web environment username and create it on the citadel server */ void create_user(void) { long FullState; StrBuf *Buf; const char *username; Buf = NewStrBuf(); username = bstr("username"); serv_printf("CREU %s", username); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, &FullState) == 2) { AppendImportantMessage(_("A new user has been created."), -1); display_edituser(username, 1); } else if (FullState == 570) { AppendImportantMessage(_("You are attempting to create a new user from within Citadel " "while running in host based authentication mode. In this mode, " "you must create new users on the host system, not within Citadel."), -1); select_user_to_edit(NULL); } else { AppendImportantMessage(ChrPtr(Buf) + 4, StrLength(Buf) - 4); select_user_to_edit(NULL); } FreeStrBuf(&Buf); } void _select_user_to_edit(void) { select_user_to_edit(NULL); } void _display_edituser(void) { display_edituser(NULL, 0); } void InitModule_USEREDIT (void) { RegisterCTX(CTX_USERLIST); WebcitAddUrlHandler(HKEY("select_user_to_edit"), "", 0, _select_user_to_edit, 0); WebcitAddUrlHandler(HKEY("display_edituser"), "", 0, _display_edituser, 0); WebcitAddUrlHandler(HKEY("edituser"), "", 0, edituser, 0); WebcitAddUrlHandler(HKEY("create_user"), "", 0, create_user, 0); RegisterNamespace("USERLIST:USERNAME", 0, 1, tmplput_USERLIST_UserName, NULL, CTX_USERLIST); RegisterNamespace("USERLIST:PASSWD", 0, 1, tmplput_USERLIST_Password, NULL, CTX_USERLIST); RegisterNamespace("USERLIST:ACCLVLNO", 0, 0, tmplput_USERLIST_AccessLevelNo, NULL, CTX_USERLIST); RegisterNamespace("USERLIST:ACCLVLSTR", 0, 0, tmplput_USERLIST_AccessLevelStr, NULL, CTX_USERLIST); RegisterNamespace("USERLIST:UID", 0, 0, tmplput_USERLIST_UID, NULL, CTX_USERLIST); RegisterNamespace("USERLIST:LASTLOGON:STR", 0, 0, tmplput_USERLIST_LastLogonStr, NULL, CTX_USERLIST); RegisterNamespace("USERLIST:LASTLOGON:NO", 0, 0, tmplput_USERLIST_LastLogonNo, NULL, CTX_USERLIST); RegisterNamespace("USERLIST:NLOGONS", 0, 0, tmplput_USERLIST_nLogons, NULL, CTX_USERLIST); RegisterNamespace("USERLIST:NPOSTS", 0, 0, tmplput_USERLIST_nPosts, NULL, CTX_USERLIST); RegisterNamespace("USERLIST:FLAGS", 0, 0, tmplput_USERLIST_Flags, NULL, CTX_USERLIST); RegisterNamespace("USERLIST:DAYSTILLPURGE", 0, 0, tmplput_USERLIST_DaysTillPurge, NULL, CTX_USERLIST); RegisterNamespace("USER:BIO", 1, 2, tmplput_USER_BIO, NULL, CTX_NONE); RegisterConditional("COND:USERNAME", 0, ConditionalUser, CTX_USERLIST); RegisterConditional("COND:USERACCESS", 0, ConditionalUserAccess, CTX_USERLIST); RegisterConditional("COND:USERLIST:FLAG:USE_INTERNET", 0, ConditionalFlagINetEmail, CTX_USERLIST); RegisterConditional("COND:USERLIST:HAVEBIO", 0, ConditionalHaveBIO, CTX_USERLIST); RegisterConditional("COND:USER:PIC", 1, Conditional_USER_HAS_PIC, CTX_NONE); RegisterIterator("USERLIST", 0, NULL, iterate_load_userlist, NULL, DeleteHash, CTX_USERLIST, CTX_NONE, IT_FLAG_DETECT_GROUPCHANGE); RegisterSortFunc(HKEY("user:name"), HKEY("userlist"), CompareUserListName, CompareUserListNameRev, GroupchangeUserListName, CTX_USERLIST); RegisterSortFunc(HKEY("user:accslvl"), HKEY("userlist"), CompareAccessLevel, CompareAccessLevelRev, GroupchangeAccessLevel, CTX_USERLIST); RegisterSortFunc(HKEY("user:nlogons"), HKEY("userlist"), ComparenLogons, ComparenLogonsRev, GroupchangenLogons, CTX_USERLIST); RegisterSortFunc(HKEY("user:uid"), HKEY("userlist"), CompareUID, CompareUIDRev, GroupchangeUID, CTX_USERLIST); RegisterSortFunc(HKEY("user:lastlogon"), HKEY("userlist"), CompareLastLogon, CompareLastLogonRev, GroupchangeLastLogon, CTX_USERLIST); RegisterSortFunc(HKEY("user:nmsgposts"), HKEY("userlist"), ComparenPosts, ComparenPostsRev, GroupchangenPosts, CTX_USERLIST); REGISTERTokenParamDefine(AxDeleted); REGISTERTokenParamDefine(AxNewU); REGISTERTokenParamDefine(AxProbU); REGISTERTokenParamDefine(AxLocU); REGISTERTokenParamDefine(AxNetU); REGISTERTokenParamDefine(AxPrefU); REGISTERTokenParamDefine(AxAideU); } webcit-9.01-dfsg/utils.c000066400000000000000000000101241254743150300151470ustar00rootroot00000000000000/* * de/encoding stuff. hopefully mostly to be depricated in favour of subst.c + strbuf */ #define SHOW_ME_VAPPEND_PRINTF #include #include #include "webcit.h" /* * remove escaped strings from i.e. the url string (like %20 for blanks) */ long unescape_input(char *buf) { unsigned int a, b; char hex[3]; long buflen; long len; buflen = strlen(buf); while ((buflen > 0) && (isspace(buf[buflen - 1]))){ buf[buflen - 1] = 0; buflen --; } a = 0; while (a < buflen) { if (buf[a] == '+') buf[a] = ' '; if (buf[a] == '%') { /* don't let % chars through, rather truncate the input. */ if (a + 2 > buflen) { buf[a] = '\0'; buflen = a; } else { hex[0] = buf[a + 1]; hex[1] = buf[a + 2]; hex[2] = 0; b = 0; b = decode_hex(hex); buf[a] = (char) b; len = buflen - a - 2; if (len > 0) memmove(&buf[a + 1], &buf[a + 3], len); buflen -=2; } } a++; } return a; } /* * Copy a string, escaping characters which have meaning in HTML. * * target target buffer * strbuf source buffer * nbsp If nonzero, spaces are converted to non-breaking spaces. * nolinebreaks if set, linebreaks are removed from the string. */ long stresc(char *target, long tSize, char *strbuf, int nbsp, int nolinebreaks) { char *aptr, *bptr, *eptr; *target = '\0'; aptr = strbuf; bptr = target; eptr = target + tSize - 6; /* our biggest unit to put in... */ while ((bptr < eptr) && !IsEmptyStr(aptr) ){ if (*aptr == '<') { memcpy(bptr, "<", 4); bptr += 4; } else if (*aptr == '>') { memcpy(bptr, ">", 4); bptr += 4; } else if (*aptr == '&') { memcpy(bptr, "&", 5); bptr += 5; } else if (*aptr == '\"') { memcpy(bptr, """, 6); bptr += 6; } else if (*aptr == '\'') { memcpy(bptr, "'", 5); bptr += 5; } else if (*aptr == LB) { *bptr = '<'; bptr ++; } else if (*aptr == RB) { *bptr = '>'; bptr ++; } else if (*aptr == QU) { *bptr ='"'; bptr ++; } else if ((*aptr == 32) && (nbsp == 1)) { memcpy(bptr, " ", 6); bptr += 6; } else if ((*aptr == '\n') && (nolinebreaks)) { *bptr='\0'; /* nothing */ } else if ((*aptr == '\r') && (nolinebreaks)) { *bptr='\0'; /* nothing */ } else{ *bptr = *aptr; bptr++; } aptr ++; } *bptr = '\0'; if ((bptr = eptr - 1 ) && !IsEmptyStr(aptr) ) return -1; return (bptr - target); } /* * static wrapper for ecsputs1 */ void escputs(const char *strbuf) { StrEscAppend(WC->WBuf, NULL, strbuf, 0, 0); } /* * urlescape buffer and print it to the client */ void urlescputs(const char *strbuf) { StrBufUrlescAppend(WC->WBuf, NULL, strbuf); } /** * urlescape buffer and print it as header */ void hurlescputs(const char *strbuf) { StrBufUrlescAppend(WC->HBuf, NULL, strbuf); } /* * Output a string to the client as a CDATA block */ void cdataout(char *rawdata) { char *ptr = rawdata; wc_printf("", 3)) { wc_printf("]]]]>"); ++ptr; ++ptr; ++ptr; } else { wc_printf("%c", ptr[0]); ++ptr; } } wc_printf("]]>"); } webcit-9.01-dfsg/utils.h000066400000000000000000000013511254743150300151560ustar00rootroot00000000000000/* * Copyright (c) 1996-2013 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ void StrEscPuts(const StrBuf *strbuf); void StrEscputs1(const StrBuf *strbuf, int nbsp, int nolinebreaks); void urlescputs(const char *); void hurlescputs(const char *); long stresc(char *target, long tSize, char *strbuf, int nbsp, int nolinebreaks); void escputs(const char *strbuf); webcit-9.01-dfsg/vcard_edit.c000066400000000000000000001151261254743150300161230ustar00rootroot00000000000000/* * Copyright (c) 1996-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "webserver.h" #include "calendar.h" CtxType CTX_VCARD = CTX_NONE; ConstStr VCStr [] = { {HKEY("n")}, /* N is name, but only if there's no FN already there */ {HKEY("fn")}, /* FN (full name) is a true 'display name' field */ {HKEY("title")}, /* title */ {HKEY("org")}, /* organization */ {HKEY("email")}, {HKEY("tel")}, {HKEY("tel_tel")}, {HKEY("tel_work")}, {HKEY("tel_home")}, {HKEY("tel_cell")}, {HKEY("adr")}, {HKEY("photo")}, {HKEY("version")}, {HKEY("rev")}, {HKEY("label")} }; typedef enum _eVC{ VC_n, VC_fn, VC_title, VC_org, VC_email, VC_tel, VC_tel_tel, VC_tel_work, VC_tel_home, VC_tel_cell, VC_adr, VC_photo, VC_version, VC_rev, VC_label } eVC; HashList *VCToEnum = NULL; /* * Record compare function for sorting address book indices */ int abcmp(const void *ab1, const void *ab2) { return(strcasecmp( (((const addrbookent *)ab1)->ab_name), (((const addrbookent *)ab2)->ab_name) )); } /* * Helper function for do_addrbook_view() * Converts a name into a three-letter tab label */ void nametab(char *tabbuf, long len, char *name) { stresc(tabbuf, len, name, 0, 0); tabbuf[0] = toupper(tabbuf[0]); tabbuf[1] = tolower(tabbuf[1]); tabbuf[2] = tolower(tabbuf[2]); tabbuf[3] = 0; } /* * If it's an old "Firstname Lastname" style record, try to convert it. */ void lastfirst_firstlast(char *namebuf) { char firstname[SIZ]; char lastname[SIZ]; int i; if (namebuf == NULL) return; if (strchr(namebuf, ';') != NULL) return; i = num_tokens(namebuf, ' '); if (i < 2) return; extract_token(lastname, namebuf, i-1, ' ', sizeof lastname); remove_token(namebuf, i-1, ' '); strcpy(firstname, namebuf); sprintf(namebuf, "%s; %s", lastname, firstname); } wc_mime_attachment *load_vcard(message_summary *Msg) { HashPos *it; StrBuf *FoundCharset = NewStrBuf(); StrBuf *Error; void *vMime; const char *Key; long len; wc_mime_attachment *Mime; wc_mime_attachment *VCMime = NULL; Msg->MsgBody = (wc_mime_attachment*) malloc(sizeof(wc_mime_attachment)); memset(Msg->MsgBody, 0, sizeof(wc_mime_attachment)); Msg->MsgBody->msgnum = Msg->msgnum; load_message(Msg, FoundCharset, &Error); FreeStrBuf(&FoundCharset); /* look up the vcard... */ it = GetNewHashPos(Msg->AllAttach, 0); while (GetNextHashPos(Msg->AllAttach, it, &len, &Key, &vMime) && (vMime != NULL)) { Mime = (wc_mime_attachment*) vMime; if ((strcmp(ChrPtr(Mime->ContentType), "text/x-vcard") == 0) || (strcmp(ChrPtr(Mime->ContentType), "text/vcard") == 0)) { VCMime = Mime; break; } } DeleteHashPos(&it); if (VCMime == NULL) return NULL; if (VCMime->Data == NULL) MimeLoadData(VCMime); return VCMime; } /* * fetch the display name off a vCard */ void fetch_ab_name(message_summary *Msg, char **namebuf) { long len; int i; wc_mime_attachment *VCMime = NULL; if (namebuf == NULL) return; VCMime = load_vcard(Msg); if (VCMime == NULL) return; /* Grab the name off the card */ display_vcard(WC->WBuf, VCMime, 0, 0, namebuf, Msg->msgnum); if (*namebuf != NULL) { lastfirst_firstlast(*namebuf); striplt(*namebuf); len = strlen(*namebuf); for (i=0; i 0) { if (original_name[len-1] == ' ') { original_name[--len] = 0; } if (original_name[len-1] == ';') { original_name[--len] = 0; } } } strcpy(name, ""); j=0; for (i=0; i"); name = vcard_get_prop(v, "fn", 1, 0, 0); if (name != NULL) { StrEscAppend(Target, NULL, name, 0, 0); } else if (name = vcard_get_prop(v, "n", 1, 0, 0), name != NULL) { strcpy(fullname, name); vcard_n_prettyize(fullname); StrEscAppend(Target, NULL, fullname, 0, 0); } else { StrBufAppendPrintf(Target, " "); } StrBufAppendPrintf(Target, ""); return; } StrBufAppendPrintf(Target, "
    " ""); for (pass=1; pass<=2; ++pass) { if (v->numprops) for (i=0; i<(v->numprops); ++i) { int len; thisname = strdup(v->prop[i].name); extract_token(firsttoken, thisname, 0, ';', sizeof firsttoken); for (j=0; jprop[i].value); /* if we have some untagged QP, detect it here. */ if (!is_qp && (strstr(v->prop[i].value, "=?")!=NULL)) utf8ify_rfc822_string(&v->prop[i].value); if (is_qp) { // %ff can become 6 bytes in utf8 thisvalue = malloc(len * 2 + 3); j = CtdlDecodeQuotedPrintable( thisvalue, v->prop[i].value, len); thisvalue[j] = 0; } else if (is_b64) { // ff will become one byte.. thisvalue = malloc(len + 50); CtdlDecodeBase64( thisvalue, v->prop[i].value, strlen(v->prop[i].value) ); } else { thisvalue = strdup(v->prop[i].value); } /* Various fields we may encounter ***/ /* N is name, but only if there's no FN already there */ if (!strcasecmp(firsttoken, "n")) { if (IsEmptyStr(fullname)) { strcpy(fullname, thisvalue); vcard_n_prettyize(fullname); } } /* FN (full name) is a true 'display name' field */ else if (!strcasecmp(firsttoken, "fn")) { strcpy(fullname, thisvalue); } /* title */ else if (!strcasecmp(firsttoken, "title")) { strcpy(title, thisvalue); } /* organization */ else if (!strcasecmp(firsttoken, "org")) { strcpy(org, thisvalue); } else if (!strcasecmp(firsttoken, "email")) { size_t len; if (!IsEmptyStr(mailto)) strcat(mailto, "
    "); strcat(mailto, ""); strcat(mailto, "\">"); len = strlen(mailto); stresc(mailto+len, SIZ - len, thisvalue, 1, 1); strcat(mailto, ""); } else if (!strcasecmp(firsttoken, "tel")) { if (!IsEmptyStr(phone)) strcat(phone, "
    "); strcat(phone, thisvalue); for (j=0; j
    \n"); } } /* else if (!strcasecmp(firsttoken, "photo") && full && pass == 2) { // Only output on second pass StrBufAppendPrintf(Target, "\n"); } */ else if (!strcasecmp(firsttoken, "version")) { /* ignore */ } else if (!strcasecmp(firsttoken, "rev")) { /* ignore */ } else if (!strcasecmp(firsttoken, "label")) { /* ignore */ } else { /*** Don't show extra fields. They're ugly. if (pass == 2) { StrBufAppendPrintf(Target, "\n"); } ***/ } free(thisname); free(thisvalue); } if (pass == 1) { StrBufAppendPrintf(Target, "" "\n"); if (!IsEmptyStr(phone)) { StrBufAppendPrintf(Target, "\n", phone); } if (!IsEmptyStr(mailto)) { StrBufAppendPrintf(Target, "\n", mailto); } } } StrBufAppendPrintf(Target, "
    "); StrBufAppendPrintf(Target, _("Address:")); StrBufAppendPrintf(Target, ""); for (j=0; j"); else StrBufAppendPrintf(Target, " "); } } StrBufAppendPrintf(Target, "
    "); StrBufAppendPrintf(Target, _("Photo:")); StrBufAppendPrintf(Target, ""); StrBufAppendPrintf(Target, "\"Contact",msgnum); StrBufAppendPrintf(Target, "
    "); StrEscAppend(Target, NULL, thisname, 0, 0); StrBufAppendPrintf(Target, ""); StrEscAppend(Target, NULL, thisvalue, 0, 0); StrBufAppendPrintf(Target, "
    " "" ""); StrEscAppend(Target, NULL, fullname, 0, 0); StrBufAppendPrintf(Target, ""); if (!IsEmptyStr(title)) { StrBufAppendPrintf(Target, "
    \""); StrEscAppend(Target, NULL, title, 0, 0); StrBufAppendPrintf(Target, "
    "); } if (!IsEmptyStr(org)) { StrBufAppendPrintf(Target, "
    "); StrEscAppend(Target, NULL, org, 0, 0); StrBufAppendPrintf(Target, "
    "); } StrBufAppendPrintf(Target, "
    "); StrBufAppendPrintf(Target, _("Telephone:")); StrBufAppendPrintf(Target, "%s
    "); StrBufAppendPrintf(Target, _("E-mail:")); StrBufAppendPrintf(Target, "%s
    \n"); } /* * html print a vcard * display_vcard() calls this after parsing the textual vCard into * our 'struct vCard' data object. * * Set 'full' to nonzero to display the full card, otherwise it will only * show a summary line. * * This code is a bit ugly, so perhaps an explanation is due: we do this * in two passes through the vCard fields. On the first pass, we process * fields we understand, and then render them in a pretty fashion at the * end. Then we make a second pass, outputting all the fields we don't * understand in a simple two-column name/value format. * v the vCard to display * full display all items of the vcard? * msgnum Citadel message pointer */ void parse_vcard(StrBuf *Target, struct vCard *v, HashList *VC, int full, wc_mime_attachment *Mime) { StrBuf *Val = NULL; StrBuf *Swap = NULL; int i, j; char buf[SIZ]; int is_qp = 0; int is_b64 = 0; StrBuf *thisname = NULL; char firsttoken[SIZ]; void *V; Swap = NewStrBuf (); thisname = NewStrBuf(); for (i=0; i<(v->numprops); ++i) { is_qp = 0; is_b64 = 0; StrBufPlain(thisname, v->prop[i].name, -1); StrBufLowerCase(thisname); /*len = */extract_token(firsttoken, ChrPtr(thisname), 0, ';', sizeof firsttoken); for (j=0; jprop[i].value, -1); /* if we have some untagged QP, detect it here. */ if (is_qp || (strstr(v->prop[i].value, "=?")!=NULL)){ StrBuf *b; StrBuf_RFC822_to_Utf8(Swap, Val, NULL, NULL); /* default charset, current charset */ b = Val; Val = Swap; Swap = b; FlushStrBuf(Swap); } else if (is_b64) { StrBufDecodeBase64(Val); } syslog(LOG_DEBUG, "%s [%s][%s]", firsttoken, ChrPtr(Val), v->prop[i].value); if (GetHash(VCToEnum, firsttoken, strlen(firsttoken), &V)) { eVC evc = (eVC) V; Put(VC, IKEY(evc), Val, HFreeStrBuf); syslog(LOG_DEBUG, "[%ul]\n", evc); Val = NULL; } else syslog(LOG_DEBUG, "[]\n"); /* TODO: check for layer II else { long max = num_tokens(thisname, ';'); firsttoken[len] = '_'; for (j = 0; j < max; j++) { // firsttoken[len] extract_token(buf, thisname, j, ';', sizeof (buf)); if (!strcasecmp(buf, "tel")) strcat(phone, ""); else if (!strcasecmp(buf, "work")) strcat(phone, _(" (work)")); else if (!strcasecmp(buf, "home")) strcat(phone, _(" (home)")); else if (!strcasecmp(buf, "cell")) strcat(phone, _(" (cell)")); else { strcat(phone, " ("); strcat(phone, buf); strcat(phone, ")"); } } } } */ FreeStrBuf(&Val); free(thisname); thisname = NULL; } } void tmplput_VCARD_ITEM(StrBuf *Target, WCTemplputParams *TP) { HashList *VC = CTX(CTX_VCARD); eVC evc; void *vStr; evc = GetTemplateTokenNumber(Target, TP, 0, -1); if (evc != -1) { if (GetHash(VC, IKEY(evc), &vStr)) { StrBufAppendTemplate(Target, TP, (StrBuf*) vStr, 1); } } } void new_vcard (StrBuf *Target, struct vCard *v, int full, wc_mime_attachment *Mime) { HashList *VC; WCTemplputParams SubTP; memset(&SubTP, 0, sizeof(WCTemplputParams)); VC = NewHash(0, Flathash); parse_vcard(Target, v, VC, full, Mime); SubTP.Filter.ContextType = CTX_VCARD; SubTP.Context = VC; DoTemplate(HKEY("test_vcard"), Target, &SubTP); DeleteHash(&VC); } /* * Display a textual vCard * (Converts to a vCard object and then calls the actual display function) * Set 'full' to nonzero to display the whole card instead of a one-liner. * Or, if "storename" is non-NULL, just store the person's name in that * buffer instead of displaying the card at all. * * vcard_source the buffer containing the vcard text * alpha Display only if name begins with this letter of the alphabet * full Display the full vCard (otherwise just the display name) * storename If not NULL, also store the display name here * msgnum Citadel message pointer */ void display_vcard(StrBuf *Target, wc_mime_attachment *Mime, char alpha, int full, char **storename, long msgnum) { struct vCard *v; char *name; StrBuf *Buf; StrBuf *Buf2; char this_alpha = 0; v = VCardLoad(Mime->Data); if (v == NULL) return; name = vcard_get_prop(v, "n", 1, 0, 0); if (name != NULL) { Buf = NewStrBufPlain(name, -1); Buf2 = NewStrBufPlain(NULL, StrLength(Buf)); StrBuf_RFC822_to_Utf8(Buf2, Buf, WC->DefaultCharset, NULL); this_alpha = ChrPtr(Buf)[0]; FreeStrBuf(&Buf); FreeStrBuf(&Buf2); } if (storename != NULL) { fetchname_parsed_vcard(v, storename); } else if ((alpha == 0) || ((isalpha(alpha)) && (tolower(alpha) == tolower(this_alpha))) || ((!isalpha(alpha)) && (!isalpha(this_alpha))) ) { #ifdef XXX_XXX new_vcard (Target, v, full, Mime); #else display_parsed_vcard(Target, v, full, Mime); #endif } vcard_free(v); } /* * Render the address book using info we gathered during the scan * * addrbook the addressbook to render * num_ab the number of the addressbook */ void do_addrbook_view(addrbookent *addrbook, int num_ab) { int i = 0; int displayed = 0; int bg = 0; static int NAMESPERPAGE = 60; int num_pages = 0; int tabfirst = 0; char tabfirst_label[64]; int tablast = 0; char tablast_label[64]; char this_tablabel[64]; int page = 0; char **tablabels; if (num_ab == 0) { wc_printf("


    "); wc_printf(_("This address book is empty.")); wc_printf("
    \n"); return; } if (num_ab > 1) { qsort(addrbook, num_ab, sizeof(addrbookent), abcmp); } num_pages = (num_ab / NAMESPERPAGE) + 1; tablabels = malloc(num_pages * sizeof (char *)); if (tablabels == NULL) { wc_printf("


    "); wc_printf(_("An internal error has occurred.")); wc_printf("
    \n"); return; } for (i=0; i (num_ab - 1)) tablast = (num_ab - 1); nametab(tabfirst_label, 64, addrbook[tabfirst].ab_name); nametab(tablast_label, 64, addrbook[tablast].ab_name); sprintf(this_tablabel, "%s - %s", tabfirst_label, tablast_label); tablabels[i] = strdup(this_tablabel); } tabbed_dialog(num_pages, tablabels); page = (-1); for (i=0; i 0) { wc_printf("\n"); end_tab(page-1, num_pages); } begin_tab(page, num_pages); wc_printf("\n"); displayed = 0; } if ((displayed % 4) == 0) { if (displayed > 0) { wc_printf("\n"); } bg = 1 - bg; wc_printf("", (bg ? "dddddd" : "ffffff") ); } wc_printf("\n"); ++displayed; } /* Placeholders for empty columns at end */ if ((num_ab % 4) != 0) { for (i=0; i<(4-(num_ab % 4)); ++i) { wc_printf(""); } } wc_printf("
    "); wc_printf("", bstr("alpha")); vcard_n_prettyize(addrbook[i].ab_name); escputs(addrbook[i].ab_name); wc_printf(" 
    \n"); end_tab((num_pages-1), num_pages); begin_tab(num_pages, num_pages); /* FIXME there ought to be something here */ end_tab(num_pages, num_pages); for (i=0; i= 0) || ((VCMsg != NULL) && (VCAtt != NULL))) { if ((VCMsg == NULL) && (VCAtt == NULL)) { Msg = (message_summary *) malloc(sizeof(message_summary)); memset(Msg, 0, sizeof(message_summary)); Msg->msgnum = msgnum; VCMime = load_vcard(Msg); if (VCMime == NULL) { convenience_page("770000", _("Error"), "");///TODO: important message DestroyMessageSummary(Msg); return; } v = VCardLoad(VCMime->Data); } else { v = VCardLoad(VCAtt->Data); } /* Populate the variables for our form */ i = 0; while (key = vcard_get_prop(v, "", 0, i, 1), key != NULL) { char prp[256]; /* property name */ char prm[256]; /* parameters */ value = vcard_get_prop(v, "", 0, i++, 0); extract_token(prp, key, 0, ';', sizeof prp); safestrncpy(prm, key, sizeof prm); remove_token(prm, 0, ';'); if (!strcasecmp(prp, "n")) { extract_token(lastname, value, 0, ';', sizeof lastname); extract_token(firstname, value, 1, ';', sizeof firstname); extract_token(middlename, value, 2, ';', sizeof middlename); extract_token(prefix, value, 3, ';', sizeof prefix); extract_token(suffix, value, 4, ';', sizeof suffix); } else if (!strcasecmp(prp, "fn")) { safestrncpy(fullname, value, sizeof fullname); } else if (!strcasecmp(prp, "title")) { safestrncpy(title, value, sizeof title); } else if (!strcasecmp(prp, "org")) { safestrncpy(org, value, sizeof org); } else if (!strcasecmp(prp, "adr")) { extract_token(pobox, value, 0, ';', sizeof pobox); extract_token(extadr, value, 1, ';', sizeof extadr); extract_token(street, value, 2, ';', sizeof street); extract_token(city, value, 3, ';', sizeof city); extract_token(state, value, 4, ';', sizeof state); extract_token(zipcode, value, 5, ';', sizeof zipcode); extract_token(country, value, 6, ';', sizeof country); } else if (!strcasecmp(prp, "tel")) { if (bmstrcasestr(prm, "home")) { extract_token(hometel, value, 0, ';', sizeof hometel); } else if (bmstrcasestr(prm, "work")) { extract_token(worktel, value, 0, ';', sizeof worktel); } else if (bmstrcasestr(prm, "fax")) { extract_token(faxtel, value, 0, ';', sizeof faxtel); } else if (bmstrcasestr(prm, "cell")) { extract_token(mobiletel, value, 0, ';', sizeof mobiletel); } else { /* Missing or unknown type; put it in the home phone */ extract_token(hometel, value, 0, ';', sizeof hometel); } } else if ( (!strcasecmp(prp, "email")) && (bmstrcasestr(prm, "internet")) ) { if (primary_inetemail[0] == 0) { safestrncpy(primary_inetemail, value, sizeof primary_inetemail); } else { if (other_inetemail[0] != 0) { strcat(other_inetemail, "\n"); } strcat(other_inetemail, value); } } /* Unrecognized properties are preserved here so we don't discard them * just because the vCard was edited with WebCit. */ else { strcat(extrafields, key); strcat(extrafields, ":"); strcat(extrafields, value); strcat(extrafields, "\n"); } } vcard_free(v); } /* Display the form */ output_headers(1, 1, 1, 0, 0, 0); do_template("box_begin_1"); StrBufAppendBufPlain(WC->WBuf, _("Edit contact information"), -1, 0); do_template("box_begin_2"); wc_printf("
    \n"); wc_printf("\n", WC->nonce); if (force_room != NULL) { wc_printf("\n"); } else { wc_printf("WBuf, WCC->CurRoom.name, NULL, 0, 0); wc_printf("\">\n"); } wc_printf("
    \n"); wc_printf("" "" "" "" "" "\n", _("Prefix"), _("First Name"), _("Middle Name"), _("Last Name"), _("Suffix") ); wc_printf("", prefix); wc_printf("", firstname); wc_printf("", middlename); wc_printf("", lastname); wc_printf("
    %s%s%s%s%s
    \n", suffix); wc_printf(""); wc_printf("
    "); wc_printf(_("Display name:")); wc_printf("
    " "

    \n", fullname ); wc_printf(_("Title:")); wc_printf("
    " "

    \n", title ); wc_printf(_("Organization:")); wc_printf("
    " "

    \n", org ); wc_printf("
    "); wc_printf(""); wc_printf("\n", pobox); wc_printf("\n", extadr); wc_printf("\n", street); wc_printf("\n", city); wc_printf("\n", state); wc_printf("\n", zipcode); wc_printf("\n", country); wc_printf("
    "); wc_printf(_("PO box:")); wc_printf("" "
    "); wc_printf(_("Address:")); wc_printf("" "
    " "
    "); wc_printf(_("City:")); wc_printf("" "
    "); wc_printf(_("State:")); wc_printf("" "
    "); wc_printf(_("ZIP code:")); wc_printf("" "
    "); wc_printf(_("Country:")); wc_printf("" "
    \n"); wc_printf("
    \n"); wc_printf("" "\n", hometel); wc_printf("" "\n", worktel); wc_printf("" "\n", mobiletel); wc_printf("" "
    "); wc_printf(_("Home telephone:")); wc_printf(""); wc_printf(_("Work telephone:")); wc_printf("
    "); wc_printf(_("Mobile telephone:")); wc_printf(""); wc_printf(_("Fax number:")); wc_printf("
    \n", faxtel); wc_printf(""); wc_printf("
    "); wc_printf("" "
    "); wc_printf(_("Primary Internet e-mail address")); wc_printf("
    " "
    " "
    "); wc_printf(_("Internet e-mail aliases")); wc_printf("
    " "
    \n"); wc_printf("
    \n"); wc_printf("\n"); wc_printf("\n"); wc_printf("
    \n" "" " " "" "
    \n", _("Save changes"), _("Cancel") ); wc_printf("
    \n"); do_template("box_end"); wDumpContent(1); if (Msg != NULL) { DestroyMessageSummary(Msg); } } /* * commit the edits to the citadel server */ void edit_vcard(void) { long msgnum; char *partnum; msgnum = lbstr("msgnum"); partnum = bstr("partnum"); do_edit_vcard(msgnum, partnum, NULL, NULL, "", NULL); } /* * parse edited vcard from the browser */ void submit_vcard(void) { struct vCard *v; char *serialized_vcard; char buf[SIZ]; StrBuf *Buf; const StrBuf *ForceRoom; int i; if (!havebstr("ok_button")) { readloop(readnew, eUseDefault); return; } if (havebstr("force_room")) { ForceRoom = sbstr("force_room"); if (gotoroom(ForceRoom) != 200) { AppendImportantMessage(_("Unable to enter the room to save your message"), -1); AppendImportantMessage(HKEY(": ")); AppendImportantMessage(SKEY(ForceRoom)); AppendImportantMessage(HKEY("; ")); AppendImportantMessage(_("Aborting."), -1); if (!strcmp(bstr("return_to"), "select_user_to_edit")) { select_user_to_edit(NULL); } else if (!strcmp(bstr("return_to"), "do_welcome")) { do_welcome(); } else if (!IsEmptyStr(bstr("return_to"))) { http_redirect(bstr("return_to")); } else { readloop(readnew, eUseDefault); } return; } } Buf = NewStrBuf(); serv_write(HKEY("ENT0 1|||4\n")); if (!StrBuf_ServGetln(Buf) && (GetServerStatus(Buf, NULL) != 4)) { edit_vcard(); return; } /* Make a vCard structure out of the data supplied in the form */ StrBufPrintf(Buf, "begin:vcard\r\n%s\r\nend:vcard\r\n", bstr("extrafields") ); v = VCardLoad(Buf); /* Start with the extra fields */ if (v == NULL) { AppendImportantMessage(_("An error has occurred."), -1); edit_vcard(); FreeStrBuf(&Buf); return; } snprintf(buf, sizeof buf, "%s;%s;%s;%s;%s", bstr("lastname"), bstr("firstname"), bstr("middlename"), bstr("prefix"), bstr("suffix") ); vcard_add_prop(v, "n", buf); vcard_add_prop(v, "title", bstr("title")); vcard_add_prop(v, "fn", bstr("fullname")); vcard_add_prop(v, "org", bstr("org")); snprintf(buf, sizeof buf, "%s;%s;%s;%s;%s;%s;%s", bstr("pobox"), bstr("extadr"), bstr("street"), bstr("city"), bstr("state"), bstr("zipcode"), bstr("country") ); vcard_add_prop(v, "adr", buf); vcard_add_prop(v, "tel;home", bstr("hometel")); vcard_add_prop(v, "tel;work", bstr("worktel")); vcard_add_prop(v, "tel;fax", bstr("faxtel")); vcard_add_prop(v, "tel;cell", bstr("mobiletel")); vcard_add_prop(v, "email;internet", bstr("primary_inetemail")); for (i=0; iHdr->HR.ReqLine, 0, '/'); vcard = load_mimepart(msgnum,"1"); v = VCardLoad(vcard); photosrc = vcard_get_prop(v, "PHOTO", 1,0,0); FlushStrBuf(WCC->WBuf); StrBufAppendBufPlain(WCC->WBuf, photosrc, -1, 0); if (StrBufDecodeBase64(WCC->WBuf) <= 0) { FlushStrBuf(WCC->WBuf); hprintf("HTTP/1.1 500 %s\n","Unable to get photo"); output_headers(0, 0, 0, 0, 0, 0); hprintf("Content-Type: text/plain\r\n"); begin_burst(); wc_printf(_("Could Not decode vcard photo\n")); end_burst(); return; } contentType = GuessMimeType(ChrPtr(WCC->WBuf), StrLength(WCC->WBuf)); http_transmit_thing(contentType, 0); free(v); free(photosrc); } typedef struct _vcardview_struct { long is_singlecard; addrbookent *addrbook; long num_ab; } vcardview_struct; int vcard_GetParamsGetServerCall(SharedMessageStatus *Stat, void **ViewSpecific, long oper, char *cmd, long len, char *filter, long flen) { vcardview_struct *VS; VS = (vcardview_struct*) malloc (sizeof(vcardview_struct)); memset(VS, 0, sizeof(vcardview_struct)); *ViewSpecific = (void*)VS; VS->is_singlecard = ibstr("is_singlecard"); if (VS->is_singlecard != 1) { if (oper == do_search) { snprintf(cmd, len, "MSGS SEARCH|%s", bstr("query")); } else { strcpy(cmd, "MSGS ALL"); } Stat->maxmsgs = 9999999; } return 200; } int vcard_LoadMsgFromServer(SharedMessageStatus *Stat, void **ViewSpecific, message_summary* Msg, int is_new, int i) { vcardview_struct *VS; char *ab_name; VS = (vcardview_struct*) *ViewSpecific; ab_name = NULL; fetch_ab_name(Msg, &ab_name); if (ab_name == NULL) return 0; ++VS->num_ab; VS->addrbook = realloc(VS->addrbook, (sizeof(addrbookent) * VS->num_ab) ); safestrncpy(VS->addrbook[VS->num_ab-1].ab_name, ab_name, sizeof(VS->addrbook[VS->num_ab-1].ab_name)); VS->addrbook[VS->num_ab-1].ab_msgnum = Msg->msgnum; free(ab_name); return 0; } int vcard_RenderView_or_Tail(SharedMessageStatus *Stat, void **ViewSpecific, long oper) { const StrBuf *Mime; vcardview_struct *VS; VS = (vcardview_struct*) *ViewSpecific; if (VS->is_singlecard) read_message(WC->WBuf, HKEY("view_message"), lbstr("startmsg"), NULL, &Mime); else do_addrbook_view(VS->addrbook, VS->num_ab); /* Render the address book */ return 0; } int vcard_Cleanup(void **ViewSpecific) { vcardview_struct *VS; VS = (vcardview_struct*) *ViewSpecific; wDumpContent(1); if ((VS != NULL) && (VS->addrbook != NULL)) free(VS->addrbook); if (VS != NULL) free(VS); return 0; } void ServerStartModule_VCARD (void) { VCToEnum = NewHash(0, NULL); } void ServerShutdownModule_VCARD (void) { DeleteHash(&VCToEnum); } void InitModule_VCARD (void) { RegisterCTX(CTX_VCARD); RegisterReadLoopHandlerset( VIEW_ADDRESSBOOK, vcard_GetParamsGetServerCall, NULL, NULL, NULL, vcard_LoadMsgFromServer, vcard_RenderView_or_Tail, vcard_Cleanup); WebcitAddUrlHandler(HKEY("edit_vcard"), "", 0, edit_vcard, 0); WebcitAddUrlHandler(HKEY("submit_vcard"), "", 0, submit_vcard, 0); WebcitAddUrlHandler(HKEY("vcardphoto"), "", 0, display_vcard_photo_img, NEED_URL); Put(VCToEnum, HKEY("n"), (void*)VC_n, reference_free_handler); Put(VCToEnum, HKEY("fn"), (void*)VC_fn, reference_free_handler); Put(VCToEnum, HKEY("title"), (void*)VC_title, reference_free_handler); Put(VCToEnum, HKEY("org"), (void*)VC_org, reference_free_handler); Put(VCToEnum, HKEY("email"), (void*)VC_email, reference_free_handler); Put(VCToEnum, HKEY("tel"), (void*)VC_tel, reference_free_handler); Put(VCToEnum, HKEY("tel_tel"), (void*)VC_tel_tel, reference_free_handler); Put(VCToEnum, HKEY("tel_work"), (void*)VC_tel_work, reference_free_handler); Put(VCToEnum, HKEY("tel_home"), (void*)VC_tel_home, reference_free_handler); Put(VCToEnum, HKEY("tel_cell"), (void*)VC_tel_cell, reference_free_handler); Put(VCToEnum, HKEY("adr"), (void*)VC_adr, reference_free_handler); Put(VCToEnum, HKEY("photo"), (void*)VC_photo, reference_free_handler); Put(VCToEnum, HKEY("version"), (void*)VC_version, reference_free_handler); Put(VCToEnum, HKEY("rev"), (void*)VC_rev, reference_free_handler); Put(VCToEnum, HKEY("label"), (void*)VC_label, reference_free_handler); RegisterNamespace("VC", 1, 2, tmplput_VCARD_ITEM, NULL, CTX_VCARD); REGISTERTokenParamDefine(VC_n); REGISTERTokenParamDefine(VC_fn); REGISTERTokenParamDefine(VC_title); REGISTERTokenParamDefine(VC_org); REGISTERTokenParamDefine(VC_email); REGISTERTokenParamDefine(VC_tel); REGISTERTokenParamDefine(VC_tel_tel); REGISTERTokenParamDefine(VC_tel_work); REGISTERTokenParamDefine(VC_tel_home); REGISTERTokenParamDefine(VC_tel_cell); REGISTERTokenParamDefine(VC_adr); REGISTERTokenParamDefine(VC_photo); REGISTERTokenParamDefine(VC_version); REGISTERTokenParamDefine(VC_rev); REGISTERTokenParamDefine(VC_label); } webcit-9.01-dfsg/webcit.c000066400000000000000000000616641254743150300153030ustar00rootroot00000000000000/* * This is the main transaction loop of the web service. It maintains a * persistent session to the Citadel server, handling HTTP WebCit requests as * they arrive and presenting a user interface. * * Copyright (c) 1996-2013 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. */ #define SHOW_ME_VAPPEND_PRINTF #include #include #include "webcit.h" #include "dav.h" #include "webserver.h" StrBuf *csslocal = NULL; HashList *HandlerHash = NULL; void stuff_to_cookie(int unset_cookie); extern int GetConnected(void); extern int verbose; void PutRequestLocalMem(void *Data, DeleteHashDataFunc DeleteIt) { wcsession *WCC = WC; int n; n = GetCount(WCC->Hdr->HTTPHeaders); Put(WCC->Hdr->HTTPHeaders, IKEY(n), Data, DeleteIt); } void DeleteWebcitHandler(void *vHandler) { WebcitHandler *Handler = (WebcitHandler*) vHandler; FreeStrBuf(&Handler->Name); FreeStrBuf(&Handler->DisplayName); free (Handler); } void WebcitAddUrlHandler(const char * UrlString, long UrlSLen, const char *DisplayName, long dslen, WebcitHandlerFunc F, long Flags) { WebcitHandler *NewHandler; NewHandler = (WebcitHandler*) malloc(sizeof(WebcitHandler)); NewHandler->F = F; NewHandler->Flags = Flags; NewHandler->Name = NewStrBufPlain(UrlString, UrlSLen); StrBufShrinkToFit(NewHandler->Name, 1); NewHandler->DisplayName = NewStrBufPlain(DisplayName, dslen); StrBufShrinkToFit(NewHandler->DisplayName, 1); Put(HandlerHash, UrlString, UrlSLen, NewHandler, DeleteWebcitHandler); } void tmplput_HANDLER_DISPLAYNAME(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if (WCC->Hdr->HR.Handler != NULL) StrBufAppendTemplate(Target, TP, WCC->Hdr->HR.Handler->DisplayName, 0); } /* * web-printing funcion. uses our vsnprintf wrapper */ #ifdef UBER_VERBOSE_DEBUGGING void wcc_printf(const char *FILE, const char *FUNCTION, long LINE, const char *format,...) #else void wc_printf(const char *format,...) #endif { wcsession *WCC = WC; va_list arg_ptr; if (WCC->WBuf == NULL) WCC->WBuf = NewStrBuf(); #ifdef UBER_VERBOSE_DEBUGGING StrBufAppendPrintf(WCC->WBuf, "\n%s:%s:%d[", FILE, FUNCTION, LINE); #endif va_start(arg_ptr, format); StrBufVAppendPrintf(WCC->WBuf, format, arg_ptr); va_end(arg_ptr); #ifdef UBER_VERBOSE_DEBUGGING StrBufAppendPrintf(WCC->WBuf, "]\n"); #endif } /* * http-header-printing funcion. uses our vsnprintf wrapper */ void hprintf(const char *format,...) { wcsession *WCC = WC; va_list arg_ptr; va_start(arg_ptr, format); StrBufVAppendPrintf(WCC->HBuf, format, arg_ptr); va_end(arg_ptr); } /* * wrap up an HTTP session, closes tags, etc. * * print_standard_html_footer should be set to: * 0 - to transmit only, * nonzero - to append the closing tags */ void wDumpContent(int print_standard_html_footer) { if (print_standard_html_footer) { wc_printf("
    \n"); do_template("trailing"); } /* If we've been saving it all up for one big output burst, * go ahead and do that now. */ end_burst(); } /* * Output HTTP headers and leading HTML for a page */ void output_headers( int do_httpheaders, /* 1 = output HTTP headers */ int do_htmlhead, /* 1 = output HTML section and opener */ int do_room_banner, /* 1 = include the room banner and
    */ int unset_cookies, /* 1 = session is terminating, so unset the cookies */ int suppress_check, /* 1 = suppress check for instant messages */ int cache /* 1 = allow browser to cache this page */ ) { wcsession *WCC = WC; char httpnow[128]; if (WCC->Hdr->HaveRange > 1) hprintf("HTTP/1.1 206 Partial Content\r\n"); else hprintf("HTTP/1.1 200 OK\r\n"); http_datestring(httpnow, sizeof httpnow, time(NULL)); if (do_httpheaders) { if (WCC->serv_info != NULL) hprintf("Content-type: text/html; charset=utf-8\r\n" "Server: %s / %s\n" "Connection: close\r\n", PACKAGE_STRING, ChrPtr(WCC->serv_info->serv_software)); else hprintf("Content-type: text/html; charset=utf-8\r\n" "Server: %s / [n/a]\n" "Connection: close\r\n", PACKAGE_STRING); } if (cache > 0) { char httpTomorow[128]; http_datestring(httpTomorow, sizeof httpTomorow, time(NULL) + 60 * 60 * 24 * 2); hprintf("Pragma: public\r\n" "Cache-Control: max-age=3600, must-revalidate\r\n" "Last-modified: %s\r\n" "Expires: %s\r\n", httpnow, httpTomorow ); } else { hprintf("Pragma: no-cache\r\n" "Cache-Control: no-store\r\n" "Expires: -1\r\n" ); } if (cache < 2) stuff_to_cookie(unset_cookies); if (do_htmlhead) { begin_burst(); do_template("head"); if ( (WCC->logged_in) && (!unset_cookies) ) { DoTemplate(HKEY("paging"), NULL, &NoCtx); } if (do_room_banner) { tmplput_roombanner(NULL, NULL); } } if (do_room_banner) { wc_printf("
    \n"); } } void output_custom_content_header(const char *ctype) { hprintf("HTTP/1.1 200 OK\r\n"); hprintf("Content-type: %s; charset=utf-8\r\n",ctype); hprintf("Server: %s / %s\r\n", PACKAGE_STRING, ChrPtr(WC->serv_info->serv_software)); hprintf("Connection: close\r\n"); } /* * Generic function to do an HTTP redirect. Easy and fun. */ void http_redirect(const char *whichpage) { hprintf("HTTP/1.1 302 Moved Temporarily\n"); hprintf("Location: %s\r\n", whichpage); hprintf("URI: %s\r\n", whichpage); hprintf("Content-type: text/html; charset=utf-8\r\n"); stuff_to_cookie(0); begin_burst(); wc_printf(""); wc_printf("Go here.", whichpage); wc_printf("\n"); end_burst(); } /* * Output a piece of content to the web browser using conformant HTTP and MIME semantics. * * If this function is called, it is expected that begin_burst() has already been called * and some sort of content has been fed into the buffer. This function will transmit a * bunch of headers to the client. end_burst() will add some headers of its own, and then * transmit the buffered content to the client. */ void http_transmit_thing(const char *content_type, int is_static) { if (verbose) syslog(LOG_DEBUG, "http_transmit_thing(%s)%s", content_type, ((is_static > 0) ? " (static)" : "")); output_headers(0, 0, 0, 0, 0, is_static); hprintf("Content-type: %s\r\n" "Server: %s\r\n" "Connection: close\r\n", content_type, PACKAGE_STRING); end_burst(); } void http_transmit_headers(const char *content_type, int is_static, long is_chunked, int is_gzip) { wcsession *WCC = WC; if (verbose) syslog(LOG_DEBUG, "http_transmit_thing(%s)%s", content_type, ((is_static > 0) ? " (static)" : "")); output_headers(0, 0, 0, 0, 0, is_static); if (is_gzip) hprintf("Content-encoding: gzip\r\n"); if (WCC->Hdr->HaveRange) hprintf("Accept-Ranges: bytes\r\n" "Content-Range: bytes %ld-%ld/%ld\r\n", WCC->Hdr->RangeStart, WCC->Hdr->RangeTil, WCC->Hdr->TotalBytes); hprintf("Content-type: %s\r\n" "Server: "PACKAGE_STRING"\r\n" "%s" "Connection: close\r\n\r\n", content_type, (is_chunked)?"Transfer-Encoding: chunked\r\n":""); } /* * Convenience functions to display a page containing only a string * * titlebarcolor color of the titlebar of the frame * titlebarmsg text to display in the title bar * messagetext body of the box */ void convenience_page(const char *titlebarcolor, const char *titlebarmsg, const char *messagetext) { hprintf("HTTP/1.1 200 OK\n"); output_headers(1, 1, 1, 0, 0, 0); wc_printf("
    \n"); wc_printf("
    ", titlebarcolor); wc_printf("%s\n", titlebarmsg); wc_printf("
    \n"); wc_printf("
    \n
    \n"); escputs(messagetext); wc_printf("
    \n"); wDumpContent(1); } /* * Display a blank page. */ void blank_page(void) { output_headers(1, 1, 0, 0, 0, 0); wDumpContent(2); } /* * A template has been requested */ void url_do_template(void) { const StrBuf *MimeType; const StrBuf *Tmpl = sbstr("template"); begin_burst(); MimeType = DoTemplate(SKEY(Tmpl), NULL, &NoCtx); http_transmit_thing(ChrPtr(MimeType), 0); } /* * convenience function to indicate success */ void display_success(const char *successmessage) { convenience_page("007700", "OK", successmessage); } /* * Authorization required page (sends a 401, causing the browser to request login credentials) */ void authorization_required(void) { wcsession *WCC = WC; const char *message = ""; hprintf("HTTP/1.1 401 Authorization Required\r\n"); hprintf( "Server: %s / %s\r\n" "Connection: close\r\n", PACKAGE_STRING, ChrPtr(WC->serv_info->serv_software) ); hprintf("WWW-Authenticate: Basic realm=\"%s\"\r\n", ChrPtr(WC->serv_info->serv_humannode)); /* if this is a false cookie authentication, remove it to avoid endless loops. */ if (StrLength(WCC->Hdr->HR.RawCookie) > 0) stuff_to_cookie(1); hprintf("Content-Type: text/html\r\n"); begin_burst(); wc_printf("

    "); wc_printf(_("Authorization Required")); wc_printf("

    \r\n"); if (WCC->ImportantMsg != NULL) { message = ChrPtr(WCC->ImportantMsg); } wc_printf( _("The resource you requested requires a valid username and password. " "You could not be logged in: %s\n"), message ); wDumpContent(0); } /* * Convenience functions to wrap around asynchronous ajax responses */ void begin_ajax_response(void) { wcsession *WCC = WC; FlushStrBuf(WCC->HBuf); output_headers(0, 0, 0, 0, 0, 0); hprintf("Content-type: text/html; charset=UTF-8\r\n" "Server: %s\r\n" "Connection: close\r\n" , PACKAGE_STRING); begin_burst(); } /* * print ajax response footer */ void end_ajax_response(void) { wDumpContent(0); } /* * Wraps a Citadel server command in an AJAX transaction. */ void ajax_servcmd(void) { wcsession *WCC = WC; int Done = 0; StrBuf *Buf; char *junk; size_t len; if (verbose) syslog(LOG_DEBUG, "ajax_servcmd() g_cmd=\"%s\"", bstr("g_cmd") ); begin_ajax_response(); Buf = NewStrBuf(); serv_puts(bstr("g_cmd")); StrBuf_ServGetln(Buf); StrBufAppendBuf(WCC->WBuf, Buf, 0); StrBufAppendBufPlain(WCC->WBuf, HKEY("\n"), 0); switch (GetServerStatus(Buf, NULL)) { case 8: serv_puts("\n\n000"); if ( (StrLength(Buf)==3) && !strcmp(ChrPtr(Buf), "000")) { StrBufAppendBufPlain(WCC->WBuf, HKEY("\000"), 0); break; } case 1: while (!Done) { if (StrBuf_ServGetln(Buf) < 0) break; if ( (StrLength(Buf)==3) && !strcmp(ChrPtr(Buf), "000")) { Done = 1; } StrBufAppendBuf(WCC->WBuf, Buf, 0); StrBufAppendBufPlain(WCC->WBuf, HKEY("\n"), 0); } break; case 4: text_to_server(bstr("g_input")); serv_puts("000"); break; case 6: len = atol(&ChrPtr(Buf)[4]); StrBuf_ServGetBLOBBuffered(Buf, len); break; case 7: len = atol(&ChrPtr(Buf)[4]); junk = malloc(len); memset(junk, 0, len); serv_write(junk, len); free(junk); } end_ajax_response(); /* * This is kind of an ugly hack, but this is the only place it can go. * If the command was GEXP, then the instant messenger window must be * running, so reset the "last_pager_check" watchdog timer so * that page_popup() doesn't try to open it a second time. TODO: page_popup isn't with us anymore. */ if (!strncasecmp(bstr("g_cmd"), "GEXP", 4)) { WCC->last_pager_check = time(NULL); } FreeStrBuf(&Buf); } /* * Helper function for the asynchronous check to see if we need * to open the instant messenger window. */ void seconds_since_last_gexp(void) { char buf[256]; if ( (time(NULL) - WC->last_pager_check) < 30) { wc_printf("NO\n"); } else { memset(buf, 0, 5); serv_puts("NOOP"); serv_getln(buf, sizeof buf); if (buf[3] == '*') { wc_printf("YES"); } else { wc_printf("NO"); } } } /* * Save a URL destination so we can go to it later */ void push_destination(void) { wcsession *WCC = WC; if (!WCC) { wc_printf("no session"); return; } FreeStrBuf(&WCC->PushedDestination); WCC->PushedDestination = NewStrBufDup(SBSTR("url")); if (verbose) syslog(LOG_DEBUG, "Push: %s", ChrPtr(WCC->PushedDestination)); wc_printf("OK"); } /* * Go to the URL saved by push_destination() */ void pop_destination(void) { wcsession *WCC = WC; /* * If we are in the middle of a new user signup, the server may request that * we first pass through a registration screen. */ if ((WCC) && (WCC->need_regi)) { if ((WCC->PushedDestination != NULL) && (StrLength(WCC->PushedDestination) > 0)) { /* Registering will take us to the My Citadel Config room, so save our place */ StrBufAppendBufPlain(WCC->PushedDestination, HKEY("?go="), 0); StrBufUrlescAppend(WCC->PushedDestination, WCC->CurRoom.name, NULL); } WCC->need_regi = 0; display_reg(1); return; } /* * Do something reasonable if we somehow ended up requesting a pop without * having first done a push. */ if ( (!WCC) || (WCC->PushedDestination == NULL) || (StrLength(WCC->PushedDestination) == 0) ) { do_welcome(); return; } /* * All righty then! We have a destination saved, so go there now. */ if (verbose) syslog(LOG_DEBUG, "Pop: %s", ChrPtr(WCC->PushedDestination)); http_redirect(ChrPtr(WCC->PushedDestination)); } int ReadPostData(void) { int rc; int urlencoded_post = 0; wcsession *WCC = WC; StrBuf *content = NULL; urlencoded_post = (strncasecmp(ChrPtr(WCC->Hdr->HR.ContentType), "application/x-www-form-urlencoded", 33) == 0) ; content = NewStrBufPlain(NULL, WCC->Hdr->HR.ContentLength + 256); if (!urlencoded_post) { StrBufPrintf(content, "Content-type: %s\n" "Content-length: %ld\n\n", ChrPtr(WCC->Hdr->HR.ContentType), WCC->Hdr->HR.ContentLength); } /** Read the entire input data at once. */ rc = client_read_to(WCC->Hdr, content, WCC->Hdr->HR.ContentLength, SLEEPING); if (rc < 0) return rc; if (urlencoded_post) { ParseURLParams(content); } else if (!strncasecmp(ChrPtr(WCC->Hdr->HR.ContentType), "multipart", 9)) { char *Buf; char *BufEnd; long len; len = StrLength(content); Buf = SmashStrBuf(&content); BufEnd = Buf + len; mime_parser(Buf, BufEnd, *upload_handler, NULL, NULL, NULL, 0); free(Buf); } else if (WCC->Hdr->HR.ContentLength > 0) { WCC->upload = content; WCC->upload_length = StrLength(WCC->upload); content = NULL; } FreeStrBuf(&content); return 1; } int Conditional_REST_DEPTH(StrBuf *Target, WCTemplputParams *TP) { long Depth, IsDepth; long offset = 0; wcsession *WCC = WC; if (WCC->Hdr->HR.Handler != NULL) offset ++; Depth = GetTemplateTokenNumber(Target, TP, 2, 0); IsDepth = GetCount(WCC->Directory) + offset; // LogTemplateError(Target, "bla", 1, TP, "REST_DEPTH: %ld : %ld\n", Depth, IsDepth); if (Depth < 0) { Depth = -Depth; return IsDepth > Depth; } else return Depth == IsDepth; } /* * Entry point for WebCit transaction */ void session_loop(void) { int xhttp; StrBuf *Buf; /* * We stuff these with the values coming from the client cookies, * so we can use them to reconnect a timed out session if we have to. */ wcsession *WCC; WCC= WC; WCC->upload_length = 0; WCC->upload = NULL; WCC->Hdr->nWildfireHeaders = 0; if (WCC->Hdr->HR.ContentLength > 0) { if (ReadPostData() < 0) { return; } } Buf = NewStrBuf(); WCC->trailing_javascript = NewStrBuf(); /* Convert base64-encoded URL's back to plain text */ if (!strncmp(ChrPtr(WCC->Hdr->this_page), "/B64", 4)) { StrBufCutLeft(WCC->Hdr->this_page, 4); StrBufDecodeBase64(WCC->Hdr->this_page); http_redirect(ChrPtr(WCC->Hdr->this_page)); goto SKIP_ALL_THIS_CRAP; } /* If there are variables in the URL, we must grab them now */ if (WCC->Hdr->PlainArgs != NULL) ParseURLParams(WCC->Hdr->PlainArgs); /* If the client sent a nonce that is incorrect, kill the request. */ if (havebstr("nonce")) { if (verbose) syslog(LOG_DEBUG, "Comparing supplied nonce %s to session nonce %d", bstr("nonce"), WCC->nonce ); if (ibstr("nonce") != WCC->nonce) { syslog(LOG_INFO, "Ignoring request with mismatched nonce."); hprintf("HTTP/1.1 404 Security check failed\r\n"); hprintf("Content-Type: text/plain\r\n"); begin_burst(); wc_printf("Security check failed.\r\n"); end_burst(); goto SKIP_ALL_THIS_CRAP; } } /* * If we're not connected to a Citadel server, try to hook up the connection now. */ if (!WCC->connected) { if (GetConnected()) { hprintf("HTTP/1.1 503 Service Unavailable\r\n"); hprintf("Content-Type: text/html\r\n"); begin_burst(); wc_printf("503 Service Unavailable\n"); wc_printf(_("This program was unable to connect or stay " "connected to the Citadel server. Please report " "this problem to your system administrator.") ); wc_printf("
    "); wc_printf("%s", _("Read More...") ); wc_printf("\n"); end_burst(); goto SKIP_ALL_THIS_CRAP; } } /* * If we're not logged in, but we have authentication data (either from * a cookie or from http-auth), try logging in to Citadel using that. */ if ( (!WCC->logged_in) && (StrLength(WCC->Hdr->c_username) > 0) && (StrLength(WCC->Hdr->c_password) > 0) ) { long Status; FlushStrBuf(Buf); serv_printf("USER %s", ChrPtr(WCC->Hdr->c_username)); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, &Status) == 3) { serv_printf("PASS %s", ChrPtr(WCC->Hdr->c_password)); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 2) { become_logged_in(WCC->Hdr->c_username, WCC->Hdr->c_password, Buf); } else { /* Should only display when password is wrong */ WCC->ImportantMsg = NewStrBufPlain(ChrPtr(Buf) + 4, StrLength(Buf) - 4); authorization_required(); FreeStrBuf(&Buf); goto SKIP_ALL_THIS_CRAP; } } else if (Status == 541) { WCC->logged_in = 1; } } xhttp = (WCC->Hdr->HR.eReqType != eGET) && (WCC->Hdr->HR.eReqType != ePOST) && (WCC->Hdr->HR.eReqType != eHEAD); /* * If a 'go' (or 'gotofirst') parameter has been specified, attempt to goto that room * prior to doing anything else. */ if (havebstr("go")) { int ret; if (verbose) syslog(LOG_DEBUG, "Explicit room selection: %s", bstr("go")); ret = gotoroom(sbstr("go")); /* do quietly to avoid session output! */ if ((ret/100) != 2) { if (verbose) syslog(LOG_DEBUG, "Unable to change to [%s]; Reason: %d", bstr("go"), ret); } } else if (havebstr("gotofirst")) { int ret; if (verbose) syslog(LOG_DEBUG, "Explicit room selection: %s", bstr("gotofirst")); ret = gotoroom(sbstr("gotofirst")); /* do quietly to avoid session output! */ if ((ret/100) != 2) { syslog(LOG_INFO, "Unable to change to [%s]; Reason: %d", bstr("gotofirst"), ret); } } /* * If we aren't in any room yet, but we have cookie data telling us where we're * supposed to be, and 'go' was not specified, then go there. */ else if ( (StrLength(WCC->CurRoom.name) == 0) && ( (StrLength(WCC->Hdr->c_roomname) > 0) )) { int ret; if (verbose) syslog(LOG_DEBUG, "We are in '%s' but cookie indicates '%s', going there...", ChrPtr(WCC->CurRoom.name), ChrPtr(WCC->Hdr->c_roomname) ); ret = gotoroom(WCC->Hdr->c_roomname); /* do quietly to avoid session output! */ if ((ret/100) != 2) { if (verbose) syslog(LOG_DEBUG, "COOKIEGOTO: Unable to change to [%s]; Reason: %d", ChrPtr(WCC->Hdr->c_roomname), ret); } } if (WCC->Hdr->HR.Handler != NULL) { if ( (!WCC->logged_in) && ((WCC->Hdr->HR.Handler->Flags & ANONYMOUS) == 0) && (WCC->serv_info != NULL) && (WCC->serv_info->serv_supports_guest == 0) ) { display_login(); } else { if ((WCC->Hdr->HR.Handler->Flags & AJAX) != 0) { begin_ajax_response(); } WCC->Hdr->HR.Handler->F(); if ((WCC->Hdr->HR.Handler->Flags & AJAX) != 0) { end_ajax_response(); } } } /* When all else fails, display the default landing page or a main menu. */ else { /* * ordinary browser users get a nice login screen, DAV etc. requsets * are given a 401 so they can handle it appropriate. */ if (!WCC->logged_in) { if (xhttp) { authorization_required(); } else { display_default_landing_page(); } } /* * Toplevel dav requests? or just a flat browser request? */ else { if (xhttp) { dav_main(); } else { display_main_menu(); } } } SKIP_ALL_THIS_CRAP: FreeStrBuf(&Buf); fflush(stdout); } /* * Display the appropriate landing page for this site. */ void display_default_landing_page(void) { wcsession *WCC = WC; if (WCC && WCC->serv_info && WCC->serv_info->serv_supports_guest) { /* default action */ if (havebstr("go")) { if (verbose) syslog(LOG_DEBUG, "Explicit room selection: %s", bstr("go")); smart_goto(sbstr("go")); } else if (default_landing_page) { http_redirect(default_landing_page); } else { StrBuf *teh_lobby = NewStrBufPlain(HKEY("_BASEROOM_")); smart_goto(teh_lobby); FreeStrBuf(&teh_lobby); } } else { display_login(); } } /* * Replacement for sleep() that uses select() in order to avoid SIGALRM */ void sleeeeeeeeeep(int seconds) { struct timeval tv; tv.tv_sec = seconds; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); } int Conditional_IS_HTTPS(StrBuf *Target, WCTemplputParams *TP) { return is_https != 0; } void AppendImportantMessage(const char *pch, long len) { wcsession *WCC = WC; if (StrLength(WCC->ImportantMsg) > 0) { StrBufAppendBufPlain(WCC->ImportantMsg, HKEY("\n"), 0); } StrBufAppendBufPlain(WCC->ImportantMsg, pch, len, 0); } int ConditionalImportantMesage(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if (WCC != NULL) return (StrLength(WCC->ImportantMsg) > 0); else return 0; } void tmplput_importantmessage(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if (WCC != NULL) { if (StrLength(WCC->ImportantMsg) > 0) { StrEscAppend(Target, WCC->ImportantMsg, NULL, 0, 0); } } } void tmplput_trailing_javascript(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; if (WCC != NULL) StrBufAppendTemplate(Target, TP, WCC->trailing_javascript, 0); } void tmplput_csslocal(StrBuf *Target, WCTemplputParams *TP) { StrBufAppendBuf(Target, csslocal, 0); } void tmplput_packagestring(StrBuf *Target, WCTemplputParams *TP) { StrBufAppendBufPlain(Target, HKEY(PACKAGE_STRING), 0); } extern char static_local_dir[PATH_MAX]; void InitModule_WEBCIT (void) { char dir[SIZ]; WebcitAddUrlHandler(HKEY("blank"), "", 0, blank_page, ANONYMOUS|COOKIEUNNEEDED|ISSTATIC); WebcitAddUrlHandler(HKEY("landing"), "", 0, display_default_landing_page, ANONYMOUS|COOKIEUNNEEDED); WebcitAddUrlHandler(HKEY("do_template"), "", 0, url_do_template, ANONYMOUS); WebcitAddUrlHandler(HKEY("sslg"), "", 0, seconds_since_last_gexp, AJAX|LOGCHATTY); WebcitAddUrlHandler(HKEY("ajax_servcmd"), "", 0, ajax_servcmd, 0); WebcitAddUrlHandler(HKEY("webcit"), "", 0, blank_page, URLNAMESPACE); WebcitAddUrlHandler(HKEY("push"), "", 0, push_destination, AJAX); WebcitAddUrlHandler(HKEY("pop"), "", 0, pop_destination, 0); WebcitAddUrlHandler(HKEY("401"), "", 0, authorization_required, ANONYMOUS|COOKIEUNNEEDED); RegisterConditional("COND:IMPMSG", 0, ConditionalImportantMesage, CTX_NONE); RegisterConditional("COND:REST:DEPTH", 0, Conditional_REST_DEPTH, CTX_NONE); RegisterConditional("COND:IS_HTTPS", 0, Conditional_IS_HTTPS, CTX_NONE); RegisterNamespace("CSSLOCAL", 0, 0, tmplput_csslocal, NULL, CTX_NONE); RegisterNamespace("IMPORTANTMESSAGE", 0, 0, tmplput_importantmessage, NULL, CTX_NONE); RegisterNamespace("TRAILING_JAVASCRIPT", 0, 0, tmplput_trailing_javascript, NULL, CTX_NONE); RegisterNamespace("URL:DISPLAYNAME", 0, 1, tmplput_HANDLER_DISPLAYNAME, NULL, CTX_NONE); RegisterNamespace("PACKAGESTRING", 0, 1, tmplput_packagestring, NULL, CTX_NONE); snprintf(dir, SIZ, "%s/webcit.css", static_local_dir); if (!access(dir, R_OK)) { syslog(LOG_INFO, "Using local Stylesheet [%s]", dir); csslocal = NewStrBufPlain(HKEY("")); } else syslog(LOG_INFO, "No Site-local Stylesheet [%s] installed.", dir); } void ServerStartModule_WEBCIT (void) { HandlerHash = NewHash(1, NULL); } void ServerShutdownModule_WEBCIT (void) { FreeStrBuf(&csslocal); DeleteHash(&HandlerHash); } void SessionNewModule_WEBCIT (wcsession *sess) { sess->ImportantMsg = NewStrBuf(); sess->WBuf = NewStrBufPlain(NULL, SIZ * 4); sess->HBuf = NewStrBufPlain(NULL, SIZ / 4); } void SessionDetachModule_WEBCIT (wcsession *sess) { DeleteHash(&sess->Directory); FreeStrBuf(&sess->upload); sess->upload_length = 0; FreeStrBuf(&sess->trailing_javascript); if (StrLength(sess->WBuf) > SIZ * 30) /* Bigger than 120K? release. */ { FreeStrBuf(&sess->WBuf); sess->WBuf = NewStrBuf(); } else FlushStrBuf(sess->WBuf); FlushStrBuf(sess->HBuf); if (StrLength(sess->ImportantMsg) > 0) { FlushStrBuf(sess->ImportantMsg); } } void SessionDestroyModule_WEBCIT (wcsession *sess) { FreeStrBuf(&sess->WBuf); FreeStrBuf(&sess->HBuf); FreeStrBuf(&sess->ImportantMsg); FreeStrBuf(&sess->PushedDestination); } webcit-9.01-dfsg/webcit.h000066400000000000000000000546551254743150300153120ustar00rootroot00000000000000/* * Copyright (c) 1987-2015 by the citadel.org team * * This program is open source software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3. * * 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. */ #include "sysdep.h" #include #include #include #ifdef HAVE_UNISTD_H #include #endif #include #ifdef HAVE_FCNTL_H #include #endif #include #include #include #include #include #ifdef HAVE_LIMITS_H #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef HAVE_ICONV #include #endif #ifdef ENABLE_NLS #ifdef HAVE_XLOCALE_H #include #endif #include #include #define _(string) gettext(string) #else #define _(string) (string) #endif #define DO_DBG_QR 0 #define DBG_QR(x) if(DO_DBG_QR) _DBG_QR(x) #define DBG_QR2(x) if(DO_DBG_QR) _DBG_QR2(x) #include #include #undef PACKAGE #undef VERSION #undef PACKAGE_NAME #undef PACKAGE_STRING #undef PACKAGE_TARNAME #undef PACKAGE_VERSION #undef PACKAGE_BUGREPORT typedef struct wcsession wcsession; #include "sysdep.h" #include "subst.h" #include "messages.h" #include "paramhandling.h" #include "roomops.h" #include "preferences.h" #include "tcp_sockets.h" #include "utils.h" #ifdef HAVE_OPENSSL /* Work around RedHat's b0rken OpenSSL includes */ #define OPENSSL_NO_KRB5 #include #include #include extern char *ssl_cipher_list; #define DEFAULT_SSL_CIPHER_LIST "DEFAULT" /* See http://openssl.org/docs/apps/ciphers.html */ #endif #if SIZEOF_SIZE_T == SIZEOF_INT #define SIZE_T_FMT "%d" #else #define SIZE_T_FMT "%ld" #endif #if SIZEOF_LONG_UNSIGNED_INT == SIZEOF_INT #define ULONG_FMT "%d" #else #define ULONG_FMT "%ld" #endif #define CALENDAR_ROOM_NAME "Calendar" #define PRODID "-//Citadel//NONSGML Citadel Calendar//EN" #define SIZ 4096 /* generic buffer size */ #define TRACE syslog(LOG_DEBUG, "\033[3%dmCHECKPOINT: %s:%d\033[0m", ((__LINE__%6)+1), __FILE__, __LINE__) #ifdef UNDEF_MEMCPY #undef memcpy #endif #define SLEEPING 180 /* TCP connection timeout */ #define WEBCIT_TIMEOUT 900 /* WebCit session timeout */ #define PORT_NUM 2000 /* port number to listen on */ #define DEVELOPER_ID 0 #define CLIENT_ID 4 #define CLIENT_VERSION 901 /* This version of WebCit */ #define MINIMUM_CIT_VERSION 901 /* Minimum required version of Citadel server */ #define LIBCITADEL_MIN 901 /* Minimum required version of libcitadel */ #define DEFAULT_HOST "localhost" /* Default Citadel server */ #define DEFAULT_PORT "504" #define TARGET "webcit01" /* Window target for inline URL's */ #define HOUSEKEEPING 15 /* Housekeeping frequency */ #define MAX_WORKER_THREADS 250 #define LISTEN_QUEUE_LENGTH 100 /* listen() backlog queue */ #define USERCONFIGROOM "My Citadel Config" #define DEFAULT_MAXMSGS 20 #ifdef LIBCITADEL_VERSION_NUMBER #if LIBCITADEL_VERSION_NUMBER < LIBCITADEL_MIN #error libcitadel is too old. Please upgrade it before continuing. #endif #endif #define SRV_STATUS_MSG(ServerLineBuf) (ChrPtr(ServerLineBuf) + 4), (StrLength(ServerLineBuf) - 4) #define MAJORCODE(a) (((int)(a / 100) ) * 100) #define LISTING_FOLLOWS 100 #define CIT_OK 200 #define MORE_DATA 300 #define SEND_LISTING 400 #define ERROR 500 #define BINARY_FOLLOWS 600 #define SEND_BINARY 700 #define START_CHAT_MODE 800 #define ASYNC_MSG 900 #define MINORCODE(a) (a % 100) #define ASYNC_GEXP 02 #define INTERNAL_ERROR 10 #define TOO_BIG 11 #define ILLEGAL_VALUE 12 #define NOT_LOGGED_IN 20 #define CMD_NOT_SUPPORTED 30 #define SERVER_SHUTTING_DOWN 31 #define PASSWORD_REQUIRED 40 #define ALREADY_LOGGED_IN 41 #define USERNAME_REQUIRED 42 #define HIGHER_ACCESS_REQUIRED 50 #define MAX_SESSIONS_EXCEEDED 51 #define RESOURCE_BUSY 52 #define RESOURCE_NOT_OPEN 53 #define NOT_HERE 60 #define INVALID_FLOOR_OPERATION 61 #define NO_SUCH_USER 70 #define FILE_NOT_FOUND 71 #define ROOM_NOT_FOUND 72 #define NO_SUCH_SYSTEM 73 #define ALREADY_EXISTS 74 #define MESSAGE_NOT_FOUND 75 /* * NLI is the string that shows up in a who's online listing for sessions * that are active but do not (yet) have a user logged in. */ #define NLI "(not logged in)" /* * Expiry policy for the autopurger */ #define EXPIRE_NEXTLEVEL 0 /* Inherit expiration policy */ #define EXPIRE_MANUAL 1 /* Don't expire messages at all */ #define EXPIRE_NUMMSGS 2 /* Keep only latest n messages */ #define EXPIRE_AGE 3 /* Expire messages after n days */ typedef struct __ExpirePolicy { int expire_mode; int expire_value; } ExpirePolicy; void LoadExpirePolicy(GPEXWhichPolicy which); void SaveExpirePolicyFromHTTP(GPEXWhichPolicy which); /* * Linked list of session variables encoded in an x-www-urlencoded content type */ typedef struct urlcontent urlcontent; struct urlcontent { char url_key[32]; /* key */ StrBuf *url_data; /* value */ }; /* * Information about the Citadel server to which we are connected */ typedef struct _serv_info { int serv_pid; /* Process ID of the Citadel server */ StrBuf *serv_nodename; /* Node name of the Citadel server */ StrBuf *serv_humannode; /* Juman readable node name of the Citadel server */ StrBuf *serv_fqdn; /* Fully qualified Domain Name (such as uncensored.citadel.org) */ StrBuf *serv_software; /* Free form text description of the server software in use */ int serv_rev_level; /* Server version number (times 100) */ StrBuf *serv_bbs_city; /* Geographic location of the Citadel server */ StrBuf *serv_sysadm; /* Name of system administrator */ int serv_supports_ldap; /* is the server linked against an ldap tree for adresses? */ int serv_newuser_disabled; /* Has the server disabled self-service new user creation? */ StrBuf *serv_default_cal_zone; /* Default timezone for unspecified calendar items */ int serv_supports_sieve; /* Server supports Sieve mail filtering */ int serv_fulltext_enabled; /* Full text index is enabled */ StrBuf *serv_svn_revision; /* svn or git revision of the server */ int serv_supports_openid; /* Server supports authentication via OpenID */ int serv_supports_guest; /* Server supports unauthenticated guest logins */ } ServInfo; typedef struct _disp_cal { icalcomponent *cal; /* cal items for display */ long cal_msgnum; /* cal msgids for display */ char *from; /* owner of this component */ int unread; /* already seen by the user? */ time_t event_start; time_t event_end; int multi_day_event; int is_repeat; icalcomponent *SortBy; /* cal items for display */ icalproperty_status Status; } disp_cal; typedef struct _IcalKindEnumMap { const char *Name; long NameLen; icalproperty_kind map; } IcalKindEnumMap; typedef struct _IcalMethodEnumMap { const char *Name; long NameLen; icalproperty_method map; } IcalMethodEnumMap; /* * Address book entry (keep it short and sweet, it's just a quickie lookup * which we can use to get to the real meat and bones later) */ typedef struct _addrbookent { char ab_name[64]; /* name string */ long ab_msgnum; /* message number of address book entry */ } addrbookent; #define AJAX (1<<0) #define ANONYMOUS (1<<1) #define NEED_URL (1<<2) #define XHTTP_COMMANDS (1<<3) #define BOGUS (1<<4) #define URLNAMESPACE (1<<4) #define LOGCHATTY (1<<5) #define COOKIEUNNEEDED (1<<6) #define ISSTATIC (1<<7) #define FORCE_SESSIONCLOSE (1<<8) #define PARSE_REST_URL (1<<9) #define PROHIBIT_STARTPAGE (1<<10) #define DATEFMT_FULL 0 #define DATEFMT_BRIEF 1 #define DATEFMT_RAWDATE 2 #define DATEFMT_LOCALEDATE 3 long webcit_fmt_date(char *buf, size_t siz, time_t thetime, int Format); typedef enum _RESTDispatchID { ExistsID, PutID, DeleteID } RESTDispatchID; typedef int (*WebcitRESTDispatchID)(RESTDispatchID WhichAction, int IgnoreFloor); typedef void (*WebcitHandlerFunc)(void); typedef struct _WebcitHandler{ WebcitHandlerFunc F; WebcitRESTDispatchID RID; long Flags; StrBuf *Name; StrBuf *DisplayName; } WebcitHandler; void WebcitAddUrlHandler(const char * UrlString, long UrlSLen, const char *DisplayName, long dslen, WebcitHandlerFunc F, long Flags); typedef struct _headereval { ExamineMsgHeaderFunc evaluator; int Type; } headereval; struct attach_link { char partnum[32]; char html[1024]; }; enum { eUp, eDown, eNone }; enum { eGET, ePOST, eOPTIONS, ePROPFIND, ePUT, eDELETE, eHEAD, eMOVE, eCOPY, eREPORT, eNONE }; extern const char *ReqStrs[eNONE]; #define NO_AUTH 0 #define AUTH_COOKIE 1 #define AUTH_BASIC 2 typedef struct _HdrRefs { long eReqType; /* HTTP method */ int desired_session; int SessionKey; int got_auth; int DontNeedAuth; long ContentLength; time_t if_modified_since; int gzip_ok; /* Nonzero if Accept-encoding: gzip */ int prohibit_caching; int dav_depth; int Static; /* these are references into Hdr->HTTPHeaders, so we don't need to free them. */ StrBuf *ContentType; StrBuf *RawCookie; StrBuf *ReqLine; StrBuf *browser_host; StrBuf *browser_language; StrBuf *user_agent; StrBuf *plainauth; StrBuf *dav_ifmatch; const WebcitHandler *Handler; } HdrRefs; typedef struct _ParsedHttpHdrs { int http_sock; /* HTTP server socket */ long HaveRange; long RangeStart; long RangeTil; long TotalBytes; const char *Pos; StrBuf *ReadBuf; StrBuf *c_username; StrBuf *c_password; StrBuf *c_roomname; StrBuf *c_language; StrBuf *this_page; /* URL of current page */ StrBuf *PlainArgs; StrBuf *HostHeader; HashList *urlstrings; /* variables passed to webcit in a URL */ HashList *HTTPHeaders; /* the headers the client sent us */ int nWildfireHeaders; /* how many wildfire headers did we already send? */ HdrRefs HR; } ParsedHttpHdrs; /* * One of these is kept for each active Citadel session. * HTTP transactions are bound to one at a time. */ struct wcsession { /* infrastructural members */ wcsession *next; /* Linked list */ pthread_mutex_t SessionMutex; /* mutex for exclusive access */ int wc_session; /* WebCit session ID */ int killthis; /* Nonzero == purge this session */ int ctdl_pid; /* Session ID on the Citadel server */ int nonce; /* session nonce (to prevent session riding) */ int inuse; /* set to nonzero if bound to a running thread */ /* Session local Members */ int serv_sock; /* Client socket to Citadel server */ StrBuf *ReadBuf; /* linebuffered reads from the server */ StrBuf *MigrateReadLineBuf; /* here we buffer legacy server read stuff */ const char *ReadPos; /* whats our read position in ReadBuf? */ int last_chat_seq; /* When in chat - last message seq# we saw */ time_t lastreq; /* Timestamp of most recent HTTP */ time_t last_pager_check; /* last time we polled for instant msgs */ ServInfo *serv_info; /* Information about the citserver we're connected to */ StrBuf *PushedDestination; /* Where to go after login, registration, etc. */ /* Request local Members */ StrBuf *CLineBuf; /* linebuffering client stuff */ ParsedHttpHdrs *Hdr; StrBuf *WBuf; /* Our output buffer */ StrBuf *HBuf; /* Our HeaderBuffer */ StrBuf *WFBuf; /* Wildfire error logging buffer */ StrBuf *trailing_javascript; /* extra javascript to be appended to page */ StrBuf *ImportantMsg; HashList *Directory; /* Parts of the directory URL in snippets */ const Floor *CurrentFloor; /* when Parsing REST, which floor are we on? */ /* accounting */ StrBuf *wc_username; /* login name of current user */ StrBuf *wc_fullname; /* Screen name of current user */ StrBuf *wc_password; /* Password of current user */ StrBuf *httpauth_pass; /* only for GroupDAV sessions */ int axlevel; /* this user's access level */ int is_aide; /* nonzero == this user is an Admin */ int connected; /* nonzero == we are connected to Citadel */ int logged_in; /* nonzero == we are logged in */ int need_regi; /* This user needs to register. */ int need_vali; /* New users require validation. */ /* Preferences */ StrBuf *cs_inet_email; /* User's preferred Internet addr. */ HashList *hash_prefs; /* WebCit preferences for this user */ StrBuf *DefaultCharset; /* Charset the user preferes */ int downloaded_prefs; /* Has the client download its prefs yet? */ int SavePrefsToServer; /* Should we save our preferences to the server at the end of the request? */ int selected_language; /* Language selected by user */ int time_format_cache; /* which timeformat does our user like? */ folder CurRoom; /* information about our current room */ const folder *ThisRoom; /* if REST found a room, remember it here. */ /* next/previous room thingabob */ struct march *march; /* march mode room list */ char ugname[128]; /* where does 'ungoto' take us */ long uglsn; /* last seen message number for ungoto */ /* Uploading; mime attachments for composing messages */ HashList *attachments; /* list of attachments for 'enter message' */ int upload_length; /* content length of http-uploaded data */ StrBuf *upload; /* pointer to http-uploaded data */ StrBuf *upload_filename; /* filename of http-uploaded data */ char upload_content_type[256]; /* content type of http-uploaded data */ int remember_new_mail; /* last count of new mail messages */ /* Roomiew control */ HashList *Floors; /* floors our citserver has hashed numeric for quicker access*/ HashList *FloorsByName; /* same but hashed by its name */ HashList *Rooms; /* our directory structure as loaded by LKRA */ HashList *summ; /* list of messages for mailbox summary view */ /** Perhaps these should be within a struct instead */ long startmsg; /* message number to start at */ long maxmsgs; /* maximum messages to display */ long num_displayed; /* number of messages actually displayed */ HashList *disp_cal_items; /* sorted list of calendar items; startdate is the sort criteria. */ char last_chat_user[256]; StrBuf *IconTheme; /* Icontheme setting */ /* Iconbar controls */ int cache_max_folders; int cache_num_floors; long *IBSettingsVec; /* which icons should be shown / not shown? */ const StrBuf *floordiv_expanded; /* which floordiv currently expanded */ int ib_wholist_expanded; int ib_roomlist_expanded; /* our known Sieve scripts; loaded by SIEVE:SCRIPTS iterator. */ HashList *KnownSieveScripts; /* Transcoding cache buffers; used to avoid to frequent realloc */ StrBuf *ConvertBuf1; StrBuf *ConvertBuf2; /* cache stuff for templates. TODO: find a smarter way */ HashList *ServCfg; /* cache our server config for editing */ HashList *InetCfg; /* Our inet server config for editing */ ExpirePolicy Policy[maxpolicy]; /* used by the blog viewer */ int bptlid; /* hash of thread currently being rendered */ }; typedef void (*Header_Evaluator)(StrBuf *Line, ParsedHttpHdrs *hdr); typedef struct _HttpHeader { Header_Evaluator H; StrBuf *Val; int HaveEvaluator; } OneHttpHeader; void RegisterHeaderHandler(const char *Name, long Len, Header_Evaluator F); enum { S_SHUTDOWN, S_SPAWNER, MAX_SEMAPHORES }; #ifndef num_parms #define num_parms(source) num_tokens(source, '|') #endif #define site_prefix (WC ? (WC->Hdr->HostHeader) : NULL) /* Per-session data */ #define WC ((struct wcsession *)pthread_getspecific(MyConKey)) extern pthread_key_t MyConKey; /* Per-thread SSL context */ #ifdef HAVE_OPENSSL #define THREADSSL ((SSL *)pthread_getspecific(ThreadSSL)) extern pthread_key_t ThreadSSL; extern char ctdl_key_dir[PATH_MAX]; extern char file_crpt_file_key[PATH_MAX]; extern char file_crpt_file_csr[PATH_MAX]; extern char file_crpt_file_cer[PATH_MAX]; void init_ssl(void); void endtls(void); void ssl_lock(int mode, int n, const char *file, int line); int starttls(int sock); extern SSL_CTX *ssl_ctx; int client_read_sslbuffer(StrBuf *buf, int timeout); int client_write_ssl(const StrBuf *Buf); #endif extern int is_https; extern int follow_xff; extern char *server_cookie; extern char *ctdlhost, *ctdlport; extern char *axdefs[]; extern int num_threads_existing; extern int num_threads_executing; extern int setup_wizard; extern char wizard_filename[]; void InitialiseSemaphores(void); void begin_critical_section(int which_one); void end_critical_section(int which_one); void CheckGZipCompressionAllowed(const char *MimeType, long MLen); extern void do_404(void); void http_redirect(const char *); #ifdef UBER_VERBOSE_DEBUGGING #define wc_printf(...) wcc_printf(__FILE__, __FUNCTION__, __LINE__, __VA_ARGS__) void wcc_printf(const char *FILE, const char *FUNCTION, long LINE, const char *format, ...); #else void wc_printf(const char *format,...)__attribute__((__format__(__printf__,1,2))); #endif void hprintf(const char *format,...)__attribute__((__format__(__printf__,1,2))); void CheckAuthBasic(ParsedHttpHdrs *hdr); void GetAuthBasic(ParsedHttpHdrs *hdr); void sleeeeeeeeeep(int); size_t wc_strftime(char *s, size_t max, const char *format, const struct tm *tm); void fmt_time(char *buf, size_t siz, time_t thetime); void httpdate(char *buf, time_t thetime); time_t httpdate_to_timestamp(StrBuf *buf); void end_webcit_session(void); void cookie_to_stuff(StrBuf *cookie, int *session, StrBuf *user, StrBuf *pass, StrBuf *room, StrBuf *language ); void locate_host(StrBuf *TBuf, int); void become_logged_in(const StrBuf *user, const StrBuf *pass, StrBuf *serv_response); void display_login(void); void display_openids(void); void display_default_landing_page(void); void do_welcome(void); void display_reg(int during_login); void display_main_menu(void); void display_aide_menu(void); void RegisterEmbeddableMimeType(const char *MimeType, long MTLen, int Priority); void CreateMimeStr(void); void pop_destination(void); void FmOut(StrBuf *Target, const char *align, const StrBuf *Source); void wDumpContent(int); void PutRequestLocalMem(void *Data, DeleteHashDataFunc DeleteIt); void output_headers( int do_httpheaders, int do_htmlhead, int do_room_banner, int unset_cookies, int suppress_check, int cache); void output_custom_content_header(const char *ctype); void cdataout(char *rawdata); void url(char *buf, size_t bufsize); void UrlizeText(StrBuf* Target, StrBuf *Source, StrBuf *WrkBuf); void display_vcard(StrBuf *Target, wc_mime_attachment *Mime, char alpha, int full, char **storename, long msgnum); void display_success(const char *successmessage); void shutdown_sessions(void); StrBuf *load_mimepart(long msgnum, char *partnum); void MimeLoadData(wc_mime_attachment *Mime); void do_edit_vcard(long msgnum, char *partnum, message_summary *VCMsg, wc_mime_attachment *VCAtt, const char *return_to, const char *force_room); void select_user_to_edit(const char *preselect); void convenience_page(const char *titlebarcolor, const char *titlebarmsg, const char *messagetext); void output_html(const char *, int, int, StrBuf *, StrBuf *); ssize_t write(int fd, const void *buf, size_t count); void cal_process_attachment(wc_mime_attachment *Mime); void begin_ajax_response(void); void end_ajax_response(void); extern char *months[]; extern char *days[]; long locate_user_vcard_in_this_room(message_summary **VCMsg, wc_mime_attachment **VCAtt); void http_transmit_thing(const char *content_type, int is_static); void http_transmit_headers(const char *content_type, int is_static, long is_chunked, int is_gzip); long unescape_input(char *buf); void check_thread_pool_size(void); void StrEndTab(StrBuf *Target, int tabnum, int num_tabs); void StrBeginTab(StrBuf *Target, int tabnum, int num_tabs, StrBuf **Names); void StrTabbedDialog(StrBuf *Target, int num_tabs, StrBuf *tabnames[]); void tabbed_dialog(int num_tabs, char *tabnames[]); void begin_tab(int tabnum, int num_tabs); void end_tab(int tabnum, int num_tabs); int get_time_format_cached (void); void display_wiki_pagelist(void); void str_wiki_index(char *); HashList *GetRoomListHashLKRA(StrBuf *Target, WCTemplputParams *TP); /* actual supported locales */ void TmplGettext(StrBuf *Target, WCTemplputParams *TP); void set_selected_language(const char *); void go_selected_language(void); void stop_selected_language(void); const char *get_selected_language(void); void utf8ify_rfc822_string(char **buf); void begin_burst(void); long end_burst(void); void AppendImportantMessage(const char *pch, long len); void http_datestring(char *buf, size_t n, time_t xtime); /* These should be empty, but we have them for testing */ #define DEFAULT_HTTPAUTH_USER "" #define DEFAULT_HTTPAUTH_PASS "" /* Exit codes 101 through 109 are initialization failures so we don't want to * just keep respawning indefinitely. */ #define WC_EXIT_BIND 101 /* Can't bind to the port */ #define WC_EXIT_SSL 102 /* Can't initialize SSL */ #define WC_TIMEFORMAT_NONE 0 #define WC_TIMEFORMAT_AMPM 1 #define WC_TIMEFORMAT_24 2 extern int time_to_die; /* Nonzero if server is shutting down */ extern int DisableGzip; /* * Array type for a blog post. The first message is the post; the rest are comments */ struct blogpost { int top_level_id; long *msgs; /* Array of msgnums for messages we are displaying */ int num_msgs; /* Number of msgnums stored in 'msgs' */ int alloc_msgs; /* Currently allocated size of array */ int unread_oments; }; /* * Data which gets returned from a call to blogview_learn_thread_references() */ struct bltr { int id; int refs; }; struct bltr blogview_learn_thread_references(long msgnum); void tmplput_blog_permalink(StrBuf *Target, WCTemplputParams *TP); void display_summary_page(void); HashList *GetValidDomainNames(StrBuf *Target, WCTemplputParams *TP); webcit-9.01-dfsg/webserver.c000066400000000000000000000245161254743150300160250ustar00rootroot00000000000000/* * Copyright (c) 1996-2015 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License version 3. * * 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. */ #include "webcit.h" #include "webserver.h" #include "modules_init.h" extern int msock; /* master listening socket */ extern char static_icon_dir[PATH_MAX]; /* where should we find our mime icons */ int is_https = 0; /* Nonzero if I am an HTTPS service */ int follow_xff = 0; /* Follow X-Forwarded-For: header? */ int DisableGzip = 0; char *default_landing_page = NULL; extern pthread_mutex_t SessionListMutex; extern pthread_key_t MyConKey; extern void *housekeeping_loop(void); extern int webcit_tcp_server(char *ip_addr, int port_number, int queue_len); extern int webcit_uds_server(char *sockpath, int queue_len); extern void graceful_shutdown_watcher(int signum); extern void graceful_shutdown(int signum); extern void start_daemon(char *pid_file); extern void webcit_calc_dirs_n_files(int relh, const char *basedir, int home, char *webcitdir, char *relhome); extern void worker_entry(void); extern void drop_root(uid_t UID); char socket_dir[PATH_MAX]; /* where to talk to our citadel server */ char *server_cookie = NULL; /* our Cookie connection to the client */ int http_port = PORT_NUM; /* Port to listen on */ char *ctdlhost = DEFAULT_HOST; /* Host name or IP address of Citadel server */ char *ctdlport = DEFAULT_PORT; /* Port number of Citadel server */ int setup_wizard = 0; /* should we run the setup wizard? */ char wizard_filename[PATH_MAX]; /* location of file containing the last webcit version against which we ran setup wizard */ int running_as_daemon = 0; /* should we deamonize on startup? */ /* #define DBG_PRINNT_HOOKS_AT_START */ #ifdef DBG_PRINNT_HOOKS_AT_START extern HashList *HandlerHash; const char foobuf[32]; const char *nix(void *vptr) {snprintf(foobuf, 32, "%0x", (long) vptr); return foobuf;} #endif extern int verbose; extern int dbg_analyze_msg; extern int dbg_backtrace_template_errors; extern int DumpTemplateI18NStrings; extern StrBuf *I18nDump; void InitTemplateCache(void); extern int LoadTemplates; void LoadMimeBlacklist(void); /* * Here's where it all begins. */ int main(int argc, char **argv) { uid_t UID = -1; size_t basesize = 2; /* how big should strbufs be on creation? */ pthread_t SessThread; /* Thread descriptor */ pthread_attr_t attr; /* Thread attributes */ int a; /* General-purpose variable */ char ip_addr[256]="*"; int relh=0; int home=0; char relhome[PATH_MAX]=""; char webcitdir[PATH_MAX] = DATADIR; char *pidfile = NULL; char *hdir; const char *basedir = NULL; char uds_listen_path[PATH_MAX]; /* listen on a unix domain socket? */ const char *I18nDumpFile = NULL; WildFireInitBacktrace(argv[0], 2); start_modules(); #ifdef DBG_PRINNT_HOOKS_AT_START /* dbg_PrintHash(HandlerHash, nix, NULL);*/ #endif /* Ensure that we are linked to the correct version of libcitadel */ if (libcitadel_version_number() < LIBCITADEL_VERSION_NUMBER) { fprintf(stderr, " You are running libcitadel version %d.%02d\n", (libcitadel_version_number() / 100), (libcitadel_version_number() % 100)); fprintf(stderr, "WebCit was compiled against version %d.%02d\n", (LIBCITADEL_VERSION_NUMBER / 100), (LIBCITADEL_VERSION_NUMBER % 100)); return(1); } strcpy(uds_listen_path, ""); /* Parse command line */ #ifdef HAVE_OPENSSL while ((a = getopt(argc, argv, "u:h:i:p:t:T:B:x:g:dD:G:cfsS:Z:v:")) != EOF) #else while ((a = getopt(argc, argv, "u:h:i:p:t:T:B:x:g:dD:G:cfZ:v:")) != EOF) #endif switch (a) { case 'u': UID = atol(optarg); break; case 'h': hdir = strdup(optarg); relh=hdir[0]!='/'; if (!relh) { safestrncpy(webcitdir, hdir, sizeof webcitdir); } else { safestrncpy(relhome, relhome, sizeof relhome); } /* free(hdir); TODO: SHOULD WE DO THIS? */ home=1; break; case 'd': running_as_daemon = 1; break; case 'D': pidfile = strdup(optarg); running_as_daemon = 1; break; case 'g': default_landing_page = strdup(optarg); break; case 'B': /* Basesize */ basesize = atoi(optarg); if (basesize > 2) StartLibCitadel(basesize); break; case 'i': safestrncpy(ip_addr, optarg, sizeof ip_addr); break; case 'p': http_port = atoi(optarg); if (http_port == 0) { safestrncpy(uds_listen_path, optarg, sizeof uds_listen_path); } break; case 't': /* no longer used, but ignored so old scripts don't break */ break; case 'T': LoadTemplates = atoi(optarg); dbg_analyze_msg = (LoadTemplates & (1<<1)) != 0; dbg_backtrace_template_errors = (LoadTemplates & (1<<2)) != 0; break; case 'Z': DisableGzip = 1; break; case 'x': /* no longer used, but ignored so old scripts don't break */ break; case 'f': follow_xff = 1; break; case 'c': server_cookie = malloc(256); if (server_cookie != NULL) { safestrncpy(server_cookie, "Set-cookie: wcserver=", 256); if (gethostname (&server_cookie[strlen(server_cookie)], 200) != 0) { syslog(LOG_INFO, "gethostname: %s", strerror(errno)); free(server_cookie); } } break; #ifdef HAVE_OPENSSL case 's': is_https = 1; break; case 'S': is_https = 1; ssl_cipher_list = strdup(optarg); break; #endif case 'G': DumpTemplateI18NStrings = 1; I18nDump = NewStrBufPlain(HKEY("int templatestrings(void)\n{\n")); I18nDumpFile = optarg; break; case 'v': verbose=1; break; default: fprintf(stderr, "usage:\nwebcit " "[-i ip_addr] [-p http_port] " "[-c] [-f] " "[-T Templatedebuglevel] " "[-d] [-Z] [-G i18ndumpfile] " "[-u uid] [-h homedirectory] " "[-D daemonizepid] [-v] " "[-g defaultlandingpage] [-B basesize] " #ifdef HAVE_OPENSSL "[-s] [-S cipher_suites]" #endif "[remotehost [remoteport]]\n"); return 1; } /* Start the logger */ openlog("webcit", ( running_as_daemon ? (LOG_PID) : (LOG_PID | LOG_PERROR) ), LOG_DAEMON ); if (optind < argc) { ctdlhost = argv[optind]; if (++optind < argc) ctdlport = argv[optind]; } /* daemonize, if we were asked to */ if (!DumpTemplateI18NStrings && running_as_daemon) { start_daemon(pidfile); } else { signal(SIGINT, graceful_shutdown); signal(SIGHUP, graceful_shutdown); } webcit_calc_dirs_n_files(relh, basedir, home, webcitdir, relhome); LoadMimeBlacklist(); LoadIconDir(static_icon_dir); /* Tell 'em who's in da house */ syslog(LOG_NOTICE, "%s", PACKAGE_STRING); syslog(LOG_NOTICE, "Copyright (C) 1996-2015 by the citadel.org team"); syslog(LOG_NOTICE, " "); syslog(LOG_NOTICE, "This program is open source software: you can redistribute it and/or"); syslog(LOG_NOTICE, "modify it under the terms of the GNU General Public License, version 3."); syslog(LOG_NOTICE, " "); syslog(LOG_NOTICE, "This program is distributed in the hope that it will be useful,"); syslog(LOG_NOTICE, "but WITHOUT ANY WARRANTY; without even the implied warranty of"); syslog(LOG_NOTICE, "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the"); syslog(LOG_NOTICE, "GNU General Public License for more details."); syslog(LOG_NOTICE, " "); /* initialize various subsystems */ initialise_modules(); initialise2_modules(); InitTemplateCache(); if (DumpTemplateI18NStrings) { FILE *fd; StrBufAppendBufPlain(I18nDump, HKEY("}\n"), 0); if (StrLength(I18nDump) < 50) { syslog(LOG_INFO, "*******************************************************************\n"); syslog(LOG_INFO, "* No strings found in templates! Are you sure they're there? *\n"); syslog(LOG_INFO, "*******************************************************************\n"); return -1; } fd = fopen(I18nDumpFile, "w"); if (fd == NULL) { syslog(LOG_INFO, "***********************************************\n"); syslog(LOG_INFO, "* unable to open I18N dumpfile [%s] *\n", I18nDumpFile); syslog(LOG_INFO, "***********************************************\n"); return -1; } fwrite(ChrPtr(I18nDump), 1, StrLength(I18nDump), fd); fclose(fd); return 0; } /* Tell libical to return an error instead of aborting if it sees badly formed iCalendar data. */ icalerror_errors_are_fatal = 0; /* Use our own prefix on tzid's generated from system tzdata */ icaltimezone_set_tzid_prefix("/citadel.org/"); /* * Set up a place to put thread-specific data. * We only need a single pointer per thread - it points to the * wcsession struct to which the thread is currently bound. */ if (pthread_key_create(&MyConKey, NULL) != 0) { syslog(LOG_EMERG, "Can't create TSD key: %s", strerror(errno)); } InitialiseSemaphores(); /* * Set up a place to put thread-specific SSL data. * We don't stick this in the wcsession struct because SSL starts * up before the session is bound, and it gets torn down between * transactions. */ #ifdef HAVE_OPENSSL if (pthread_key_create(&ThreadSSL, NULL) != 0) { syslog(LOG_EMERG, "Can't create TSD key: %s", strerror(errno)); } #endif /* * Bind the server to our favorite port. * There is no need to check for errors, because webcit_tcp_server() * exits if it doesn't succeed. */ if (!IsEmptyStr(uds_listen_path)) { syslog(LOG_DEBUG, "Attempting to create listener socket at %s...", uds_listen_path); msock = webcit_uds_server(uds_listen_path, LISTEN_QUEUE_LENGTH); } else { syslog(LOG_DEBUG, "Attempting to bind to port %d...", http_port); msock = webcit_tcp_server(ip_addr, http_port, LISTEN_QUEUE_LENGTH); } if (msock < 0) { ShutDownWebcit(); return -msock; } syslog(LOG_INFO, "Listening on socket %d", msock); signal(SIGPIPE, SIG_IGN); pthread_mutex_init(&SessionListMutex, NULL); /* * Start up the housekeeping thread */ pthread_attr_init(&attr); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); pthread_create(&SessThread, &attr, (void *(*)(void *)) housekeeping_loop, NULL); /* * If this is an HTTPS server, fire up SSL */ #ifdef HAVE_OPENSSL if (is_https) { init_ssl(); } #endif drop_root(UID); /* Become a worker thread. More worker threads will be spawned as they are needed. */ worker_entry(); ShutDownLibCitadel(); return 0; } webcit-9.01-dfsg/webserver.h000066400000000000000000000015161254743150300160250ustar00rootroot00000000000000/* * Copyright (c) 1996-2013 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ extern char *static_dirs[PATH_MAX]; /**< Web representation */ extern int ndirs; extern char socket_dir[PATH_MAX]; extern char *default_landing_page; int ClientGetLine(ParsedHttpHdrs *Hdr, StrBuf *Target); int client_read_to(ParsedHttpHdrs *Hdr, StrBuf *Target, int bytes, int timeout); void wc_backtrace(long LogLevel); void ShutDownWebcit(void); void shutdown_ssl(void); webcit-9.01-dfsg/who.c000066400000000000000000000217531254743150300146160ustar00rootroot00000000000000 #include "webcit.h" CtxType CTX_WHO = CTX_NONE; typedef struct UserStateStruct { StrBuf *UserName; StrBuf *Room; StrBuf *Host; StrBuf *UserAgent; StrBuf *RealRoom; StrBuf *RealHost; long LastActive; int Session; int Idle; int IdleSince; int SessionCount; } UserStateStruct; void DestroyUserStruct(void *vUser) { UserStateStruct *User = (UserStateStruct*) vUser; FreeStrBuf(&User->UserName); FreeStrBuf(&User->Room); FreeStrBuf(&User->Host); FreeStrBuf(&User->RealRoom); FreeStrBuf(&User->RealHost); FreeStrBuf(&User->UserAgent); free(User); } int CompareUserStruct(const void *VUser1, const void *VUser2) { const UserStateStruct *User1 = (UserStateStruct*) GetSearchPayload(VUser1); const UserStateStruct *User2 = (UserStateStruct*) GetSearchPayload(VUser2); if (User1->Idle != User2->Idle) return User1->Idle > User2->Idle; return strcasecmp(ChrPtr(User1->UserName), ChrPtr(User2->UserName)); } int GetWholistSection(HashList *List, time_t now, StrBuf *Buf, const char *FilterName, long FNLen) { wcsession *WCC = WC; UserStateStruct *User, *OldUser; void *VOldUser; size_t BufLen; const char *Pos; serv_puts("RWHO"); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 1) { while (BufLen = StrBuf_ServGetln(Buf), ((BufLen >= 0) && ((BufLen != 3) || strcmp(ChrPtr(Buf), "000")))) { if (BufLen <= 0) continue; Pos = NULL; User = (UserStateStruct*) malloc(sizeof(UserStateStruct)); User->Session = StrBufExtractNext_int(Buf, &Pos, '|'); User->UserName = NewStrBufPlain(NULL, BufLen); StrBufExtract_NextToken(User->UserName, Buf, &Pos, '|'); User->Room = NewStrBufPlain(NULL, BufLen); StrBufExtract_NextToken(User->Room, Buf, &Pos, '|'); User->Host = NewStrBufPlain(NULL, BufLen); StrBufExtract_NextToken(User->Host, Buf, &Pos, '|'); User->UserAgent = NewStrBufPlain(NULL, BufLen); StrBufExtract_NextToken(User->UserAgent, Buf, &Pos, '|'); User->LastActive = StrBufExtractNext_long(Buf, &Pos, '|'); StrBufSkip_NTokenS(Buf, &Pos, '|', 3); User->RealRoom = NewStrBufPlain(NULL, BufLen); StrBufExtract_NextToken(User->RealRoom, Buf, &Pos, '|'); User->RealHost = NewStrBufPlain(NULL, BufLen); StrBufExtract_NextToken(User->RealHost, Buf, &Pos, '|'); User->Idle = (now - User->LastActive) > 900L; User->IdleSince = (now - User->LastActive) / 60; User->SessionCount = 1; if (FilterName == NULL) { if (GetHash(List, SKEY(User->UserName), &VOldUser)) { OldUser = VOldUser; OldUser->SessionCount++; if (!User->Idle) { if (User->Session == WCC->ctdl_pid) OldUser->Session = User->Session; OldUser->Idle = User->Idle; OldUser->LastActive = User->LastActive; } DestroyUserStruct(User); } else Put(List, SKEY(User->UserName), User, DestroyUserStruct); } else { if (strcmp(FilterName, ChrPtr(User->UserName)) == 0) { Put(List, SKEY(User->UserName), User, DestroyUserStruct); } else { DestroyUserStruct(User); } } } if (FilterName == NULL) SortByPayload(List, CompareUserStruct); return 1; } else { return 0; } } /* * end session */ void terminate_session(void) { char buf[SIZ]; serv_printf("TERM %s", bstr("which_session")); serv_getln(buf, sizeof buf); url_do_template(); } /* * Change your session info (fake roomname and hostname) */ void edit_me(void) { char buf[SIZ]; output_headers(1, 0, 0, 0, 0, 0); if (havebstr("change_room_name_button")) { serv_printf("RCHG %s", bstr("fake_roomname")); serv_getln(buf, sizeof buf); do_template("who"); } else if (havebstr("change_host_name_button")) { serv_printf("HCHG %s", bstr("fake_hostname")); serv_getln(buf, sizeof buf); do_template("who"); } else if (havebstr("change_user_name_button")) { serv_printf("UCHG %s", bstr("fake_username")); serv_getln(buf, sizeof buf); do_template("who"); } else if (havebstr("cancel_button")) { do_template("who"); } else { do_template("who_edit"); } end_burst(); } void _terminate_session(void) { slrp_highest(); terminate_session(); } HashList *GetWholistHash(StrBuf *Target, WCTemplputParams *TP) { const char *ch = NULL; int HashUniq = 1; long len; StrBuf *FilterNameStr = NULL; StrBuf *Buf; HashList *List; time_t now; Buf = NewStrBuf(); serv_puts("TIME"); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 2) { const char *pos = ChrPtr(Buf) + 4; now = StrBufExtractNext_long(Buf, &pos, '|'); } else { now = time(NULL); } if (HaveTemplateTokenString(NULL, TP, 2, &ch, &len)) { FilterNameStr = NewStrBuf(); GetTemplateTokenString(FilterNameStr, TP, 2, &ch, &len); HashUniq = 0; } List = NewHash(HashUniq, NULL); GetWholistSection(List, now, Buf, ch, len); FreeStrBuf(&Buf); FreeStrBuf(&FilterNameStr); return List; } void DeleteWholistHash(HashList **KillMe) { DeleteHash(KillMe); } void tmplput_who_username(StrBuf *Target, WCTemplputParams *TP) { UserStateStruct *User = (UserStateStruct*) CTX(CTX_WHO); StrBufAppendTemplate(Target, TP, User->UserName, 0); } void tmplput_who_UserAgent(StrBuf *Target, WCTemplputParams *TP) { UserStateStruct *User = (UserStateStruct*) CTX(CTX_WHO); StrBufAppendTemplate(Target, TP, User->UserAgent, 0); } void tmplput_who_room(StrBuf *Target, WCTemplputParams *TP) { UserStateStruct *User = (UserStateStruct*) CTX(CTX_WHO); StrBufAppendTemplate(Target, TP, User->Room, 0); } void tmplput_who_host(StrBuf *Target, WCTemplputParams *TP) { UserStateStruct *User = (UserStateStruct*) CTX(CTX_WHO); StrBufAppendTemplate(Target, TP, User->Host, 0); } void tmplput_who_realroom(StrBuf *Target, WCTemplputParams *TP) { UserStateStruct *User = (UserStateStruct*) CTX(CTX_WHO); StrBufAppendTemplate(Target, TP, User->RealRoom, 0); } int conditional_who_realroom(StrBuf *Target, WCTemplputParams *TP) { UserStateStruct *User = (UserStateStruct*) CTX(CTX_WHO); return StrLength(User->RealRoom) > 0; } void tmplput_who_realhost(StrBuf *Target, WCTemplputParams *TP) { UserStateStruct *User = (UserStateStruct*) CTX(CTX_WHO); StrBufAppendTemplate(Target, TP, User->RealHost, 0); } int conditional_who_realhost(StrBuf *Target, WCTemplputParams *TP) { UserStateStruct *User = (UserStateStruct*) CTX(CTX_WHO); return StrLength(User->RealHost) > 0; } void tmplput_who_lastactive(StrBuf *Target, WCTemplputParams *TP) { UserStateStruct *User = (UserStateStruct*) CTX(CTX_WHO); StrBufAppendPrintf(Target, "%d", User->LastActive); } void tmplput_who_idlesince(StrBuf *Target, WCTemplputParams *TP) { UserStateStruct *User = (UserStateStruct*) CTX(CTX_WHO); StrBufAppendPrintf(Target, "%d", User->IdleSince); } void tmplput_who_session(StrBuf *Target, WCTemplputParams *TP) { UserStateStruct *User = (UserStateStruct*) CTX(CTX_WHO); StrBufAppendPrintf(Target, "%d", User->Session); } int conditional_who_idle(StrBuf *Target, WCTemplputParams *TP) { UserStateStruct *User = (UserStateStruct*) CTX(CTX_WHO); return User->Idle; } int conditional_who_nsessions(StrBuf *Target, WCTemplputParams *TP) { UserStateStruct *User = (UserStateStruct*) CTX(CTX_WHO); return User->SessionCount; } void tmplput_who_nsessions(StrBuf *Target, WCTemplputParams *TP) { UserStateStruct *User = (UserStateStruct*) CTX(CTX_WHO); StrBufAppendPrintf(Target, "%d", User->SessionCount); } int conditional_who_isme(StrBuf *Target, WCTemplputParams *TP) { UserStateStruct *User = (UserStateStruct*) CTX(CTX_WHO); return (User->Session == WC->ctdl_pid); } void InitModule_WHO (void) { RegisterCTX(CTX_WHO); WebcitAddUrlHandler(HKEY("terminate_session"), "", 0, _terminate_session, 0); WebcitAddUrlHandler(HKEY("edit_me"), "", 0, edit_me, 0); RegisterIterator("WHOLIST", 1, NULL, GetWholistHash, NULL, DeleteWholistHash, CTX_WHO, CTX_NONE, IT_NOFLAG); RegisterNamespace("WHO:NAME", 0, 1, tmplput_who_username, NULL, CTX_WHO); RegisterNamespace("WHO:USERAGENT", 0, 1, tmplput_who_UserAgent, NULL, CTX_WHO); RegisterNamespace("WHO:ROOM", 0, 1, tmplput_who_room, NULL, CTX_WHO); RegisterNamespace("WHO:HOST", 0, 1, tmplput_who_host, NULL, CTX_WHO); RegisterNamespace("WHO:REALROOM", 0, 1, tmplput_who_realroom, NULL, CTX_WHO); RegisterNamespace("WHO:REALHOST", 0, 1, tmplput_who_realhost, NULL, CTX_WHO); RegisterNamespace("WHO:LASTACTIVE", 0, 1, tmplput_who_lastactive, NULL, CTX_WHO); RegisterNamespace("WHO:IDLESINCE", 0, 1, tmplput_who_idlesince, NULL, CTX_WHO); RegisterNamespace("WHO:SESSION", 0, 1, tmplput_who_session, NULL, CTX_WHO); RegisterNamespace("WHO:NSESSIONS", 0, 1, tmplput_who_nsessions, NULL, CTX_WHO); RegisterNamespace("WHO:NSESSIONS", 0, 1, tmplput_who_nsessions, NULL, CTX_WHO); RegisterConditional("WHO:IDLE", 1, conditional_who_idle, CTX_WHO); RegisterConditional("WHO:NSESSIONS", 1, conditional_who_nsessions, CTX_WHO); RegisterConditional("WHO:ISME", 1, conditional_who_isme, CTX_WHO); RegisterConditional("WHO:REALROOM", 1, conditional_who_realroom, CTX_WHO); RegisterConditional("WHO:REALHOST", 1, conditional_who_realhost, CTX_WHO); } webcit-9.01-dfsg/wiki.c000066400000000000000000000217441254743150300147640ustar00rootroot00000000000000/* * Functions pertaining to rooms with a wiki view * * Copyright (c) 2009-2012 by the citadel.org team * * This program is open source software. You can redistribute it and/or * modify it under the terms of the GNU General Public License, version 3. * * 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. */ #include "webcit.h" #include "dav.h" /* * Convert a string to something suitable as a wiki index */ void str_wiki_index(char *s) { int i; if (s == NULL) return; /* First remove all non-alphanumeric characters */ for (i=0; iCurRoom.view != VIEW_WIKI) && (WCC->CurRoom.view != VIEW_WIKIMD)) { wc_printf(_("'%s' is not a Wiki room."), ChrPtr(WCC->CurRoom.name) ); return; } if (IsEmptyStr(pagename)) { strcpy(pagename, "home"); } str_wiki_index(pagename); /* convert index name to lowercase and numeric only */ if ((rev != NULL) && (strlen(rev) > 0)) { /* read an older revision */ serv_printf("WIKI rev|%s|%s|%s", pagename, rev, (do_revert ? "revert" : "fetch") ); serv_getln(buf, sizeof buf); if (buf[0] == '2') { msgnum = extract_long(&buf[4], 0); } } else { /* read the current revision */ msgnum = locate_message_by_uid(pagename); } if (msgnum >= 0L) { read_message(WCC->WBuf, HKEY("view_message"), msgnum, NULL, &Mime); return; } wc_printf("

    " "
    " "" "
    " ); wc_printf("
    "); wc_printf(_("There is no page called '%s' here."), pagename); wc_printf("

    "); wc_printf(_("Select the 'Edit this page' link in the room banner " "if you would like to create this page.")); wc_printf("

    "); wc_printf("
    \n"); } /* * Display a specific page from a wiki room */ void display_wiki_page(void) { char pagename[128]; char rev[128]; int do_revert = 0; output_headers(1, 1, 1, 0, 0, 0); safestrncpy(pagename, bstr("page"), sizeof pagename); str_wiki_index(pagename); safestrncpy(rev, bstr("rev"), sizeof rev); do_revert = atoi(bstr("revert")); display_wiki_page_backend(pagename, rev, do_revert); wDumpContent(1); } /* * Display the revision history for a wiki page (template callback) */ void tmplput_display_wiki_history(StrBuf *Target, WCTemplputParams *TP) { char pagename[128]; StrBuf *Buf; int row = 0; safestrncpy(pagename, bstr("page"), sizeof pagename); str_wiki_index(pagename); serv_printf("WIKI history|%s", pagename); Buf = NewStrBuf(); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 1) { time_t rev_date; char rev_date_displayed[64]; StrBuf *rev_uuid = NewStrBuf(); StrBuf *author = NewStrBuf(); StrBuf *node = NewStrBuf(); wc_printf(""); wc_printf("", _("Date")); wc_printf("", _("Author")); while((StrBuf_ServGetln(Buf) >= 0) && strcmp(ChrPtr(Buf), "000")) { rev_date = extract_long(ChrPtr(Buf), 1); webcit_fmt_date(rev_date_displayed, sizeof rev_date_displayed, rev_date, DATEFMT_FULL); StrBufExtract_token(author, Buf, 2, '|'); wc_printf("", ((row%2) ? "#FFFFFF" : "#DDDDDD")); wc_printf(""); if (row == 0) { wc_printf("", _("(show)")); wc_printf("", _("Current version")); } else { wc_printf("", _("(show)")); wc_printf("", bstr("page"), ChrPtr(rev_uuid), _("(revert)") ); } wc_printf("\n"); /* Extract all fields except the author and date after displaying the row. This * is deliberate, because the timestamp reflects when the diff was written, not * when the version which it reflects was written. Similarly, the name associated * with each diff is the author who created the newer version of the page that * made the diff happen. */ StrBufExtract_token(rev_uuid, Buf, 0, '|'); StrBufExtract_token(node, Buf, 3, '|'); ++row; } wc_printf("
    %s%s
    %s", rev_date_displayed); if (!strcasecmp(ChrPtr(node), (char *)WC->serv_info->serv_nodename)) { escputs(ChrPtr(author)); wc_printf(" @ "); escputs(ChrPtr(node)); } else { wc_printf(""); escputs(ChrPtr(author)); wc_printf(""); } wc_printf("%s(%s)%s%s
    \n"); FreeStrBuf(&author); FreeStrBuf(&node); FreeStrBuf(&rev_uuid); } else { wc_printf("%s", ChrPtr(Buf)); } FreeStrBuf(&Buf); } /* * Display the revision history for a wiki page */ void display_wiki_history(void) { output_headers(1, 1, 1, 0, 0, 0); do_template("wiki_history"); wDumpContent(1); } /* * Display a list of all pages in a Wiki room (template callback) */ void tmplput_display_wiki_pagelist(StrBuf *Target, WCTemplputParams *TP) { StrBuf *Buf; int row = 0; if (!IsEmptyStr(bstr("query"))) { serv_printf("MSGS SEARCH|%s||4", bstr("query")); /* search-reduced list */ } else { serv_printf("MSGS ALL|||4"); /* full list */ } Buf = NewStrBuf(); StrBuf_ServGetln(Buf); if (GetServerStatus(Buf, NULL) == 1) { StrBuf *pagetitle = NewStrBuf(); wc_printf(""); wc_printf("", _("Page title")); while((StrBuf_ServGetln(Buf) >= 0) && strcmp(ChrPtr(Buf), "000")) { StrBufExtract_token(pagetitle, Buf, 1, '|'); if (!bmstrcasestr((char *)ChrPtr(pagetitle), "_HISTORY_")) { /* no history pages */ wc_printf("", ((row%2) ? "#FFFFFF" : "#DDDDDD")); wc_printf(""); wc_printf("\n"); ++row; } } wc_printf("
    %s
    "); escputs(ChrPtr(pagetitle)); wc_printf("
    \n"); FreeStrBuf(&pagetitle); } FreeStrBuf(&Buf); } /* * Display a list of all pages in a Wiki room. Search requests in a Wiki room also go here. */ void display_wiki_pagelist(void) { output_headers(1, 1, 1, 0, 0, 0); do_template("wiki_pagelist"); wDumpContent(1); } int wiki_Cleanup(void **ViewSpecific) { char pagename[5]; safestrncpy(pagename, "home", sizeof pagename); display_wiki_page_backend(pagename, "", 0); wDumpContent(1); return 0; } int ConditionalHaveWikiPage(StrBuf *Target, WCTemplputParams *TP) { const char *page; const char *pch; long len; page = BSTR("page"); GetTemplateTokenString(Target, TP, 2, &pch, &len); return strcasecmp(page, pch) == 0; } int ConditionalHavewikiType(StrBuf *Target, WCTemplputParams *TP) { wcsession *WCC = WC; const char *pch; long len; GetTemplateTokenString(Target, TP, 2, &pch, &len); return bmstrcasestr((char *)ChrPtr(WCC->Hdr->HR.ReqLine), pch) != NULL; } int wiki_PrintHeaderPage(SharedMessageStatus *Stat, void **ViewSpecific) { /* this function was intentionaly left empty. */ return 0; } int wiki_GetParamsGetServerCall(SharedMessageStatus *Stat, void **ViewSpecific, long oper, char *cmd, long len, char *filter, long flen) { if (oper == do_search) display_wiki_pagelist(); else http_redirect("wiki?page=home"); return 300; } void InitModule_WIKI (void) { RegisterReadLoopHandlerset( VIEW_WIKI, wiki_GetParamsGetServerCall, wiki_PrintHeaderPage, NULL, NULL, NULL, NULL, wiki_Cleanup ); RegisterReadLoopHandlerset( VIEW_WIKIMD, wiki_GetParamsGetServerCall, wiki_PrintHeaderPage, NULL, NULL, NULL, NULL, wiki_Cleanup ); WebcitAddUrlHandler(HKEY("wiki"), "", 0, display_wiki_page, 0); WebcitAddUrlHandler(HKEY("wiki_history"), "", 0, display_wiki_history, 0); WebcitAddUrlHandler(HKEY("wiki_pagelist"), "", 0, display_wiki_pagelist, 0); RegisterNamespace("WIKI:DISPLAYHISTORY", 0, 0, tmplput_display_wiki_history, NULL, CTX_NONE); RegisterNamespace("WIKI:DISPLAYPAGELIST", 0, 0, tmplput_display_wiki_pagelist, NULL, CTX_NONE); RegisterConditional("COND:WIKI:PAGE", 1, ConditionalHaveWikiPage, CTX_NONE); RegisterConditional("COND:WIKI:TYPE", 1, ConditionalHavewikiType, CTX_NONE); }